Operational Use Cases
Representative use cases
Section titled “Representative use cases”| Use case | Typical primitives | Example |
|---|---|---|
| Developer tooling | Tools + resources | IDE assistant queries a GitHub server for issues, opens PRs |
| Enterprise knowledge access | Resources + tools | Assistant searches internal wikis, drives, and ticket systems |
| Database interaction | Tools + resources | Natural-language queries against Postgres via a DB server; schema exposed as resources |
| Workflow automation | Tools | Agent files tickets, sends messages, updates CRM records |
| Desktop/file assistance | Tools + roots Roots deprecated | Local filesystem server; directory scope now passed via tool parameters or server config |
| Web interaction | Tools | Fetch/browser servers retrieve and act on web content |
| Multi-agent systems | Tools + sampling Sampling deprecated | Orchestrator exposes agents as tools; new designs call LLM provider APIs directly |
Matching primitives to needs
Section titled “Matching primitives to needs”- Need the model to act? → Tool (model-controlled)
- Need to feed data as context? → Resource (application-driven)
- Need a user-triggered workflow? → Prompt (user-controlled)
- Server needs user input mid-task? → Elicitation
- Server needs LLM reasoning? → Sampling (deprecated in 2026-07-28; prefer direct LLM APIs)
- Need to communicate file scope? → Roots (deprecated in 2026-07-28; prefer tool params or config — and note roots were always informational, not access control)
Deployment patterns
Section titled “Deployment patterns”flowchart LR H[Host application] --> C1[Client] --> L[Local stdio server subprocess] H --> C2[Client] --> R[Remote Streamable HTTP server, OAuth 2.1] L --> FS[(Local files / dev tools)] R --> API[(SaaS / enterprise APIs)]
- Local-first: stdio servers launched as subprocesses on the user’s machine (dev tools, filesystem)
- Remote/shared: Streamable HTTP servers, typically behind OAuth 2.1 (SaaS integrations, enterprise APIs)
- Hybrid: one host mixing local and remote servers, each with its own trust level
Check your knowledge
Section titled “Check your knowledge”📝 Check your knowledge