32 lines
1.7 KiB
Markdown
32 lines
1.7 KiB
Markdown
# Protocol Features
|
|
|
|
This page covers cross-cutting MCP protocol features.
|
|
|
|
## MCP Primitives
|
|
|
|
The MCP protocol defines three core primitives that servers can implement:
|
|
|
|
| Primitive | Control | Description | Example Use |
|
|
|-----------|-----------------------|-----------------------------------------------------|------------------------------|
|
|
| Prompts | User-controlled | Interactive templates invoked by user choice | Slash commands, menu options |
|
|
| Resources | Application-controlled| Contextual data managed by the client application | File contents, API responses |
|
|
| Tools | Model-controlled | Functions exposed to the LLM to take actions | API calls, data updates |
|
|
|
|
## Server Capabilities
|
|
|
|
MCP servers declare capabilities during initialization:
|
|
|
|
| Capability | Feature Flag | Description |
|
|
|--------------|------------------------------|------------------------------------|
|
|
| `prompts` | `listChanged` | Prompt template management |
|
|
| `resources` | `subscribe`<br/>`listChanged`| Resource exposure and updates |
|
|
| `tools` | `listChanged` | Tool discovery and execution |
|
|
| `logging` | - | Server logging configuration |
|
|
| `completions`| - | Argument completion suggestions |
|
|
|
|
## Pagination
|
|
|
|
For pagination details, see:
|
|
|
|
- Server-side implementation: [Building Servers - Pagination](server.md#pagination-advanced)
|
|
- Client-side consumption: [Building Servers - Client-side Consumption](server.md#client-side-consumption)
|