MCP 201: The power of protocol

Introduction and Overview 00:10

  • 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.

MCP Primitives: Prompts and Resources 01:23

  • 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 and the Interaction Model 07:11

  • 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.
  • Web-based MCP servers require robust authorization (OAUTH 2.1) and scalable interactions.
  • OAUTH binds MCP server capabilities to authenticated users or online accounts, building trust and streamlining management.
  • This shift allows seamless integration in both consumer and enterprise contexts, leveraging standard sign-on and internal identity providers.
  • MCP now supports “streamable HTTP,” allowing both immediate responses and longer-lived streams for more advanced server-client communication.

What’s Next for MCP 24:13

  • Future MCP development will focus on supporting agents, including asynchronous and long-running tasks.
  • New feature: User input elicitation from MCP servers will be added imminently.
  • An official MCP server registry is planned to centralize discovery and dynamic installation.
  • Initiatives are underway for support across more programming ecosystems (e.g., inbound Ruby and Go SDKs).
  • Ongoing work is focused on improving multimodality and richer ecosystem integrations.

Closing Remarks 26:06

  • The talk concludes with encouragement to explore the full power of MCP’s protocol and an invitation to continue discussions informally.