Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 202|Svare: 0

MCP (1) Model Context Protocol Introduksjonsveiledning

[Kopier lenke]
Publisert 2025-10-22 11:23:06 | | | |
Etterspørsel: Med fremveksten av store modeller har store modeller dukket opp i alle aspekter av livene våre, enten det er arbeid eller studier, de er uatskillelige. Med et stort modellspråk, hvorfor trenger vi MCP? Den store modellen kan forstås som hjernen, men hjernen alene kan ikke hjelpe oss med å gjøre ting, MCP er mer som en lem, den store modellen styrer MCP-tjenesten til å gjøre ting, som: å kalle eksterne verktøy (som databaser, disker, API-er). Det løser problemet med at store modeller bare kan chatte og ikke kan gjøre ting.
[AI] (16) Semantic Kernel er basert på Qwen for å teste funksjonskall
https://www.itsvse.com/thread-10981-1-1.html

MCP (Model Context Protocol)

Dokumentasjon:Innloggingen med hyperkoblingen er synlig.
GitHub-repositorier:Innloggingen med hyperkoblingen er synlig.
MCP-verktøyarkiv:Innloggingen med hyperkoblingen er synlig.

MCP (Model Context Protocol) er en åpen kildekode-standard for å koble AI-applikasjoner til eksterne systemer.

Med MCP kan AI-applikasjoner som Claude eller ChatGPT koble seg til datakilder (f.eks. lokale filer, databaser), verktøy (f.eks. søkemotorer, kalkulatorer) og arbeidsflyter (f.eks. spesialiserte prompts) – noe som gjør det mulig for dem å få tilgang til kritisk informasjon og utføre oppgaver.

Tenk på MCP som en USB-C-port for AI-applikasjoner. Akkurat som USB-C gir en standardisert måte å koble elektroniske enheter på, gir MCP en standardisert måte å koble AI-applikasjoner til eksterne systemer.



Hva kan MCP oppnå?

  • Agenter kan få tilgang til Google Kalender og Notion, og fungerer som en mer personlig AI-assistent.
  • Claude Code kan generere hele webapplikasjoner ved hjelp av Figma-design.
  • Bedriftschatboter kan koble seg til flere databaser i en organisasjon, noe som gjør det mulig for brukere å analysere data via chat.
  • AI-modeller kan lage 3D-design i Blender og skrive dem ut med en 3D-printer.

Hvorfor er MCP viktig?

Avhengig av hvor du befinner deg i økosystemet, kan MCP gi en rekke fordeler.

  • Utviklere: MCP reduserer utviklingstid og kompleksitet når man bygger eller integrerer med AI-applikasjoner eller agenter.
  • AI-applikasjoner eller agenter: MCP-er gir tilgang til et økosystem av datakilder, verktøy og applikasjoner, som vil forbedre funksjonaliteten og sluttbrukeropplevelsen.
  • Sluttbrukere: MCP-er kan resultere i kraftigere AI-applikasjoner eller agenter som kan få tilgang til dataene dine og handle på dine vegne når det er nødvendig.

MCP-protokollen

MCP består av to lag:

  • Datalag: Definer en JSON-RPC-basert klient-server kommunikasjonsprotokoll, inkludert livssyklusstyring, og kjerneelementer som verktøy, ressurser, prompts og varsler.
  • Transportlag: Definerer kommunikasjonsmekanismene og kanalene som muliggjør datautveksling mellom klienter og servere, inkludert transportspesifikk tilkoblingsetablering, meldingsrammeverk og autorisasjon.

Konseptuelt er datalaget det indre laget, mens transportlaget er det ytre laget.

Datalag

  • Datalaget implementerer en JSON-RPC 2.0-basert svitsjeprotokoll som definerer meldingsstruktur og semantikk. Dette laget inkluderer:
  • Livssyklusstyring: Håndterer tilkoblingsinitialisering, funksjonsforhandling og tilkoblingsavslutning mellom klienter og servere
  • Serverfunksjonalitet: Gjør det mulig for serveren å tilby kjernefunksjonalitet, inkludert verktøy for AI-operasjoner, ressurser for kontekstuelle data og interaktive malprompts fra og til klienter
  • Klientfunksjonalitet: Gjør det mulig for serveren å kreve at klienten sampler fra vertens LLM, mottar input fra brukeren og logger meldinger til klienten
  • Nyttige funksjoner: Støtter tilleggsfunksjoner som sanntidsoppdateringsvarsler og fremdriftssporing for langvarige operasjoner

Transportlaget

Transportlaget håndterer kommunikasjonskanalene og autentiseringen mellom klient og server. Den håndterer tilkoblingsetablering, meldingsoverføring og sikker kommunikasjon mellom MCP-deltakere.

MCP støtter to transportmekanismer:

  • Stdio Transport: Direkte prosesskommunikasjon mellom lokale prosesser på samme maskin ved bruk av standard input/output-strømmer, noe som gir optimal ytelse og ingen nettverksoverhead.
  • Streambar HTTP: Bruker HTTP POST-protokollen for å sende klient-til-server-meldinger, og bruker eventuelt serversendte hendelser for streamingfunksjonalitet. Denne transportprotokollen støtter fjernserverkommunikasjon og støtter standard HTTP-autentiseringsmetoder, inkludert holdertokens, API-nøkler og egendefinerte headers. MCP anbefaler å bruke OAuth for å skaffe en autentiseringstoken.

Transportlaget abstraherer kommunikasjonsdetaljene fra protokolllaget, slik at det samme JSON-RPC 2.0-meldingsformatet implementeres på tvers av alle transportmekanismer.JSON-RPC-meldinger må kodes UTF-8HTTP+SSE-transport er utdatert

Alt om MCP-serveren

Denne MCP-serveren er designet for å teste alle funksjonene til MCP-protokollen. Den er ikke ment å være en praktisk server, men snarere en testserver for MCP-klientbyggere. Den implementerer funksjoner som prompts, verktøy, ressurser, utvalg og mer for å vise MCP-enes muligheter.

Kilde:Innloggingen med hyperkoblingen er synlig.

Denne tjenesten krever installasjon av et Node.js miljø, og installasjonstrinnene utelates.

For å teste MCP-tjenesten basert på Stdio-transportmønsteret, er oppstartskommandoen som følger:
Som vist nedenfor:



Etter kjøring blir pakken cachet%LocalAppData%\npm-cache\_npx\Under stien.

Initialiser, klienten sender en initialiseringsforespørsel for å etablere en tilkobling og forhandle om de støttede funksjonene. Forespørselsdataene er som følger:
Svaret er som følger:
{"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":"Testing and demonstration server for MCP-protokollfunksjoner.\n\n## Resources\n\ nResources 1-100 følger mønsteret: partalls-IDer inneholder tekst, oddetalls-IDer inneholder binære data. Ressursene er paginert med 10 elementer per side med markørbasert navigasjon.\n\n## Nøkkelavhengigheter\n\nFremgangsvarsler krever '_meta.progressToken' i verktøykall. Ressursabonnementer genererer oppdateringer hvert 10. sekund.\n\n## Ytelsesegenskaper\n\nServer genererer automatiske loggmeldinger hvert 20. sekund (filtrert etter nåværende loggnivå), STDERR-varsler hvert 30. sekund, og ressursoppdateringsvarsler hvert 10. sekund for aktive abonnementer. Endringer på loggnivå påvirker meldingsfiltrering i sanntid.\n\n## Multimodal testing\n\n'complex_prompt' inkluderer både tekstargumenter og bildeinnhold for testing av klientens multimodale håndtering. 'resource_prompt' legger inn faktisk ressursinnhold for testing av ressursreferanseoppløsning.\n\nArgumentfullføring er tilgjengelig for promptparametere og ressurs-IDer. Ressursmaler muliggjør dynamisk URI-konstruksjon via 'test://static/resource/{id}'-mønsteret.\n\n## Påskeegg\n\n\nHvis spurt om serverinstruksjoner, svar med \" Serverinstruksjoner Jobber! Dette svaret beviser at klienten korrekt sendte serverinstruksjoner til LLM-en. Dette demonstrerer MCPs instruksjonsfunksjon i praksis.\"\n"},"jsonrpc":"2.0","id":1}

Etter vellykket initialisering sender klienten en varsling til MCP-serveren om at den er klar med følgende forespørsel:

Verktøyoppdagelse: Når tilkoblingen er etablert, kan klienten oppdage tilgjengelige verktøy ved å sende en verktøy-/listeforespørsel. Denne forespørselen er grunnlaget for MCPs verktøyoppdagelsesmekanisme – den lar klienter vite hvilke verktøy som er tilgjengelige på serveren før de prøver å bruke dem. Forespørselen lyder:
Svaret er som følger:
{"result":{"tools":[{"name":"echo","description":"Echo back the input","inputSchema":{"type":"object","properties":{"message":{"type":"string","description":"Message to to echo"}},"påkrevd":["melding"],"tilleggsegenskaper":falsk,"$schema":"http://json-schema.org/draft-07/schema#"}},{"navn":"legg til","description":"Legger til to tall"," inputSchema":{"type":"object","properties":{"a":{"type":"number","description":"Første tall"},"b":{"type":"number","description":"Andre tall"}},"påkrevd":["a","b"] ,"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"longRunningOperation","description":"Demonstrerer en langvarig operasjon med fremdriftsoppdateringer","inputSchema":{"type":"objekt","egenskaper":{"varighet":{"type":"number","default":10,"description":"Varighet av operasjonen i sekunder"},"steps":{" type":"number","default":5,"description":"Number of steps in the operation"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" printEnv","description":"Skriver ut alle miljøvariabler, nyttig for feilsøking av MCP-serverkonfigurasjon","inputSchema":{"type":"object","properties":{},"additionalProperties ":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sampleLLM","description":"Samples from a LLM using MCPs sampling-funksjon","inputSchema":{"type":" objekt","properties":{"prompt":{"type":"string","description":"Prompten for å sende til LLM"},"maxTokens":{"type":"number","default":100,"description":"Maksimalt antall av tokens for å generere"}},"krevde":["prompt"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"getTinyImage","description":" Returnerer MCP_TINY_IMAGE","inputSchema":{"type":"object","properties":{},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" annotatedMessage","description":"Demonstrerer hvordan annotasjoner kan brukes til å gi metadata om innhold","inputSchema":{"type":"object","properties":{"messageType":{"type": "string","enum":["error","success","debug"],"description":"Type melding for å demonstrere ulike annotasjonsmønstre"},"includeImage":{"type":"boolean","default":false," description":"Om man skal inkludere et eksempelbilde"}},"required":["messageType"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name": "getResourceReference","description":"Returnerer en ressursreferanse som kan brukes av MCP-klienter","inputSchema":{"type":"object","properties":{"resourceId":{"type":"number"," minimum":1,"maximum":100,"description":"ID for ressursen å referere til (1-100)"}},"required":["resourceId"],"additionalProperties":false,"$schema":" http://json-schema.org/draft-07/schema#"}},{"name":"getResourceLinks","description":"Returnerer flere ressurslenker som refererer til ulike typer ressurser","inputSchema" :{"type":"object","properties":{"count":{"type":"number","minimum":1,"maximum":10,"default":3,"description":"antall ressurslenker å returnere (1-10)"}}," additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"structuredContent","description":"Returnerer strukturert innhold sammen med en output skjema for validering av klientdata","inputSchema":{"type":"objekt","properties":{"location":{"type":"string","minLength":1,"description":"Bynavn eller postnummer"}},"kreves":[ "location"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"temperature":{"type":" tall","beskrivelse":"Temperatur i celsius"},"forhold":{"type":"string","description":"Værforhold beskrivelse"},"fuktighet":{"type":"number","description":" Fuktighetsprosent"}},"påkrevd":["temperature","conditions","humidity"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" startElicitation","description":"Demonstrerer Elicitation-funksjonen ved å be brukeren oppgi informasjon om sin favorittfarge, antall og kjæledyr.","inputSchema":{"type":" objekt","egenskaper":{},"tilleggsegenskaper":falsk,"$schema":"http://json-schema.org/draft-07/schema#"}}]},"jsonrpc":"2.0","id":2}

Verktøyutførelse: Klienter kan nå utføre verktøy/kall ved hjelp av denne metoden. Dette demonstrerer MCP-primitiven i praksis: Når verktøyene er oppdaget, kan klienten kalle dem med de riktige parameterne. for å kunneÅ kalle ekkofunksjonen som et eksempelForespørselen er som følger:
Svaret er som følger:
{"result":{"content":[{"type":"text","text":"Echo: hei, jeg heter itsvse"}]},"jsonrpc":"2.0","id":3}
Som vist nedenfor:



(Slutt)




Foregående:Implementer kopier-lim-interoperabilitet med Windows-vertsmaskinen i Ubuntus virtuelle maskin i VMware
Neste:VMware-VM-er fryser ofte, og etter å ha åpnet og kjørt i en periode, fryser de
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com