Eszközök

Állapot nélküli Model Context Protocol (MCP 2.0) és három új eszköz bemutatása

A cikk főszereplője a Model Context Protocol (MCP) és a protokoll új, állapot nélküli változata, amelyet MCP 2.0 vagy hivatalos néven 2026-07-28 Model Context Protocol specifikáció néven adtak ki.

Állapot nélküli Model Context Protocol (MCP 2.0) és három új eszköz bemutatása

2026-07-28-án megjelent a Model Context Protocol (MCP) új, állapot nélküli specifikációja — a gyakorlatban MCP 2.0. Ez a legnagyobb változás a protokoll bevezetése óta; az eredeti MCP-et Anthropic vezette be 2024 novemberében, és 2025 folyamán jelentős érdeklődési hullámot váltott ki. A protokoll később részben háttérbe szorult, amikor az Anthropic Skills és általánosabb „agent harness” megközelítések bizonyultak rugalmasabbnak, de a mostani frissítés újra felébresztette a szerző érdeklődését.

A fő indok az átállás mögött, hogy a stateless MCP egyszerűsíti a kliens- és szerveroldali megvalósítást: nincs szükség szerveroldali munkamenet-azonosítók nyilvántartására, vagy arra, hogy ugyanazt a session-t ugyanarra a backend gépre irányítsuk. Ez különösen hasznos skálázható webalkalmazásoknál.

Mi változott a gyakorlatban?

A korábbi, állapotalapú MCP (a cikkben „legacy MCP”) két HTTP-kérést igényelt: egy initialize hívást, amely visszaadta a Mcp-Session-Id-t, majd egy eszközhívást, amelynél ezt a fejlécekben kellett megadni. Példaként szerepelt az initialize és az azt követő tools/call kérés.

A stateless MCP ehelyett egyetlen HTTP-kérést használ. A kliens most a kérés fejléceiben adja meg a MCP-Protocol-Version, Mcp-Method és Mcp-Name mezőket, míg a kliensinformáció (_meta.io.modelcontextprotocol/clientInfo) a kérés törzsében szerepel. A cikkben bemutatott példa a "search" eszköz meghívását mutatta be, ahol az egész folyamat egy POST /mcp kéréssel lekezelhető.

A szerző szerint ez a felépítés sokkal tisztább mind kliens-, mind szerveroldalról, és egyszerűbbé teszi a skálázást, mert nincs szükség szerveroldali munkamenet-kezelésre.

Három új eszköz és implementáció

A stateless MCP megjelenésére a szerző három saját eszközt és megvalósítást készített:

mcp-explorer (Python CLI)

A mcp-explorer egy állapot nélküli Python parancssori eszköz interaktív MCP-szerverek vizsgálatához. Nem kötelező telepíteni — a szerző uvx-vel indítva mutatta be:

uvx mcp-explorer list https://agentic-mermaid.dev/mcp

Ez az Ade Oshineye által üzemeltetett agentic-mermaid.dev demo MCP-re csatlakozott, és felsorolta az elérhető eszközöket (például execute, describe_sdk, render_svg, render_ascii, render_png stb.), rövid leírással és a paraméterekről szóló sémával.

A mcp-explorer inspect render_svg parancs részletes információt és JSON sémát ad vissza, míg a call parancs argumentumokkal meghívja a kiválasztott eszközt. A példában egy Mermaid forrást átadva a szerver SVG-t adott vissza (a nyers SVG-t jq-val kinyerve is demonstrálták).

A szerző kiemeli, hogy CLI eszköz létrehozása jó módszer a specifikáció megismerésére, még akkor is, ha egyes kódrészeket maga a szerző (Codex) generált.

datasette-mcp (Datasette plugin)

A datasette-mcp egy Datasette plugin, amely egy /-/mcp végpontot ad bármely Datasette példányhoz. A szerző több próbálkozás után a stateless MCP megjelenésével végre olyan verziót tudott kiadni, amely elégedettséggel tölti el.

A plugin jelenleg három eszközt szolgáltat: list_databases(), get_database_schema(database_name) és execute_sql(database_name, sql). Az execute_sql() egyelőre csak olvasási műveleteket enged (read-only).

A plugin révén ügynököknek, vagy chateszközöknek (például ChatGPT, Claude) lehetőséget adunk arra, hogy SQL-lekérdezéseket futtassanak a hosztolt Datasette példányon. A szerző a saját blogja Datasette-tükrén futtatja a szolgáltatást: datasette.simonwillison.net/-/mcp, és megosztott egy TIL-utasítást arról, hogyan csatolta ezt ChatGPT-hez és Claude-hoz. A példa Claude ülése egy lekérdezéssorozatot mutatott: a kérdés "what has Simon said recently about MCP?" megválaszolásához a rendszer 7 külön SQL-lekérdezést futtatott.

llm-mcp-client (alpha)

Az llm-mcp-client az LLM tool szerzőjének kísérleti MCP-integrációja. Egy korai példa futtatásakor így integrálta a Datasette MCP végpontot az llm környezetbe (példák: llm install llm-mcp-client; MCP("https://datasette.simonwillison.net/-/mcp")).

Egy demonstrációban a prompt "count the notes" kérésre a rendszer végrehajtotta a szükséges lekérdezéseket, és 151 notes eredményt adott vissza; a kimenet magában foglalta a gondolatmeneti nyomkövetést is (a szerző LLM 0.32rc2-t használt a példában).

A szerző említi, hogy a plugin további integrációk (pl. LLM core, Datasette Agent, llm-coding-agent) előtt állnak.

Biztonság és használati előnyök

A szerző korábban is foglalkozott MCP-vel kapcsolatos biztonsági aggályokkal (például a prompt injection és az adatszivárgás kockázataival), és felhívta a figyelmet arra, hogy a felhasználók által összeválogatott eszközök melletti felelősség helytelenül tolható ki a végfelhasználókra. Az általános ügynökök számára megnyitott shell és curl hozzáférés még nehezebben kezelhető biztonsági szempontból.

A szerző szerint az MCP — különösen az állapot nélküli változat — könnyebben auditálható és korlátozható. Az egyszerű, jól definiált eszközök követhetőbbek és biztonságosabbak, mint a tetszőleges parancs- és hálózati hozzáférés engedélyezése. Emiatt a szerző több érzékeny alkalmazás fejlesztéséhez tervezi az MCP használatát.

Összegzés

A 2026-07-28-i stateless MCP specifikáció jelentősen egyszerűsíti az MCP-ökoszisztéma megvalósítását és üzemeltetését. A szerző három gyakorlati eszközt mutatott be (mcp-explorer, datasette-mcp, llm-mcp-client), amelyek szemléltetik az új megközelítés előnyeit: egyszerűbb kliens-szerver kommunikáció, jobb skálázhatóság és könnyebb auditelhetőség, ami különösen fontos biztonságkritikus alkalmazásoknál.