Kereslet: A nagy modellek fejlődésével a nagy modellek megjelentek életünk minden területén, legyen az munka vagy tanulás, elválaszthatatlanok. Egy nagy modellnyelv esetén miért van szükség MCP-re? A nagy modell érthető úgy, mint az agy, de az agy önmagában nem tud segíteni nekünk, az MCP inkább egy végtag, a nagy modell pedig irányítja az MCP szolgáltatást olyan dolgokra, mint például: külső eszközök (például adatbázisok, lemezek, API-k) hívására. Megoldja azt a problémát, hogy a nagy modellek csak beszélgetni tudnak, és nem tudnak dolgokat csinálni.
MCP (Model Context Protocol)
Dokumentáció:A hiperlink bejelentkezés látható. GitHub repositoriók:A hiperlink bejelentkezés látható. MCP Eszköztár:A hiperlink bejelentkezés látható.
MCP (Model Context Protocol) egy nyílt forráskódú szabvány az MI alkalmazások külső rendszerekhez való csatlakoztatására.
Az MCP-vel olyan MI alkalmazások, mint a Claude vagy a ChatGPT, csatlakozhatnak adatforrásokhoz (pl. helyi fájlokhoz, adatbázisokhoz), eszközökhöz (pl. keresőmotorok, számológépek) és munkafolyamatokhoz (pl. speciális promptok) – lehetővé téve számukra, hogy hozzáférjenek a kritikus információkhoz és feladatokat elvégezzenek.
Gondolj az MCP-re úgy, mint egy USB-C portra AI alkalmazásokhoz. Ahogyan az USB-C szabványosított módot biztosít az elektronikus eszközök összekapcsolására, úgy az MCP is szabványosított módot kínál az AI alkalmazások külső rendszerekhez való csatlakoztatására.
Mit érhet el az MCP?
- Az ügynökök hozzáférhetnek a Google Naptáradhoz és a Notionhoz, így személyre szabottabb AI asszisztensként működnek.
- Claude Code képes egész webalkalmazásokat generálni Figma tervek segítségével.
- A vállalati chatbotok több adatbázishoz is csatlakozhatnak egy szervezeten belül, lehetővé téve a felhasználók számára, hogy chat segítségével elemezzsék az adatokat.
- Az MI modellek 3D mintákat készíthetnek Blenderrel, és 3D nyomtatóval nyomtathatják ki azokat.
Miért fontos az MCP?
Az ökoszisztéma hol része attól függően, hogy az MCP számos előnyt kínálhat.
- Fejlesztők: Az MCP csökkenti a fejlesztési időt és a bonyolultságot, amikor MI alkalmazásokat vagy ügynököket épít vagy integrál.
- MI alkalmazások vagy ügynökök: Az MCP-k hozzáférést biztosítanak egy adatforrások, eszközök és alkalmazások ökoszisztémájához, ami javítja a funkcionalitást és javítja a végfelhasználói élményt.
- Végfelhasználók: Az MCP-k hatékonyabb AI alkalmazásokat vagy ügynököket eredményezhetnek, amelyek hozzáférhetnek az adataidhoz, és szükség esetén az Ön nevében cselekednek.
MCP protokoll
Az MCP két rétegből áll:
- Adatréteg: Definiáljon egy JSON-RPC alapú kliens-szerver kommunikációs protokollt, beleértve az életciklus-menedzsmentet és az alapvető primitíveket, mint az eszközök, erőforrások, promptok és értesítések.
- Szállítási réteg: Definiálja azokat a kommunikációs mechanizmusokat és csatornákat, amelyek lehetővé teszik az ügyfél és szerver közötti adatcserét, beleértve a szállítás-specifikus kapcsolat létrehozását, az üzenetkereteket és az engedélyezést.
Fogalmilag az adatréteg a belső réteg, míg a transzportréteg a külső réteg.
Adatréteg
- Az adatréteg egy JSON-RPC 2.0-alapú kapcsolási protokollt valósít meg, amely meghatározza az üzenetszerkezetet és a szemantikát. Ez a réteg tartalmazza:
- Életciklus-menedzsment: Kezeli a kapcsolat inicializálását, a funkciók tárgyalását és a kapcsolat megszüntetését az ügyfelek és szerverek között
- Szerver funkcionalitás: Lehetővé teszi a szerver számára, hogy alapvető funkciókat biztosítson, beleértve az AI műveletekhez szükséges eszközöket, kontextuális adatokhoz szükséges erőforrásokat, valamint interaktív sablonkéréseket az ügyfelektől és az ügyfelekhez
- Kliens funkció: Lehetővé teszi a szerver számára, hogy a kliens mintavételt kérjen a host LLM-ből, bemenetet kapjon a felhasználótól, és naplózza az üzeneteket az ügyfélnek
- Hasznos funkciók: További funkciókat támogat, mint például valós idejű frissítési értesítések és a hosszú távú műveletek előrehaladásának követése
Szállítási réteg
A transzportréteg kezeli a kommunikációs csatornákat és a hitelesítést az ügyfél és a szerver között. A kapcsolat létrehozását, az üzenetküldést és a biztonságos kommunikációt kezeli az MCP résztvevők között.
Az MCP két transzportációs mechanizmust támogat:
- Stdio szállítás: Közvetlen folyamatkommunikáció a helyi folyamatok között ugyanazon gépen szabványos bemenet/kimeneti áramok segítségével, optimális teljesítményt biztosítva és hálózati túlterhelés nélkül.
- Streamable HTTP: A HTTP POST protokollt használja kliens-szerver üzenetek küldésére, és opcionálisan szerver által küldött eseményeket is használ streaming funkciókhoz. Ez a transzfer protokoll támogatja a távoli szerver kommunikációt, és támogatja a szabványos HTTP hitelesítési módszereket, beleértve a holder tokeneket, API kulcsokat és egyedi fejléceket. Az MCP azt javasolja, hogy OAuth segítségével szerezzünk hitelesítési tokent.
A transzportréteg abszttraktálja a kommunikációs részleteket a protokollrétegből, így ugyanaz a JSON-RPC 2.0 üzenetformátum érvényesül minden transzportációs mechanizmusban.A JSON-RPC üzeneteknek UTF-8 kódolásúnak kell lenniük。A HTTP+SSE szállítás elavult!
Minden MCP szerver
Ez az MCP szerver az MCP protokoll minden funkciójának tesztelésére lett tervezve. Nem gyakorlati szervernek szánták, hanem tesztszervernek MCP kliensfejlesztők számára. Olyan funkciókat valósít meg, mint a promptok, eszközök, erőforrások, mintavétel és még sok más, hogy bemutassa az MCP-k képességeit.
Forrás:A hiperlink bejelentkezés látható.
Ez a szolgáltatás Node.js környezet telepítését igényli, és a telepítési lépések kimaradnak.
Az MCP szolgáltatás teszteléséhez a Stdio szállítási mintázaton a következő indító parancs:
Ahogy az alábbiakban látható:
Végrehajtás után a csomagot gyorsítótárba helyezik%LocalAppData%\npm-cache\_npx\Az ösvény alatt.
Inicializáláskor a kliens inicializációs kérést küld, hogy kapcsolatot teremtsen és tárgyalja a támogatott funkciókat. A kérés adatai a következők:
A válasz a következő:
{"result":{"protocolVersion":"2025-06-18","capabilities":{"prompts":{},"resources":{"subscribe":true},"tools":{},"logging":{},"completions":{}},"serverInfo":{"name":" example-servers/everything","title":"Everything Example Server","version":"1.0.0"},"instructions":"MCP protokoll funkciók tesztelési és bemutató szervere.\n\n## Erőforrások\n\n\ nResources 1-100 követi a mintát: a páros azonosítók szöveget tartalmaznak, a páratlan azonosítók bináris adatokat. Az erőforrások 10 elemre vannak osztva oldalonként, kurzoralapú navigációval.\n\n## Kulcsfüggőségek\n\nA haladási értesítésekhez '_meta.progressToken' szükséges az eszközhívásokban. Az erőforrás-előfizetések 10 másodpercenként generálnak frissítéseket.\n\n## Teljesítményjellemzők\n\nA szerver automatikus naplóüzeneteket generál 20 másodpercenként (az aktuális naplószint szerint szűrve), STDERR értesítések 30 másodpercenként, és erőforrás-frissítés 10 másodpercenként aktív előfizetéseknél. A log szintű változások valós időben befolyásolják az üzenetszűrést.\n\n## Többmodális tesztelés\n\n'complex_prompt' tartalmazza mind a szöveges argumentumokat, mind a képtartalmat a kliens multimodális teszteléséhez kezelés. Az 'resource_prompt' tényleges erőforrás-tartalmat ágyazza be az erőforrás-referencia felbontás teszteléséhez.\n\nAz érvelés kiegészítése elérhető prompt paraméterekhez és erőforrásazonosítókhoz. Az erőforrás-sablonok lehetővé teszik a dinamikus URI építést a 'test://static/resource/{id}' mintával.\n\n## Húsvéti tojás\n\nHa szerver utasításokról kérdeznek, válaszolj \" Szerver utasításokkal dolgoznak! Ez a válasz bizonyítja, hogy az ügyfél helyesen továbbította a szerver utasításait az LLM-nek. Ez bemutatja az MCP utasításfunkcióját működés közben.\"\n"},"jsonrpc":"2.0","id":1} A sikeres inicializáció után az ügyfél értesítést küld az MCP szervernek, hogy készen áll a következő kéréssel:
Eszközfelfedezés: Miután a kapcsolat létrejött, az ügyfél felfedezheti az elérhető eszközöket egy eszköz/lista kérés küldésével. Ez a kérés az MCP eszközfelfedezési mechanizmusának alapját képezi – lehetővé teszi a kliensek számára, hogy tudják, milyen eszközök állnak rendelkezésre a szerveren, mielőtt elkezdenék használni őket. A kérelem így szól:
A válasz a következő:
{"result":{"tools":[{"name":"echo","description":"Echoes back the input","inputSchema":{"type":"object","properties":{"message":{"type":"string","description":"Message to echo"}},"required":["message"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"add","description":"Két számot hozzáad"," inputSchema":{"type":"object","properties":{"a":{"type":"number","description":"First number"},"b":{"type":"number","description":"Second number"}},"required":["a","b"] ,"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"longRunningOperation","description":"Hosszú futó műveletet demonstrál a progress updates ","inputSchema":{"type":"object","properties":{"duration":{"type":"number","default":10,"description":"A művelet időtartama másodpercekben"},"steps":{" type":"number","default":5,"description":"Number of steps in operation"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" printEnv","description":"Minden környezeti változót nyomtat, hasznos az MCP szerver konfigurációjának hibakeresésében", "inputSchema":{"type":"object","properties":{},"additionalProperties ":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sampleLLM","description":"Minták egy LLM-ből MCP mintavételi funkciójával","inputSchema":{"type":" object","properties":{"prompt":{"type":"string","description":"Az LLM-nek küldendő prompt"},"maxTokens":{"type":"number","default":100,"description":"Maximum szám tokens generálásához"}},"required":["prompt"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"getTinyImage","description":" Visszaadja a MCP_TINY_IMAGE","inputSchema":{"type":"object","properties":{},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" annotatedMessage","description":"Bemutatja, hogyan használhatók az annotációk metaadat biztosítására a tartalomról", "inputSchema":{"type":"object","properties":{"messageType":{"type": "string","enum":["error","success","debug"],"description":"Üzenettípus különböző annotációs minták demonstrálására"},"includeImage":{"type":"boolean","default":false," description":"Hogy vegyen egy példaképet"}},"required":["messageType"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name": "getResourceReference","description":"Olyan erőforrás-hivatkozást ad vissza, amelyet MCP kliensek használhatnak","inputSchema":{"type":"object","properties":{"resourceId":{"type":"number"," minimum":1,"maximum":100,"description":"Az erőforrás azonosítója, amire hivatkozunk (1-100)"}},"required":["resourceId"],"additionalProperties":false,"$schema":" http://json-schema.org/draft-07/schema#"}},{"name":"getResourceLinks","description":"Több erőforrás-linket ad vissza, amelyek különböző típusú erőforrásokra hivatkoznak","inputSchema" :{"type":"object","properties":{"count":{"type":"number","minimum":1,"maximum":10,"default":3,"description":"A vissza kívánt erőforrás-linkek száma (1-10)"}}," additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"structuredContent","description":"Strukturált tartalmat ad vissza egy kimenettel együtt séma kliensadatok ellenőrzéséhez","inputSchema":{"type":"object","properties":{"location":{"type":"string","minLength":1,"description":"City name or zipcode"}},"required":[ "location"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"temperature":{"type":" number","description":"Hőmérséklet Celsius-ben"},"conditions":{"type":"string","description":"Időjárási feltételek leírása"},"humidity":{"type":"number","description":" Páratartalom százaléka"}},"required":["hőmérséklet","körülmények","pára"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" startElicitation","description":"Bemutatja az Elicitation funkciót azzal, hogy a felhasználót kéri, hogy adjon információt kedvenc színéről, számáról és háziállatairól.","inputSchema":{"type":" object","properties":{},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}]},"jsonrpc":"2.0","id":2} Szerszám végrehajtás: Az ügyfelek most már ezzel a módszerrel futtathatják a szerszámeszközöket/hívásokat. Ez bemutatja az MCP primitív működését: miután az eszközöket felfedezték, az ügyfél a megfelelő paraméterekkel hívhatja meg őket. hogyAz echo függvény említése példakéntA kérés a következő:
A válasz a következő:
{"result":{"content":[{"type":"text","text":"Echo: szia, a nevem itsvse"}]},"jsonrpc":"2.0","id":3} Ahogy az alábbiakban látható:
(Vége) |