Pieprasījums: Attīstoties lieliem modeļiem, lieli modeļi ir parādījušies visos mūsu dzīves aspektos, neatkarīgi no tā, vai tas ir darbs vai studijas, tie ir neatdalāmi. Ar lielu modeļa valodu, kāpēc mums ir nepieciešams MCP? Lielo modeli var saprast kā smadzenes, bet smadzenes vien nevar palīdzēt mums darīt lietas, MCP ir vairāk kā ekstremitāte, lielais modelis virza MCP pakalpojumu, lai darītu lietas, piemēram: izsaukt ārējos rīkus (piemēram, datubāzes, diskus, API). Tas atrisina problēmu, ka lielie modeļi var tikai tērzēt un nevar darīt lietas.
MCP (konteksta protokola paraugs)
Dokumentācija:Hipersaites pieteikšanās ir redzama. GitHub krātuves:Hipersaites pieteikšanās ir redzama. MCP rīku repozitorijs:Hipersaites pieteikšanās ir redzama.
MCP (Model Context Protocol) ir atvērtā koda standarts AI lietojumprogrammu savienošanai ar ārējām sistēmām.
Izmantojot MCP, AI lietojumprogrammas, piemēram, Claude vai ChatGPT, var izveidot savienojumu ar datu avotiem (piemēram, lokālajiem failiem, datu bāzēm), rīkiem (piemēram, meklētājprogrammām, kalkulatoriem) un darbplūsmām (piemēram, specializētām uzvednēm), ļaujot tām piekļūt kritiskai informācijai un veikt uzdevumus.
Padomājiet par MCP kā USB-C pieslēgvietu AI lietojumprogrammām. Tāpat kā USB-C nodrošina standartizētu veidu, kā savienot elektroniskās ierīces, MCP nodrošina standartizētu veidu, kā savienot AI lietojumprogrammas ar ārējām sistēmām.
Ko var sasniegt MCP?
- Aģenti var piekļūt jūsu Google kalendāram un Notion, darbojoties kā personalizētāks AI palīgs.
- Claude Code var ģenerēt veselas tīmekļa lietojumprogrammas, izmantojot Figma dizainu.
- Uzņēmuma tērzēšanas roboti var izveidot savienojumu ar vairākām datu bāzēm organizācijā, ļaujot lietotājiem analizēt datus, izmantojot tērzēšanu.
- AI modeļi var izveidot 3D dizainu Blender un izdrukāt tos, izmantojot 3D printeri.
Kāpēc MCP ir svarīgs?
Atkarībā no tā, kur atrodaties ekosistēmā, MCP var sniegt virkni priekšrocību.
- Izstrādātāji: MCP samazina izstrādes laiku un sarežģītību, veidojot vai integrējot ar AI lietojumprogrammām vai aģentiem.
- AI lietojumprogrammas vai aģenti: MCP nodrošina piekļuvi datu avotu, rīku un lietojumprogrammu ekosistēmai, kas uzlabos funkcionalitāti un uzlabos galalietotāju pieredzi.
- Gala lietotāji: MCP var radīt jaudīgākas AI lietojumprogrammas vai aģentus, kas var piekļūt jūsu datiem un vajadzības gadījumā rīkoties jūsu vārdā.
MCP protokols
MCP sastāv no diviem slāņiem:
- Datu slānis: definējiet uz JSON-RPC balstītu klienta-servera sakaru protokolu, ieskaitot dzīves cikla pārvaldību, un galvenos primitīvus, piemēram, rīkus, resursus, uzvednes un paziņojumus.
- Transporta slānis: definē sakaru mehānismus un kanālus, kas nodrošina datu apmaiņu starp klientiem un serveriem, ieskaitot transportam specifisku savienojumu izveidi, ziņojumu struktūras un autorizāciju.
Konceptuāli datu slānis ir iekšējais slānis, bet transporta slānis ir ārējais slānis.
Datu slānis
- Datu slānis ievieš JSON-RPC 2.0 balstītu komutācijas protokolu, kas definē ziņojumu struktūru un semantiku. Šajā slānī ietilpst:
- Dzīves cikla pārvaldība: apstrādā savienojuma inicializāciju, līdzekļu sarunas un savienojuma pārtraukšanu starp klientiem un serveriem
- Servera funkcionalitāte: ļauj serverim nodrošināt pamatfunkcionalitāti, tostarp rīkus AI operācijām, resursus kontekstuāliem datiem un interaktīvas veidnes uzvednes no un uz klientiem
- Klienta funkcionalitāte: ļauj serverim pieprasīt klientam paraugu no resursdatora LLM, saņemt ievadi no lietotāja un reģistrēt ziņojumus klientam
- Noderīgas funkcijas: Atbalsta papildu funkcijas, piemēram, reāllaika paziņojumus par atjauninājumiem un progresa izsekošanu ilgstošām darbībām
Transporta slānis
Transporta slānis pārvalda sakaru kanālus un autentifikāciju starp klientu un serveri. Tas nodarbojas ar savienojuma izveidi, ziņojumu pārraidi un drošu saziņu starp MCP dalībniekiem.
MCP atbalsta divus transporta mehānismus:
- Stdio transports: tieša procesa komunikācija starp vietējiem procesiem vienā mašīnā, izmantojot standarta ieejas/izvades plūsmas, nodrošinot optimālu veiktspēju un bez tīkla pieskaitāmajām izmaksām.
- Straumējams HTTP: izmanto HTTP POST protokolu, lai sūtītu ziņojumus no klienta-serverim, un pēc izvēles izmanto servera nosūtītos notikumus straumēšanas funkcionalitātei. Šis transporta protokols atbalsta attālo servera saziņu un atbalsta standarta HTTP autentifikācijas metodes, tostarp turētāju marķierus, API atslēgas un pielāgotas galvenes. MCP iesaka izmantot OAuth, lai iegūtu autentifikācijas marķieri.
Transporta slānis abstrahē sakaru detaļas no protokola slāņa, lai visos transporta mehānismos tiktu ieviests viens un tas pats JSON-RPC 2.0 ziņojuma formāts.JSON-RPC ziņojumiem jābūt kodētiem UTF-8。HTTP+SSE transports ir novecojis!
Viss MCP serveris
Šis MCP serveris ir paredzēts, lai pārbaudītu visas MCP protokola funkcijas. Tas nav paredzēts kā praktisks serveris, bet drīzāk MCP klientu veidotāju testa serveris. Tas ievieš tādas funkcijas kā uzvednes, rīki, resursi, paraugu ņemšana un daudz kas cits, lai parādītu MCP iespējas.
Avots:Hipersaites pieteikšanās ir redzama.
Šim pakalpojumam ir nepieciešama Node.js vides instalēšana, un instalēšanas darbības tiek izlaistas.
Lai pārbaudītu MCP pakalpojumu, pamatojoties uz Stdio transporta modeli, startēšanas komanda ir šāda:
Kā parādīts zemāk:
Pēc izpildes pakete tiek saglabāta kešatmiņā%LocalAppData%\npm-cache\_npx\Zem ceļa.
Inicializējot, klients nosūta inicializācijas pieprasījumu, lai izveidotu savienojumu un vienotos par atbalstītajiem līdzekļiem. Pieprasījuma dati ir šādi:
Atbilde ir šāda:
{"result":{"protocolVersion":"2025-06-18","capabilities":{"prompts":{},"resources":{"subscribe":true},"tools":{},"loggging":{},"completions":{}},"serverInfo":{"name":" example-servers/everything","title":"Everything Example Server","version":"1.0.0"},"instructions":"MCP protokola līdzekļu testēšanas un demonstrācijas serveris.\n\n## Resursi\n\ nResursi 1-100 seko modelim: pāra ID satur tekstu, nepāra ID satur bināros datus. Resursi ir lapoti pa 10 vienumiem lapā ar kursora navigāciju.\n\n## Atslēgu atkarības\n\nProgresa paziņojumiem rīku izsaukumos ir nepieciešams '_meta.progressToken'. Resursu abonementi ģenerē atjauninājumus ik pēc 10 sekundēm.\n\n## Veiktspējas raksturlielumi\n\nServeris ģenerē automātiskus žurnāla ziņojumus ik pēc 20 sekundēm (filtrēti pēc pašreizējā žurnāla līmeņa), STDERR paziņojumi ik pēc 30 sekundēm un resursu atjaunināšanas paziņojumi ik pēc 10 sekundēm aktīviem abonementiem. Žurnāla līmeņa izmaiņas ietekmē ziņojumu filtrēšanu reāllaikā.\n\n## Multimodālā testēšana\n\n'complex_prompt' ietver gan teksta argumentus, gan attēla saturu klienta multimodālajai testēšanai Apstrādes. 'resource_prompt' iegulst faktisko resursu saturu, lai pārbaudītu resursu atsauces izšķirtspēju.\n\nArgumentu pabeigšana ir pieejama uzvednes parametriem un resursu ID. Resursu veidnes iespējo dinamisku URI veidošanu, izmantojot 'test://static/resource/{id}' modeli.\n\n## Lieldienu ola\n\nJa jautājat par servera instrukcijām, atbildiet ar \" servera instrukcijām darbojas! Šī atbilde pierāda, ka klients pareizi nodeva servera norādījumus LLM. Tas parāda MCP instrukciju funkciju darbībā.\"\n"},"jsonrpc":"2.0","id":1} Pēc veiksmīgas inicializācijas klients nosūta paziņojumu MCP serverim, ka tas ir gatavs ar šādu pieprasījumu:
Rīku atklāšana: Kad savienojums ir izveidots, klients var atklāt pieejamos rīkus, nosūtot rīku/saraksta pieprasījumu. Šis pieprasījums ir MCP rīku atklāšanas mehānisma pamats - tas ļauj klientiem uzzināt, kādi rīki ir pieejami serverī, pirms mēģināt tos izmantot. Pieprasījumā teikts:
Atbilde ir šāda:
{"result":{"tools":[{"name":"echo","description":"Atbalso ievadi","inputSchema":{"type":"object","properties":{"message":{"type":"string","description":"Ziņojums echo"}},"required":["message"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"add","description":"Pievieno divus skaitļus"," inputSchema":{"type":"object","properties":{"a":{"type":"number","description":"Pirmais numurs"},"b":{"type":"number","description":"Otrais numurs"}},"required":["a","b"] ,"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"longRunningOperation","description":"Demonstrē ilgstošu darbību ar progresa atjauninājumiem","inputSchema":{"type":"object","properties":{"duration":{"type":"number","default":10,"description":"Operācijas ilgums sekundēs"},"soļi":{" type":"number","default":5,"description":"Operācijas darbību skaits"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" printEnv","description":"Izdrukā visus vides mainīgos, kas ir noderīgi MCP servera konfigurācijas atkļūdošanai","inputSchema":{"type":"object","properties":{},"additionalProperties ":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sampleLLM","description":"Paraugi no LLM, izmantojot MCP izlases funkciju","inputSchema":{"type":" objekts","properties":{"prompt":{"type":"string","description":"Uzvedne nosūtīt uz LLM"},"maxTokens":{"type":"number","default":100,"description":"Maksimālais skaits ģenerējamie marķieri"}},"required":["prompt"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"getTinyImage","description":" Atgriež MCP_TINY_IMAGE","inputSchema":{"type":"object","properties":{},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" annotatedMessage","description":"Parāda, kā anotācijas var izmantot, lai nodrošinātu metadatus par saturu","inputSchema":{"type":"object","properties":{"messageType":{"type": "string","enum":["error","success","debug"],"description":"Ziņojuma tips, lai demonstrētu dažādus anotācijas modeļus"},"includeImage":{"type":"Boolean","default":false," description":"Vai iekļaut attēla piemēru"}},"required":["messageType"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name": "getResourceReference","description":"Atgriež resursa atsauci, ko var izmantot MCP klienti","inputSchema":{"type":"object","properties":{"resourceId":{"type":"number"," minimums":1,"maksimums":100,"description":"Atsaucamā resursa ID (1-100)"}},"required":["resourceId"],"additionalProperties":false,"$schema":" http://json-schema.org/draft-07/schema#"}},{"name":"getResourceLinks","description":"Atgriež vairākas resursu saites, kas atsaucas uz dažādiem resursu tipiem","inputSchema" :{"type":"objekts","rekvizīti":{"count":{"type":"number","minimum":1,"maximum":10,"default":3,"description":"Atgriežamo resursu saišu skaits (1-10)"}}," additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"structuredContent","description":"Atgriež strukturētu saturu kopā ar izvadi shēma klienta datu validācijai","inputSchema":{"type":"object","properties":{"location":{"type":"string","minLength":1,"description":"Pilsētas nosaukums vai pasta indekss"}},"required":[ "location"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"temperature":{"type":" number","description":"Temperatūra pēc Celsija"},"conditions":{"type":"string","description":"Laika apstākļu apraksts"},"humidity":{"type":"number","description":" Mitruma procentuālais daudzums"}},"required":["temperature","conditions","humidity"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" startElicitation","description":"Demonstrē izsaukšanas funkciju, lūdzot lietotājam sniegt informāciju par savu iecienītāko krāsu, skaitu un mājdzīvniekiem.","inputSchema":{"type":" objekts","properties":{},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}]},"jsonrpc":"2.0","id":2} Rīku izpilde: Klienti tagad var izpildīt rīku rīkus / izsaukumu, izmantojot šo metodi. Tas parāda MCP primitīvo darbībā: Kad rīki ir atklāti, klients var tos izsaukt ar atbilstošiem parametriem. laiAtbalss funkcijas izsaukšana kā piemērsPieprasījums ir šāds:
Atbilde ir šāda:
{"result":{"content":[{"type":"text","text":"Echo: hi, mans vārds ir itsvse"}]},"jsonrpc":"2.0","id":3} Kā parādīts zemāk:
(Beigas) |