Aufbau eines minimalen MCP-Servers

Ein Minimalserver stellt eine begrenzte Funktion mit vorhersehbaren Argumenten und Ergebnissen bereit.

Was Sie lernen werden

  • Erklären Sie: Host, Client und Server
  • Wenden Sie die Idee in einem Beispiel an: Aufbau eines minimalen MCP-Servers
  • Erkennen Sie Einschränkungen und überprüfen Sie das Übungsergebnis

Ein Minimalserver stellt eine begrenzte Funktion mit vorhersehbaren Argumenten und Ergebnissen bereit. Beginnen Sie mit fiktiven Aktien und keinen Schreibvorgängen.

Dies ist ein konzeptionelles oder externes Labor. Es wird nicht davon ausgegangen, dass die Anwendung alle beschriebenen Steuerelemente verfügbar macht.

Wie es funktioniert, Schritt für Schritt

Demonstrationshandler und Tests

Der folgende Demonstrationshandler verwendet nur fiktive Daten. Registrieren Sie einen tatsächlichen MCP-Server mit dem von Ihnen gewählten SDK und Transport und testen Sie dann die Erkennung und Aufrufe mit einem kompatiblen Client. stdio eignet sich für lokale Unterprozesse; Streamable HTTP eignet sich für Remote-Endpunkte. Überprüfen Sie explizit die Kompatibilität mit Legacy-SSE oder neueren Revisionen.

const stock = new Map([['LX-240', 3], ['P-12', 5], ['A-7', 2]]);

function getProductStock(input) {
    if (!input || typeof input.sku !== 'string' || !input.sku.trim())
        throw new TypeError('A nonempty sku is required.');
    const sku = input.sku.trim();
    return stock.has(sku)
        ? { status: 'found', sku, quantity: stock.get(sku), synthetic: true }
        : { status: 'not_found', sku, synthetic: true };
}

console.log(getProductStock({ sku: 'LX-240' }));
// { status: 'found', sku: 'LX-240', quantity: 3, synthetic: true }

Das erklärende Schaubild

Aufbau eines minimalen MCP-Servers Folgen Sie den durchgezogenen Pfeilen für den Hauptfluss. Gestrichelte blaue Pfeile liefern Daten oder Kontext; Gestrichelte rosa Pfeile zeigen Feedback oder zurückgegebene Ergebnisse an. Farben und Formen unterscheiden Modelle, Geschäfte, Entscheidungen und Ergebnisse. Verbindungen: MCP-Client → MCP-Server; MCP-Server → Validieren Sie Argumente und Berechtigungen; Validieren Sie Argumente und Berechtigungen → Werkzeughandler; Werkzeughandler → Fiktive Aktiendaten; Fiktive Aktiendaten → Werkzeugergebnisse; Werkzeugergebnisse → Spielplatztests; Spielplatztests → Menschliche Überprüfung; Eingabe-/Ausgabeschema → Validieren Sie Argumente und Berechtigungen; Transport und Authentifizierung → MCP-Server; Bewertungsdatensatz → Spielplatztests. M04 · Beziehungskarte Aufbau eines minimalen MCP-Servers Verarbeitung MCP-Client Daten Eingabe-/Ausgabeschema Entscheidung/Kontrolle Transport und Authentifizierung Werkzeug / Service MCP-Server Entscheidung/Kontrolle Validieren Sie Argumente und Berechtigungen Verarbeitung Werkzeughandler Speichern / Index Fiktive Aktiendaten Daten Werkzeugergebnisse Speichern / Index Bewertungsdatensatz Verarbeitung Spielplatztests Entscheidung/Kontrolle Menschliche Überprüfung Hauptfluss Daten und Kontext Feedback und Rückgabe

Folgen Sie den durchgezogenen Pfeilen für den Hauptfluss. Gestrichelte blaue Pfeile liefern Daten oder Kontext; Gestrichelte rosa Pfeile zeigen Feedback oder zurückgegebene Ergebnisse an. Farben und Formen unterscheiden Modelle, Geschäfte, Entscheidungen und Ergebnisse. Scrollen Sie auf kleinen Bildschirmen horizontal, um das gesamte Schaubild zu verfolgen.

Ein vollständiges Beispiel

get_product_stock akzeptiert eine Zeichenfolgen-SKU. LX-240 gibt Menge=3 zurück; Die unbekannte SKU gibt not_found anstelle von Null zurück. Ein echter Server prüft auch die Katalogberechtigungen.

{"name":"get_product_stock","description":"Read fictional stock; never reserve it","inputSchema":{"type":"object","properties":{"sku":{"type":"string","minLength":1}},"required":["sku"],"additionalProperties":false}}

Probieren Sie es selbst aus

  1. Implementieren Sie den Vertrag mithilfe der Vorrichtung und testen Sie fehlende, unbekannte und gültige Eingaben.
  2. Notieren Sie die Eingabe, die Quelle und das erwartete Ergebnis, bevor Sie das Experiment durchführen. Verwenden Sie im Beispiel nur die fiktiven Daten.
  3. Folgen Sie den Diagrammschritten. Notieren Sie bei jedem Schritt, welche Informationen empfangen und produziert werden. Verwechseln Sie Zwischenergebnisse nicht mit Endergebnissen.
  4. Wiederholen Sie den Vorgang, nachdem Sie erforderliche Informationen entfernt oder die Eingabe mehrdeutig gemacht haben. Prüfen Sie, ob das System eine Antwort klärt, stoppt oder erfindet.
  5. Vergleichen Sie mit der erklärten Lösung. Bewahren Sie die Konfiguration, das Datum, das Ergebnis und eine Erklärung für Unterschiede auf. Ändern Sie eine Sache und testen Sie es erneut.

Eine erklärte Lösung

Der Vertrag unterscheidet zwischen „gefunden“, „nicht gefunden“ und „Fehler“, sodass Kunden nicht raten müssen. Mit einer erfolgreichen Übung können Sie den Zusammenhang zwischen Input, Phasen und Ergebnis aufzeigen. Bei fehlenden Informationen ist eine vorsichtige Antwort sinnvoller als erfundene Details. Vergleichen Sie mehr als nur Stil: Überprüfen Sie auch Bedingungen, Quellen und Vorgänge.

Wann dieser Ansatz hilft und wo seine Grenzen liegen

Pin SDK und Protokollrevision; Ein Vertragsbeispiel ist kein vollständiger Handschlag. Wählen Sie diesen Ansatz, wenn er einen gemessenen Bedarf verbessert. Behalten Sie eine einfache Ausgangsbasis bei und vergleichen Sie die Ergebnisse mit identischen Eingaben. Ein erfolgreiches Beispiel stellt nicht in jeder Situation Verlässlichkeit dar.

Überprüfen Sie Ihr Wissen

Bietet ein Server mit Tools automatisch Ressourcen und Eingabeaufforderungen?

Nein. Fähigkeiten sind optional und müssen entdeckt und überprüft werden.

Wer führt einen vom Modell vorgeschlagenen Aufruf aus?

Die Anwendung oder der Hostdienst nach der Validierung. Das Modell erhält nicht automatisch uneingeschränkten Zugriff.

Zu welchem ​​Ergebnis soll diese Übung führen?

Der Vertrag unterscheidet zwischen „gefunden“, „nicht gefunden“ und „Fehler“, sodass Kunden nicht raten müssen.

Wichtige Begriffe

  • MCP-Server: Ein Dienst, der Funktionen über das Model Context Protocol verfügbar macht.
  • Werkzeugaufruf: Eine strukturierte Anfrage zur Nutzung einer externen Funktion.
  • Autorisierung / Autorisierung: Überprüfung des Zugriffsrechts auf einen Vorgang oder eine Ressource.

Quellen und Ihr nächster Schritt

Zur Vorbereitung: M03 – MCP-Sicherheit und Fehlerbehebung