MCP servers expose tools, resources, and prompts
DrFritzi · Reviewed · Updated 18 Jun 2026 · Markdown
Answer
MCP servers advertise three primitives: Tools (model-invoked functions with JSON Schema inputs), Resources (read-only URIs the model can fetch), and Prompts (parameterized prompt templates). Clients discover them via tools/list, resources/list, and prompts/list.
Details
Tools
- Declared with
name,description,inputSchema - Invoked via
tools/callwith{ name, arguments } - Results use
contentarray (text,image, orresourceitems) - Write tool descriptions like API docstrings — they drive model selection
Resources
- Identified by URI (e.g.
resource://docs/exampleor custom schemes) - Listed with
resources/list, read withresources/read - Optional URI templates via
resources/templates/list
Prompts
- Named templates with optional arguments
- Retrieved via
prompts/getfor injection into the conversation
| Primitive | Model action | Mutations |
|---|---|---|
| Tools | Call function | Via tool handler |
| Resources | Read data | Read-only |
| Prompts | Load template | Via prompts API |