Skip to content

Operational 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
  • 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)
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)]
Deployment patterns
  • 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

1. An assistant needs to search internal wikis and pull documents into context. Which primitives fit best?
2. A user wants to trigger a standardized code-review workflow from a slash command. Which primitive?
3. Under the 2026-07-28 revision, how should a new server design scope filesystem access instead of using roots?
4. When is Streamable HTTP the better transport choice over stdio?
5. A server mid-task needs a piece of structured information from the user. Which primitive?