mcp-2025-11-25

star 2

Model Context Protocol (MCP) 2025-11-25 specification covering client-host-server architecture, JSON-RPC messaging, tools, resources, prompts, sampling, elicitation, and transports. Use when building MCP clients or servers, implementing LLM tool integrations, configuring stdio or Streamable HTTP transports, or connecting language models to external data sources.

tangledgroup By tangledgroup schedule Updated 6/11/2026

name: mcp-2025-11-25 description: Model Context Protocol (MCP) 2025-11-25 specification covering client-host-server architecture, JSON-RPC messaging, tools, resources, prompts, sampling, elicitation, and transports. Use when building MCP clients or servers, implementing LLM tool integrations, configuring stdio or Streamable HTTP transports, or connecting language models to external data sources.

Model Context Protocol (MCP) 2025-11-25

Overview

Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. It provides a standardized way to connect language models with the context they need, whether building AI-powered IDEs, enhancing chat interfaces, or creating custom AI workflows.

The protocol uses JSON-RPC 2.0 messages over stateful connections with capability negotiation between clients and servers. It takes inspiration from the Language Server Protocol (LSP) in its client-server architecture and JSON-RPC foundation, but diverges by focusing on LLM context exchange rather than language services.

Key Architecture

MCP follows a client-host-server architecture:

  • Hosts: LLM applications that initiate connections and coordinate multiple clients
  • Clients: Connectors within the host, each maintaining a 1:1 session with a server
  • Servers: Services that provide context (resources), capabilities (tools), and workflows (prompts)

The protocol is built on several design principles:

  • Servers should be extremely easy to build
  • Servers should be highly composable
  • Servers cannot read the full conversation or see into other servers
  • Features can be added progressively through capability negotiation

When to Use

  • Building MCP server implementations that expose tools, resources, or prompts
  • Developing MCP clients that connect AI applications to external services
  • Implementing stdio or Streamable HTTP transport for MCP communication
  • Integrating LLM tool calling with external APIs and data sources
  • Creating sampling flows where servers request LLM generations through clients
  • Building elicitation workflows for user input collection
  • Configuring OAuth 2.1 authorization for MCP server access
  • Implementing task-augmented requests for long-running operations

Core Concepts

Capability Negotiation

MCP uses a capability-based negotiation system. During initialization, clients and servers declare their supported features. Capabilities determine which protocol features are available during a session:

  • Server capabilities: prompts, resources, tools, logging, completions, tasks
  • Client capabilities: roots, sampling, elicitation, tasks

Both parties must respect declared capabilities throughout the session.

Content Types

MCP supports multiple content types across its features:

  • Text: Plain text messages and data
  • Image: Base64-encoded images with MIME type
  • Audio: Base64-encoded audio with MIME type
  • Resource links: References to MCP resources by URI
  • Embedded resources: Full resource content inline

Annotations

Resources, tools, prompts, and content blocks support optional annotations:

  • audience: Intended audience(s) — "user" and/or "assistant"
  • priority: Importance from 0.0 (optional) to 1.0 (required)
  • lastModified: ISO 8601 timestamp of last modification

Quick Reference

Protocol Version

2025-11-25 — the protocol version string used in initialize requests and the MCP-Protocol-Version HTTP header.

JSON-RPC Error Codes

Code Meaning
-32700 Parse error
-32600 Invalid request (e.g., non-task-augmented when required)
-32601 Method not found (capability not supported)
-32602 Invalid params
-32603 Internal error
-32002 Resource not found
-32042 URL elicitation required
-1 User rejected (sampling)

Transport Comparison

  • stdio: Client launches server as subprocess, JSON-RPC over stdin/stdout, newline-delimited. Best for local integrations.
  • Streamable HTTP: Server runs independently, client POSTs JSON-RPC messages to single endpoint, SSE for server-to-client. Supports multiple clients, session management, resumability.

Security Principles

MCP enables powerful capabilities through arbitrary data access and code execution paths. Key security principles:

  • User Consent: Users must explicitly consent to all data access and operations
  • Data Privacy: Hosts must obtain explicit user consent before exposing data to servers
  • Tool Safety: Tools represent arbitrary code execution — hosts must obtain explicit consent before invocation
  • Sampling Controls: Users must approve LLM sampling requests and control what prompts are sent
  • Token Validation: MCP servers MUST validate access tokens and MUST NOT accept tokens intended for other resources

Advanced Topics

Architecture and Design Principles: Core components, capability negotiation → Architecture

Lifecycle and Transports: Initialization, stdio, Streamable HTTP, authorization → Lifecycle & Transports

Base Utilities: Cancellation, ping, progress tracking, tasks → Base Utilities

Server Features: Tools, resources, prompts, completions, logging, pagination → Server Features

Client Features: Roots, sampling, elicitation (form and URL modes) → Client Features

Schema Reference: Complete JSON-RPC message types and data structures → Schema Reference

Authorization Extensions: Optional extensions for client credentials and enterprise authorization → See ext-auth repository

Install via CLI
npx skills add https://github.com/tangledgroup/tangled-skills --skill mcp-2025-11-25
Repository Details
star Stars 2
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator
tangledgroup
tangledgroup Explore all skills →