Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 202|Svar: 0

MCP (1) Introduktionshandledning för modellkontextprotokoll

[Kopiera länk]
Publicerad den 2025-10-22 11:23:06 | | | |
Efterfrågan: Med utvecklingen av stora modeller har stora modeller dykt upp i alla delar av våra liv, vare sig det gäller arbete eller studier, de är oskiljaktiga. Med ett stort modellspråk, varför behöver vi MCP? Den stora modellen kan förstås som hjärnan, men hjärnan ensam kan inte hjälpa oss att göra saker, MCP är mer som en lem, den stora modellen styr MCP-tjänsten att göra saker, som: att anropa externa verktyg (såsom databaser, diskar, API:er). Det löser problemet att stora modeller bara kan chatta och inte kan göra saker.
[AI] (16) Semantic Kernel baseras på Qwen för att testa funktionsanrop
https://www.itsvse.com/thread-10981-1-1.html

MCP (Model Context Protocol)

Dokumentation:Inloggningen med hyperlänken är synlig.
GitHub-arkiv:Inloggningen med hyperlänken är synlig.
MCP-verktygsarkiv:Inloggningen med hyperlänken är synlig.

MCP (Model Context Protocol) är en open source-standard för att koppla AI-applikationer till externa system.

Med MCP kan AI-applikationer som Claude eller ChatGPT ansluta till datakällor (t.ex. lokala filer, databaser), verktyg (t.ex. sökmotorer, kalkylatorer) och arbetsflöden (t.ex. specialiserade prompts) – vilket gör det möjligt för dem att få tillgång till kritisk information och utföra uppgifter.

Tänk på MCP som en USB-C-port för AI-applikationer. Precis som USB-C ger ett standardiserat sätt att ansluta elektroniska enheter, erbjuder MCP ett standardiserat sätt att koppla AI-applikationer till externa system.



Vad kan MCP åstadkomma?

  • Agenter kan komma åt din Google-kalender och Notion, vilket fungerar som en mer personlig AI-assistent.
  • Claude Code kan generera hela webbapplikationer med Figma-designs.
  • Företagschattbotar kan ansluta till flera databaser inom en organisation, vilket gör det möjligt för användare att analysera data via chatt.
  • AI-modeller kan skapa 3D-designer i Blender och skriva ut dem med en 3D-skrivare.

Varför är MCP viktigt?

Beroende på var du befinner dig i ekosystemet kan MCP erbjuda en rad fördelar.

  • Utvecklare: MCP minskar utvecklingstiden och komplexiteten vid byggande eller integration med AI-applikationer eller agenter.
  • AI-applikationer eller agenter: MCP:er ger tillgång till ett ekosystem av datakällor, verktyg och applikationer, vilket förbättrar funktionaliteten och slutanvändarupplevelsen.
  • Slutanvändare: MCP:er kan resultera i kraftfullare AI-applikationer eller agenter som kan få tillgång till din data och agera på dina vägnar när det behövs.

MCP-protokollet

MCP består av två lager:

  • Datalager: Definiera ett JSON-RPC-baserat klient-server-kommunikationsprotokoll, inklusive livscykelhantering och kärnprimitiva funktioner såsom verktyg, resurser, prompts och notifikationer.
  • Transportlager: Definierar kommunikationsmekanismer och kanaler som möjliggör datautbyte mellan klienter och servrar, inklusive transportspecifik anslutningsetablering, meddelanderamverk och auktorisation.

Konceptuellt är datalagret det inre lagret, medan transportlagret är det yttre lagret.

Datalager

  • Datalagret implementerar ett JSON-RPC 2.0-baserat switchprotokoll som definierar meddelandestruktur och semantik. Detta lager inkluderar:
  • Livscykelhantering: Hanterar anslutningsinitiering, funktionsförhandling och anslutningsavslutning mellan klienter och servrar
  • Serverfunktionalitet: Gör det möjligt för servern att tillhandahålla kärnfunktionalitet, inklusive verktyg för AI-operationer, resurser för kontextuell data och interaktiva mallpromptar från och till klienter
  • Klientfunktionalitet: Gör det möjligt för servern att kräva att klienten sampler från värdens LLM, får input från användaren och loggar meddelanden till klienten
  • Användbara funktioner: Stöder ytterligare funktioner som realtidsuppdateringsnotiser och framstegsspårning för långvariga operationer

Transportlagret

Transportlagret hanterar kommunikationskanalerna och autentiseringen mellan klienten och servern. Den hanterar anslutningsetablering, meddelandeöverföring och säker kommunikation mellan MCP-deltagare.

MCP stöder två transportmekanismer:

  • Stdio Transport: Direkt processkommunikation mellan lokala processer på samma maskin med standard in-/utströmmar, vilket ger optimal prestanda och ingen nätverksöverhead.
  • Strömmbar HTTP: Använder HTTP POST-protokollet för att skicka klient-till-server-meddelanden och använder valfritt serverskickade händelser för streamingfunktionalitet. Detta transportprotokoll stödjer fjärrserverkommunikation och stöder standardiserade HTTP-autentiseringsmetoder, inklusive innehavartokens, API-nycklar och anpassade headers. MCP rekommenderar att använda OAuth för att erhålla en autentiseringstoken.

Transportlagret abstraherar kommunikationsdetaljerna från protokolllagret, så att samma JSON-RPC 2.0-meddelandeformat implementeras över alla transportmekanismer.JSON-RPC-meddelanden måste vara UTF-8-kodadeHTTP+SSE-transport har föråldrats

Allt om MCP-servern

Denna MCP-server är designad för att testa alla funktioner i MCP-protokollet. Den är inte avsedd att vara en praktisk server, utan snarare en testserver för MCP-klientbyggare. Den implementerar funktioner som prompts, verktyg, resurser, urval och mer för att visa MCP:ernas kapacitet.

Källa:Inloggningen med hyperlänken är synlig.

Denna tjänst kräver installation av en Node.js miljö, och installationsstegen utelämnas.

För att testa MCP-tjänsten baserat på Stdio-transportmönstret är startkommandot följande:
Som visas nedan:



Efter exekvering cachas paketet%LocalAppData%\npm-cache\_npx\Under stigen.

Initialisera, klienten skickar en initialiseringsförfrågan för att etablera en anslutning och förhandla om de stödda funktionerna. Förfrågningsdata är följande:
Svaret är följande:
{"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":"Test- och demonstrationsserver för MCP-protokollfunktioner.\n\n## Resources\n\ nResources 1-100 följer mönster: jämna ID:n innehåller text, udda ID:n innehåller binär data. Resurser är paginerade med 10 objekt per sida med markörbaserad navigering.\n\n## Nyckelberoenden\n\n\nProgress-notiser kräver '_meta.progressToken' i verktygsanrop. Resursprenumerationer genererar uppdateringar var 10:e sekund.\n\n## Prestandaegenskaper\n\nServer genererar automatiska loggmeddelanden var 20:e sekund (filtrerade efter aktuell loggnivå), STDERR-notiser var 30:e sekund, och resursuppdateringsnotiser var 10:e sekund för aktiva prenumerationer. Ändringar på loggnivå påverkar meddelandefiltrering i realtid.\n\n## Multimodal testning\n\n'complex_prompt' inkluderar både textargument och bildinnehåll för att testa klientens multimodala system hantering. 'resource_prompt' bäddar in faktiskt resursinnehåll för att testa resursreferensupplösning.\n\nArgumentkomplettering finns tillgänglig för promptparametrar och resurs-ID:n. Resursmallar möjliggör dynamisk URI-konstruktion via 'test://static/resource/{id}'-mönstret.\n\n## Easter egg\n\nOm du frågar om serverinstruktioner, svara med \" Serverinstruktioner Jobbar! Detta svar bevisar att klienten korrekt skickade serverinstruktioner till LLM:n. Detta demonstrerar MCP:s instruktionsfunktion i praktiken.\"\n"},"jsonrpc":"2.0","id":1}

Efter lyckad initiering skickar klienten en notifikation till MCP-servern om att den är redo med följande begäran:

Verktygsupptäckt: När anslutningen är etablerad kan klienten upptäcka tillgängliga verktyg genom att skicka en verktygs-/listaförfrågan. Denna begäran är grunden för MCP:s verktygsupptäcktsmekanism – den gör det möjligt för klienter att veta vilka verktyg som finns tillgängliga på servern innan de försöker använda dem. Begäran lyder:
Svaret är följande:
{"result":{"tools":[{"name":"echo","description":"Echo back the input","inputSchema":{"type":"object","properties":{"message":{"type":"string","description":"Meddelande till echo"}},"required":["message"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"lägg till","description":"Lägger till två siffror"," inputSchema":{"type":"object","properties":{"a":{"type":"number","description":"Första talet"},"b":{"type":"number","description":"Andra numret"}},"required":["a","b"] ,"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"longRunningOperation","description":"Demonstrerar en långvarig operation med framstegsuppdateringar","inputSchema":{"type":"objekt","properties":{"duration":{"type":"number","default":10,"description":"Duration of the operation in seconds"},"steps":{" type":"number","default":5,"description":"Antal steg i operationen"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" printEnv","description":"Skriver ut alla miljövariabler, hjälpsamt för felsökning av MCP-serverkonfiguration","inputSchema":{"type":"object","properties":{},"additionalProperties ":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sampleLLM","description":"Samples from en LLM med MCP:s samplingfunktion","inputSchema":{"type":" objekt","properties":{"prompt":{"type":"string","description":"Prompten att skicka till LLM"},"maxTokens":{"type":"number","default":100,"description":"Maximalt antal av tokens att generera"}},"krävde":["prompt"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"getTinyImage","description":" Returnerar MCP_TINY_IMAGE","inputSchema":{"type":"object","properties":{},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" annotatedMessage","description":"Demonstrerar hur annotationer kan användas för att tillhandahålla metadata om innehåll","inputSchema":{"type":"object","properties":{"messageType":{"type": "string","enum":["error","success","debug"],"description":"Typ av meddelande för att demonstrera olika annoteringsmönster"},"includeImage":{"type":"boolean","default":false," description":"Om man ska inkludera en exempelbild"}},"required":["messageType"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name": "getResourceReference","description":"Returnerar en resursreferens som kan användas av MCP-klienter","inputSchema":{"type":"object","properties":{"resourceId":{"type":"number"," minimum":1,"maximum":100,"description":"ID för resursen att referera till (1-100)"}},"required":["resourceId"],"additionalProperties":false,"$schema":" http://json-schema.org/draft-07/schema#"}},{"name":"getResourceLinks","description":"Returnerar flera resurslänkar som refererar till olika typer av resurser","inputSchema" :{"typ":"objekt","egenskaper":{"räkning":{"typ":"antal","minimum":1,"maximum":10,"default":3,"description":"Antal resurslänkar att returnera (1-10)"}}," additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"structuredContent","description":"Returnerar strukturerat innehåll tillsammans med en output schema för validering av klientdata","inputSchema":{"type":"objekt","properties":{"location":{"type":"string","minLength":1,"description":"Stadsnamn eller postnummer"}},"krävs":[ "location"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"temperature":{"type":" nummer","beskrivning":"Temperatur i celsius"},"förhållanden":{"typ":"sträng","beskrivning":"Väderbeskrivning"},"fuktighet":{"typ":"nummer","beskrivning":" Fuktighetsprocent"}},"krävs":["temperature","conditions","humidity"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" startElicitation","description":"Demonstrerar funktionen Elicitation genom att be användaren ange information om sin favoritfärg, antal och husdjur.","inputSchema":{"type":" objekt","egenskaper":{},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}]},"jsonrpc":"2.0","id":2}

Verktygskörning: Klienter kan nu köra verktyg/anrop med denna metod. Detta demonstrerar MCP-primitiven i praktiken: När verktygen har upptäckts kan klienten anropa dem med lämpliga parametrar. för attAtt kalla ekofunktionen som exempelBegäran är följande:
Svaret är följande:
{"result":{"content":[{"type":"text","text":"Echo: hej, jag heter itsvse"}],"jsonrpc":"2.0","id":3}
Som visas nedan:



(Slut)




Föregående:Implementera kopiera-klistra interoperabilitet med Windows värdmaskin i Ubuntus virtuella maskin i VMware
Nästa:VMware-VM:ar fryser ofta, och efter att ha öppnats och körts en tid fryser de
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com