The speaker, David from Anthropic and co-creator of MCP, sets out to showcase the broader capabilities of the MCP protocol beyond standard tool calling.
The aim is to explain MCP primitives, discuss richer interaction models, and preview upcoming developments including MCP’s move to the web.
Prompts are predefined templates for AI interactions; they allow MCP servers to expose useful context templates for users, often as code that can be dynamically generated.
Users can trigger prompts directly to add information to the context window—different from tools, where the model initiates interaction.
Prompt completion enables richer, parameterized prompts with features like autocomplete.
Resources are another primitive, focused on exposing raw data or content (e.g., files, database schemas) for applications or the user to act upon.
Resources can support advanced use cases such as retrieval augmented generation by enabling contextual embeddings.
Tools are the most familiar primitive, representing actionable functions the model can invoke.
The protocol’s three core primitives—prompts (user-driven), resources (application-driven), and tools (model-driven)—provide flexible ways to interact with MCP servers.
The interaction model organizes these primitives, ensuring data and actions can be exposed based on when and how they should appear to users or applications.
Advanced Patterns: Sampling, Chaining, and Roots 10:06
More complex MCP servers can leverage patterns like summarizing issue tracker discussions by chaining data extraction and summarization.
A key challenge: MCP servers don’t know the client’s selected AI model or have access to the user’s API keys.
The “sampling” primitive allows an MCP server to request model completions via the client, enabling secure and cost-controlled generation without direct model access.
Sampling supports recursive, composable patterns—chaining multiple MCP servers while keeping the client in control.
Roots provide a way for an MCP server to query the client/IDE for available project directories, enabling server actions to be context-aware (e.g., running git commands in open projects).
Some features like sampling and roots have limited but increasing support in current MCP clients.
Building Richer Interactions and MCP in Chat Applications 15:31
Combining all primitives, developers can create MCP servers that deeply integrate with chat applications (e.g., Discord, Slack).
Example: Use prompts for quickstart examples, resources to list or index channels, tools for reading/searching, and sampling for summarizing threads.
This approach results in richer, more user-friendly interactions compared to tool-calling alone.
MCP’s Future: Moving to the Web, Authorization, and Scaling 17:04
Most community-built MCP servers are local; the next step is making MCP servers web-accessible.