Anthropic a publicat Model Context Protocol ca proiect open source pe 25 noiembrie 2024, ca standard pentru conectarea asistenților AI la sistemele în care se află datele. Pe 9 decembrie 2025, Anthropic a donat MCP către Agentic AI Foundation, un fond sub Linux Foundation cofondat de Anthropic, Block și OpenAI.
Arhitectura are trei roluri. Host-ul este aplicația LLM (un IDE, o aplicație de chat, un agent de programare): creează clienții și aplică permisiunile și consimțământul. Fiecare client comunică cu exact un server. Serverele expun trei primitive: tools (controlate de model), resources (date de context, controlate de aplicație) și prompts (controlate de utilizator). Mesajele sunt JSON-RPC 2.0, iar transporturile standard sunt stdio și Streamable HTTP.
În revizia curentă a specificației, 2026-07-28, protocolul este fără stare: nu mai există handshake initialize, fiecare cerere își poartă versiunea și capabilitățile în _meta, iar clientul poate afla capabilitățile serverului cu server/discover. Serverele nu mai trimit cereri proprii; când au nevoie de input (elicitation, sampling, roots), îl cer în răspuns printr-un InputRequiredResult. Sampling, Roots și Logging sunt depreciate. Detalii în secțiunea MCP.
Concepte cheie și caracteristici
| Concept / Parametru | Descriere practică |
|---|---|
Host |
Aplicația LLM; creează clienții, aplică consimțământul și securitatea. |
Client |
Creat de host; relație 1:1 cu un server. |
Server |
Expune tools, resources și prompts; local (stdio) sau la distanță (Streamable HTTP). |
Tools |
tools/list, tools/call: funcții pe care modelul le apelează. |
Resources / Prompts |
resources/list, resources/read; prompts/list, prompts/get. |
Revizia 2026-07-28 |
Fără initialize; server/discover; input cerut prin InputRequiredResult. |
Exemple practice și scenarii reale
Exemplul 1: Fluxul unei cereri în revizia 2026-07-28
Rezumat al diagramei de negociere a capabilităților din specificație.
Client -> Server: server/discover (opțional)
Server -> Client: versiuni suportate + capabilități
Client -> Server: tools/call (cu _meta: versiune, clientCapabilities)
Server -> Client: InputRequiredResult (dacă îi trebuie input)
Client -> Server: tools/call (id nou, cu inputResponses)
Server -> Client: rezultat final
Greșeli frecvente și capcane
- Să instalezi servere din tutoriale vechi. Mai multe servere de referință (PostgreSQL, GitHub, Puppeteer, Slack și altele) au fost arhivate în
modelcontextprotocol/servers-archived; GitHub are acum serverul oficialgithub/github-mcp-server, iar pentru browser există, de exemplu,microsoft/playwright-mcp. - Să tratezi un server MCP ca pe un cod de încredere. Serverul rulează cu permisiunile tale, iar descrierile uneltelor ajung în contextul modelului; instalează doar servere verificate și aprobă apelurile sensibile.
- Să cauți
initializeîn revizia curentă. A fost eliminat în 2026-07-28; revizia anterioară (2025-11-25) îl folosește încă, iar clienții pot detecta ce variantă vorbește serverul.