Model Context Protocol (MCP) Server

Integrations

  • Provides a Python implementation of both MCP client and server components, allowing Python applications to expose and access MCP capabilities.

  • Employs WebSocket connections for real-time bidirectional communication between MCP clients and servers, supporting the complete MCP handshake and capability negotiation process.

Python-Implementierung des Model Context Protocol (MCP)

Dieses Projekt implementiert einen funktionierenden Model Context Protocol (MCP)-Server und -Client in Python gemäß der anthropischen MCP-Spezifikation. Es demonstriert die wichtigsten Muster des MCP-Protokolls anhand eines einfachen, interaktiven Beispiels.

Was ist MCP?

Das Model Context Protocol (MCP) ist ein offener Standard auf Basis von JSON-RPC 2.0 zur Verbindung von KI-Modellen mit externen Datenquellen und Tools. Es definiert eine Client-Server-Architektur, in der eine KI-Anwendung mit einem oder mehreren MCP-Servern kommuniziert. Jeder Server bietet folgende Funktionen:

  • Tools : Ausführbare Funktionen, die Aktionen ausführen
  • Ressourcen : Datenquellen, die Informationen bereitstellen
  • Eingabeaufforderungen : Vordefinierte Vorlagen oder Workflows

MCP standardisiert die Art und Weise, wie diese Funktionen erkannt und aufgerufen werden, und dient als „USB-C für KI“, das Modellen eine strukturierte Interaktion mit externen Systemen ermöglicht.

Projektstruktur

  • server/ : MCP-Serverimplementierung
    • server.py : WebSocket-Server, der MCP-Anfragen verarbeitet und Beispieltools/-ressourcen bereitstellt
  • client/ : MCP-Client-Implementierung
    • client.py : Demo-Client, der eine Verbindung zum Server herstellt und alle MCP-Funktionen ausübt

Demonstrierte Funktionen

Diese Implementierung zeigt den Kernablauf des MCP-Protokolls:

  1. Fähigkeitsaushandlung : Client-Server-Handshake über initialize
  2. Capability Discovery : Auflistung der verfügbaren Tools und Ressourcen
  3. Toolaufruf : Aufruf des Tools add_numbers mit Parametern
  4. Ressourcenzugriff : Lesen von Textinhalten aus einer Ressource

Aufstellen

  1. Erstellen Sie eine virtuelle Umgebung:
    python3 -m venv .venv source .venv/bin/activate
  2. Installieren Sie Abhängigkeiten:
    pip install -r requirements.txt

Verwendung

  1. Starten Sie den MCP-Server (in einem Terminal):
    python server/server.py
  2. Führen Sie den MCP-Client aus (in einem anderen Terminal):
    python client/client.py

Der Client stellt eine Verbindung zum Server her, führt den MCP-Handshake durch, erkennt Funktionen und demonstriert das Aufrufen von Tools und den Zugriff auf Ressourcen mit formatierter Ausgabe.

Wie es funktioniert

MCP-Server

Der Server:

  • Akzeptiert WebSocket-Verbindungen
  • Reagiert auf JSON-RPC-Anfragen gemäß der MCP-Spezifikation
  • Stellt ein Beispieltool bereit ( add_numbers )
  • Stellt eine Beispielressource bereit ( example.txt )
  • Unterstützt den MCP-Handshake und die Fähigkeitserkennung

MCP-Client

Der Kunde:

  • Verbindet sich mit dem Server über WebSocket
  • Führt den MCP-Handshake aus
  • Entdeckt verfügbare Tools und Ressourcen
  • Demonstriert den Aufruf eines Tools und das Lesen einer Ressource
  • Präsentiert die Ergebnisse in einer formatierten Anzeige

Protokolldetails

MCP implementiert diese Schlüsselmethoden:

VerfahrenBeschreibung
initializeHandshake zur Festlegung der Fähigkeiten
tools/listListe der verfügbaren Tools
tools/callAufrufen eines Tools mit Argumenten
resources/listAuflisten der verfügbaren Ressourcen
resources/readRessourceninhalt lesen
prompts/listListe der verfügbaren Eingabeaufforderungen

Erweiterung des Projekts

Sie können diese Implementierung erweitern durch:

  • Hinzufügen weiterer Tools mit unterschiedlichen Funktionen
  • Hinzufügen dynamischer Ressourcen, die sich bei jedem Lesevorgang ändern
  • Implementieren von Eingabevorlagen für geführte Interaktionen
  • Erstellen interaktiverer Clientanwendungen

Verweise

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Eine Python-Implementierung des MCP-Servers, die es KI-Modellen ermöglicht, über ein standardisiertes Protokoll eine Verbindung mit externen Tools und Datenquellen herzustellen und den Toolaufruf und Ressourcenzugriff über JSON-RPC zu unterstützen.

  1. Was ist MCP?
    1. Projektstruktur
      1. Demonstrierte Funktionen
        1. Aufstellen
          1. Verwendung
            1. Wie es funktioniert
              1. MCP-Server
              2. MCP-Client
            2. Protokolldetails
              1. Erweiterung des Projekts
                1. Verweise

                  Related MCP Servers

                  • -
                    security
                    F
                    license
                    -
                    quality
                    Implements the Model Context Protocol (MCP) to provide AI models with a standardized interface for connecting to external data sources and tools like file systems, databases, or APIs.
                    Last updated -
                    90
                    Python
                    • Apple
                    • Linux
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A streamlined foundation for building Model Context Protocol servers in Python, designed to make AI-assisted development of MCP tools easier and more efficient.
                    Last updated -
                    13
                    Python
                    MIT License
                  • -
                    security
                    F
                    license
                    -
                    quality
                    A simple demonstration project for the Model Control Protocol (MCP) server that provides tools for AI assistants to fetch news articles, perform calculations, retrieve weather data, and generate personalized greetings.
                    Last updated -
                    Python

                  View all related MCP servers

                  ID: 35niv312p3