Autentificare OAuth 2.1 & Securitatea Serverelor MCP Remote în Model Context Protocol (MCP)

Cum funcționează autentificarea standardizată OAuth 2.1 cu PKCE pentru serverele MCP găzduite în cloud și cum îți protejezi agenții împotriva atacurilor de tip Tool Poisoning.

Specificație & cod MCP
Flux OAuth 2.1 MCP Remote:
1. Client -> GET /.well-known/oauth-authorization-server
2. Deschidere browser -> Consimțământ utilizator + PKCE
3. Antet în cererile MCP: Authorization: Bearer <access_token>

Descriere & Utilizare

Pentru serverele MCP care rulează la distanță prin Streamable HTTP (de exemplu, serverele oficiale găzduite de Cloudflare, Sentry, Linear, Stripe sau serverul intern al companiei), specificația MCP standardizează autentificarea pe baza protocolului OAuth 2.1 cu PKCE.

Astfel, în loc să copiezi manual tokenuri statice în fișiere JSON, aplicația Host (Claude Code, Cursor, Claude Desktop) descoperă automat endpoint-ul de autorizare prin /.well-known/oauth-authorization-server, deschide fereastra de browser pentru login și gestionează reînnoirea tokenurilor în siguranță.

Pe partea de securitate AI, dezvoltatorii trebuie să fie atenți la Tool Poisoning și Indirect Prompt Injection: situația în care o pagină web sau un tichet extern citit printr-o unealtă MCP conține instrucțiuni ascunse care încearcă să păcălească agentul să apeleze o altă unealtă MCP (ex: exfiltrarea de date).

Cum să o reții ușor

💡 OAuth 2.1 este legitimarea cu cartelă nominală și cod PIN la intrarea în clădirea cloud, iar protecția împotriva Tool Poisoning este regula de a nu executa ordine scrise pe bilețele anonime găsite în cutia poștală.

Opțiuni și parametri tehnici

  • OAuth 2.1 + PKCE: standardul obligatoriu de autorizare pentru serverele MCP HTTP multi-utilizator.
  • Dynamic Client Registration (RFC 7591): permite clienților MCP noi să se înregistreze automat la serverul de autentificare.
  • Principiul privilegiului minim: acordă tokenului OAuth doar scope-urile strict necesare (ex: read:issues în loc de admin:repo).

Exemple practice și cazuri de utilizare

  • Autentificare OAuth din Claude Code: după ce adaugi un server HTTP cu claude mcp add --transport http ..., tastează /mcp în chat pentru a deschide fluxul de login în browser.
  • Prevenirea Tool Poisoning: nu combina în aceeași sesiune unelte care citesc conținut nefiltrat de pe internet cu unelte care au acces de scriere/ștergere în infrastructura critică fără aprobare umană.
  • Auditarea descrierilor de unelte: verifică întotdeauna codul sursă al serverelor MCP terțe înainte de a le rula cu npx.

Sfaturi de configurare & capcane

Pentru pachetele MCP terțe descărcate de pe npm sau PyPI, fixează o versiune exactă (ex: @organizatie/server@1.2.0 în loc de @latest) pentru a preveni modificarea neașteptată a comportamentului.

Comenzi și ghiduri înrudite