Specification (Draft)
Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. Whether you’re building an AI-powered IDE, enhancing a chat interface, or creating custom AI workflows, MCP provides a standardized way to connect LLMs with the context they need.
This specification defines the authoritative protocol requirements, based on the TypeScript schema in schema.ts.
For implementation guides and examples, visit modelcontextprotocol.info.
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
Overview
MCP provides a standardized way for applications to:
- Kontextinformationen mit Sprachmodellen teilen
- Werkzeuge und Fähigkeiten KI‑Systemen bereitstellen
- Komponierbare Integrationen und Workflows erstellen
The protocol uses JSON-RPC 2.0 messages to establish communication between:
- Hosts: LLM‑Anwendungen, die Verbindungen initiieren
- Clients: Konnektoren innerhalb der Host‑Anwendung
- Servers: Dienste, die Kontext und Fähigkeiten bereitstellen
MCP takes some inspiration from the Language Server Protocol, which standardizes how to add support for programming languages across a whole ecosystem of development tools. In a similar way, MCP standardizes how to integrate additional context and tools into the ecosystem of AI applications.
Key Details
Base Protocol
- Nachrichtenformat JSON‑RPC
- Zustandsbehaftete Verbindungen
- Aushandlung der Fähigkeiten zwischen Server und Client
Features
Servers offer any of the following features to clients:
- Resources: Kontext und Daten zur Nutzung durch Benutzer oder KI‑Modell
- Prompts: Vorlagenbasierte Nachrichten und Workflows für Benutzer
- Tools: Vom KI‑Modell auszuführende Funktionen
Clients may offer the following feature to servers:
- Sampling: Vom Server initiierte agentische Verhaltensweisen und rekursive LLM‑Interaktionen
Additional Utilities
- Konfiguration
- Fortschrittsverfolgung
- Abbruch
- Fehlerberichterstattung
- Protokollierung
Security and Trust & Safety
The Model Context Protocol enables powerful capabilities through arbitrary data access and code execution paths. With this power comes important security and trust considerations that all implementors must carefully address.
Key Principles
Einwilligung und Kontrolle der Benutzer
- Benutzer müssen allen Datenzugriffen und Aktionen ausdrücklich zustimmen und sie verstehen
- Benutzer behalten die Kontrolle darüber, welche Daten geteilt werden und welche Aktionen durchgeführt werden
- Implementierer sollten klare Oberflächen zum Prüfen und Autorisieren von Aktionen bereitstellen
Datenschutz
- Hosts müssen vor der Offenlegung von Benutzerdaten gegenüber Servern die ausdrückliche Zustimmung der Benutzer einholen
- Hosts dürfen Ressourcen‑Daten ohne Einwilligung der Benutzer nicht anderweitig übertragen
- Benutzerdaten sollten mit geeigneten Zugriffskontrollen geschützt werden
Tool‑Sicherheit
- Werkzeuge entsprechen beliebiger Codeausführung und müssen mit der gebotenen Vorsicht behandelt werden
- Hosts müssen vor dem Aufruf eines Werkzeugs die ausdrückliche Zustimmung der Benutzer einholen
- Benutzer sollten verstehen, was jedes Werkzeug tut, bevor sie seine Nutzung autorisieren
LLM‑Sampling‑Kontrollen
- Benutzer müssen Sampling‑Anfragen eines LLM ausdrücklich genehmigen
- Benutzer sollten kontrollieren:
- Ob Sampling überhaupt stattfindet
- Den tatsächlichen Prompt, der gesendet wird
- Welche Ergebnisse der Server sehen darf
- Das Protokoll begrenzt absichtlich die Server‑Sichtbarkeit auf Prompts
Implementation Guidelines
While MCP itself cannot enforce these security principles at the protocol level, implementors SHOULD:
- Robuste Zustimmungs‑ und Autorisierungsabläufe in Anwendungen integrieren
- Sicherheitsimplikationen klar dokumentieren
- Geeignete Zugriffskontrollen und Datenschutzmaßnahmen implementieren
- Sicherheits‑Best‑Practices in Integrationen befolgen
- Datenschutzimplikationen in der Feature‑Gestaltung berücksichtigen
Learn More
Explore the detailed specification for each protocol component: