Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 202|Antwort: 0

MCP (1) Model Context Protocol Einführungstutorial

[Link kopieren]
Veröffentlicht am 22.10.2025, 11:23:06 | | | |
Nachfrage: Mit dem Fortschritt großer Modelle sind große Modelle in allen Lebensbereichen aufgetaucht, sei es Arbeit oder Studium, sie sind untrennbar. Warum brauchen wir bei einer großen Modellsprache MCP? Das große Modell kann als Gehirn verstanden werden, aber das Gehirn allein kann uns nicht helfen, Dinge zu tun; MCP ist eher wie ein Gliedmaß, das große Modell weist den MCP-Dienst an, Dinge zu tun, wie zum Beispiel: externe Werkzeuge (wie Datenbanken, Festplatten, APIs) aufzurufen. Es löst das Problem, dass große Modelle nur chatten können und nichts tun können.
[KI] (16) Semantic Kernel basiert auf Qwen, um Function Calling zu testen
https://www.itsvse.com/thread-10981-1-1.html

MCP (Model Context Protocol)

Dokumentation:Der Hyperlink-Login ist sichtbar.
GitHub-Repositories:Der Hyperlink-Login ist sichtbar.
MCP-Werkzeug-Repository:Der Hyperlink-Login ist sichtbar.

MCP (Model Context Protocol) ist ein Open-Source-Standard zur Verbindung von KI-Anwendungen mit externen Systemen.

Mit MCP können KI-Anwendungen wie Claude oder ChatGPT sich mit Datenquellen (z. B. lokalen Dateien, Datenbanken), Werkzeugen (z. B. Suchmaschinen, Taschenrechnern) und Workflows (z. B. spezialisierten Prompts) verbinden – was ihnen ermöglicht, auf kritische Informationen zuzugreifen und Aufgaben auszuführen.

Man kann sich MCP als USB-C-Anschluss für KI-Anwendungen vorstellen. So wie USB-C eine standardisierte Möglichkeit bietet, elektronische Geräte zu verbinden, bietet MCP eine standardisierte Möglichkeit, KI-Anwendungen mit externen Systemen zu verbinden.



Was kann MCP erreichen?

  • Agenten können auf Ihren Google Kalender und Notion zugreifen und fungieren als personalisierter KI-Assistent.
  • Claude Code kann komplette Webanwendungen mit Figma-Designs generieren.
  • Unternehmens-Chatbots können sich mit mehreren Datenbanken innerhalb einer Organisation verbinden und ermöglichen es Nutzern, Daten per Chat zu analysieren.
  • KI-Modelle können 3D-Designs in Blender erstellen und sie mit einem 3D-Drucker ausdrucken.

Warum ist MCP wichtig?

Je nachdem, wo Sie sich im Ökosystem befinden, kann MCP eine Reihe von Vorteilen bieten.

  • Entwickler: MCP reduziert Entwicklungszeit und Komplexität beim Aufbau oder der Integration mit KI-Anwendungen oder -agenten.
  • KI-Anwendungen oder -Agenten: MCPs bieten Zugang zu einem Ökosystem von Datenquellen, Werkzeugen und Anwendungen, was die Funktionalität verbessert und das Endnutzererlebnis verbessert.
  • Endanwender: MCPs können zu leistungsfähigeren KI-Anwendungen oder Agenten führen, die auf Ihre Daten zugreifen und bei Bedarf in Ihrem Namen handeln können.

MCP-Protokoll

MCP besteht aus zwei Schichten:

  • Datenschicht: Definieren Sie ein JSON-RPC-basiertes Client-Server-Kommunikationsprotokoll, einschließlich Lebenszyklusverwaltung sowie Kernprimitiven wie Werkzeuge, Ressourcen, Prompts und Benachrichtigungen.
  • Transportschicht: Definiert die Kommunikationsmechanismen und Kanäle, die den Datenaustausch zwischen Clients und Servern ermöglichen, einschließlich transportspezifischer Verbindungseinrichtung, Nachrichtenrahmen und Autorisierung.

Konzeptionell ist die Datenschicht die innere Schicht, während die Transportschicht die äußere ist.

Datenschicht

  • Die Datenschicht implementiert ein auf JSON-RPC 2.0 basierendes Switching-Protokoll, das die Nachrichtenstruktur und -semantik definiert. Diese Schicht umfasst:
  • Lebenszyklusverwaltung: Verwaltet die Verbindungsinitialisierung, die Funktionsaushandlung und die Verbindungsbeendigung zwischen Clients und Servern
  • Server-Funktionalität: Ermöglicht es dem Server, Kernfunktionen bereitzustellen, einschließlich Werkzeugen für KI-Operationen, Ressourcen für kontextuelle Daten und interaktive Vorlagen-Prompts von und zu Clients
  • Client-Funktionalität: Ermöglicht es dem Server, vom Client zu verlangen, vom Host-LLM zu samplen, Eingaben vom Benutzer zu erhalten und Nachrichten an den Client zu protokollieren.
  • Nützliche Funktionen: Unterstützt zusätzliche Funktionen wie Echtzeit-Update-Benachrichtigungen und Fortschrittsverfolgung für langlaufende Operationen

Transportschicht

Die Transportschicht verwaltet die Kommunikationskanäle und die Authentifizierung zwischen Client und Server. Es übernimmt den Aufbau von Verbindungen, die Nachrichtenübertragung und die sichere Kommunikation zwischen MCP-Teilnehmern.

MCP unterstützt zwei Transportmechanismen:

  • Stdio-Transport: Direkte Prozesskommunikation zwischen lokalen Prozessen auf derselben Maschine über Standard-Ein-/Ausgabeströme, was optimale Leistung und keinen Netzwerkaufwand bietet.
  • Streambares HTTP: Verwendet das HTTP POST-Protokoll zum Senden von Client-zu-Server-Nachrichten und verwendet optional servergesendete Ereignisse für die Streaming-Funktionalität. Dieses Transportprotokoll unterstützt die Kommunikation mit entfernten Servern und standardisierte HTTP-Authentifizierungsmethoden, einschließlich Inhabertoken, API-Schlüssel und benutzerdefinierter Header. MCP empfiehlt, OAuth zu verwenden, um ein Authentifizierungstoken zu erhalten.

Die Transportschicht abstrahiert die Kommunikationsdetails von der Protokollschicht, sodass dasselbe JSON-RPC 2.0-Nachrichtenformat über alle Transportmechanismen implementiert ist.JSON-RPC-Nachrichten müssen UTF-8-codiert seinHTTP+SSE-Transport wurde veraltet

Alles rund um den MCP-Server

Dieser MCP-Server ist darauf ausgelegt, alle Funktionen des MCP-Protokolls zu testen. Er ist nicht als praktischer Server gedacht, sondern vielmehr als Testserver für MCP-Client-Entwickler. Es implementiert Funktionen wie Prompts, Tools, Ressourcen, Stichproben und mehr, um die Fähigkeiten von MCPs zu demonstrieren.

Quelle:Der Hyperlink-Login ist sichtbar.

Dieser Service erfordert die Installation einer Node.js Umgebung, und die Installationsschritte werden weggelassen.

Um den MCP-Dienst basierend auf dem Stdio-Transportmuster zu testen, lautet der Startbefehl wie folgt:
Wie unten gezeigt:



Nach der Ausführung wird das Paket zwischengespeichert%LocalAppData%\npm-cache\_npx\Unterhalb des Weges.

Initialisieren, der Client sendet eine Initialisierungsanforderung, um eine Verbindung herzustellen und die unterstützten Funktionen auszuhandeln. Die Anfragedaten sind wie folgt:
Die Antwort lautet wie folgt:
{"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- und Demonstrationsserver für MCP-Protokollfunktionen.\n\n## Ressourcen\n\n\ nRessourcen 1-100 folgen dem Muster: Gerade IDs enthalten Text, ungerade IDs enthalten binäre Daten. Ressourcen sind auf 10 Elemente pro Seite mit cursorbasierter Navigation paginiert.\n\n## Schlüsselabhängigkeiten\n\nFortschrittsbenachrichtigungen erfordern '_meta.progressToken' in Toolaufrufen. Ressourcenabonnements generieren alle 10 Sekunden Updates.\n\n## Leistungsmerkmale\n\nDer Server generiert automatische Log-Nachrichten alle 20 Sekunden (gefiltert nach aktuellem Log-Level), STDERR-Benachrichtigungen alle 30 Sekunden und Ressourcen-Update-Benachrichtigungen alle 10 Sekunden für aktive Abonnements. Änderungen auf Log-Ebene beeinflussen die Nachrichtenfilterung in Echtzeit.\n\n## Multimodales Testen\n\n'complex_prompt' umfasst sowohl Textargumente als auch Bildinhalte zum Multimodalen Testen des Clients Handhabung. 'resource_prompt' bettet tatsächliche Ressourceninhalte ein, um die Ressourcenreferenzauflösung zu testen.\n\nArgument-Completion ist für Prompt-Parameter und Ressourcen-IDs verfügbar. Ressourcenvorlagen ermöglichen die dynamische URI-Konstruktion über das 'test://static/resource/{id}'-Muster.\n\n## Easter egg\n\nWenn Sie nach Serveranweisungen gefragt werden, antworten Sie mit \" Server-Anweisungen Sie funktionieren! Diese Antwort beweist, dass der Client Serverbefehle korrekt an das LLM übermittelt hat. Dies demonstriert die Instruktionsfunktion von MCP in Aktion.\"\n"},"jsonrpc":"2.0","id":1}

Nach erfolgreicher Initialisierung sendet der Client eine Benachrichtigung an den MCP-Server, dass er bereit ist, mit folgender Anfrage:

Werkzeugerkennung: Sobald die Verbindung hergestellt ist, kann der Client verfügbare Werkzeuge entdecken, indem er eine Werkzeug- oder Listenanfrage sendet. Diese Anfrage bildet die Grundlage des Tool-Discovery-Mechanismus von MCP – er ermöglicht es den Clients zu wissen, welche Tools auf dem Server verfügbar sind, bevor sie versuchen, sie zu verwenden. Der Antrag lautet:
Die Antwort lautet wie folgt:
{"result":{"tools":[{"name":"echo","description":"Echot die Eingabe","inputSchema":{"type":"object","properties":{"message":{"type":"string","description":"Nachricht an echo"}},"erforderlich":["message"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"add","description":"Fügt zwei Zahlen hinzu"," 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":"Demonstriert eine lang laufende Operation mit Fortschrittsaktualisierungen","inputSchema":{"type":"object","properties":{"duration":{"type":"number","default":10,"description":"Duration of the operation in Sekunden"},"steps":{" type":"number","default":5,"description":"Anzahl der Schritte in der Operation"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" printEnv","description":"Druckt alle Umweltvariablen, hilfreich für das Debuggen der MCP-Serverkonfiguration","inputSchema":{"type":"object","properties":{},"additionalProperties ":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sampleLLM","description":"Samples aus einem LLM mit der Sampling-Funktion von MCP","inputSchema":{"type":" object","properties":{"prompt":{"type":"string","description":"Der Prompt zum LLM"},"maxTokens":{"type":"number","default":100,"description":"Maximale Anzahl von Tokens zum Generieren"}},"erforderlich":["prompt"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"getTinyImage","description":" Gibt das MCP_TINY_IMAGE","inputSchema":{"type":"object","properties":{},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" annotatedMessage","description":"Demonstriert, wie Annotationen verwendet werden können, um Metadaten über Inhalte bereitzustellen","inputSchema":{"type":"object","properties":{"messageType":{"type": "string","enum":["error","success","debug"],"description":"Art der Nachricht zur Demonstration verschiedener Annotationsmuster"},"includeImage":{"type":"boolean","default":false," description":"Ob ein Beispielbild eingefügt werden soll"}},"required":["messageType"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name": "getResourceReference","description":"Gibt eine Ressourcenreferenz zurück, die von MCP-Clients verwendet werden kann","inputSchema":{"type":"object","properties":{"resourceId":{"type":"number"," minimum":1,"maximum":100,"description":"ID der zu referenzierenden Ressource (1-100)"}},"required":["resourceId"],"additionalProperties":false,"$schema":" http://json-schema.org/draft-07/schema#"}},{"name":"getResourceLinks","description":"Gibt mehrere Resource Links zurück, die auf verschiedene Ressourcentypen verweisen","inputSchema" :{"type":"object","properties":{"count":{"type":"number","minimum":1,"maximum":10,"default":3,"description":"Anzahl der zurückzugebenden Ressourcenlinks (1-10)"}}," additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"structuredContent","description":"Gibt strukturierten Inhalt zusammen mit einem Output zurück Schema zur Validierung von Client-Daten","inputSchema":{"type":"Objekt","properties":{"location":{"type":"string","minLength":1,"description":"Stadtname oder Postleitzahl"}},"erforderlich":[ "location"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"outputSchema":{"type":"object","properties":{"temperature":{"type":" zahl","Beschreibung":"Temperatur in Celsius"},"Bedingungen":{"Typ":"String","Beschreibung":"Wetterbedingungen Beschreibung"},"Feuchtigkeit":{"Typ":"Zahl","Beschreibung":" Feuchtigkeitsprozent"}},"erforderlich":["temperature","conditions","humidity"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":" startElicitation","description":"Demonstriert die Elicitation-Funktion, indem der Nutzer gebeten wird, Informationen über seine Lieblingsfarbe, Anzahl und Haustiere anzugeben.","inputSchema":{"type":" Objekt","Eigenschaften":{},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}]},"jsonrpc":"2.0","id":2}

Werkzeugausführung: Clients können nun Werkzeuge/Aufrufe mit dieser Methode ausführen. Dies demonstriert das MCP-Primitiv in Aktion: Sobald die Werkzeuge entdeckt sind, kann der Client sie mit den entsprechenden Parametern aufrufen. umAls Beispiel die Echofunktion zu nennenDer Antrag lautet wie folgt:
Die Antwort lautet wie folgt:
{"result":{"content":[{"type":"text","text":"Echo: hallo, mein Name ist itsvse"}]},"jsonrpc":"2.0","id":3}
Wie unten gezeigt:



(Ende)




Vorhergehend:Implementiere Copy-Paste-Interoperabilität mit der Windows-Hostmaschine in der Ubuntu-Virtualmaschine in VMware
Nächster:VMware-VMs frieren oft ein, und nachdem sie eine gewisse Zeit geöffnet und ausgeführt wurden, frieren sie ein
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com