Zum Hauptinhalt springen

MCP-Tools

Sinaptic® DROID+ unterstützt das Model Context Protocol (MCP) zur Anbindung externer Tools an Ihre Agenten. MCP-Server bieten Funktionen wie Websuche, Dateizugriff, Datenbankabfragen und beliebige benutzerdefinierte APIs — all diese stehen Ihren Agenten als aufrufbare Tools zur Verfügung.

Wie MCP in Sinaptic® DROID+ funktioniert

MCP-Server laufen als Subprozesse neben Sinaptic® DROID+. Die Kommunikation erfolgt über stdio mittels JSON-RPC 2.0. Wenn ein Agent ein Tool benötigt, sendet Sinaptic® DROID+ eine Anfrage an den entsprechenden MCP-Server und gibt das Ergebnis an das LLM zurück.

Agent → DROID+ → MCP-Server (Subprozess) → Externer Dienst
← Ergebnis

Jeder MCP-Server deklariert eine Reihe von Tools mit Namen, Beschreibungen und Eingabeschemata. Das LLM sieht diese als verfügbare Funktionsaufrufe.

Konfiguration

MCP-Server werden in der droid.yaml unter dem Abschnitt mcp konfiguriert:

mcp:
servers:
web-search:
command: "npx"
args: ["-y", "@anthropic/mcp-web-search"]
env:
BRAVE_API_KEY: "${BRAVE_API_KEY}"

filesystem:
command: "npx"
args: ["-y", "@anthropic/mcp-filesystem", "/data"]

Jeder Server-Eintrag spezifiziert:

  • command — die auszuführende Datei
  • args — Kommandozeilenargumente
  • env — Umgebungsvariablen, die an den Subprozess übergeben werden (unterstützt ${VAR}-Syntax)

Verwendung von MCP-Tools in Agenten

Sobald MCP-Server global konfiguriert sind, können Agenten deren Tools verwenden, indem sie diese referenzieren:

# configs/agents/research-agent.yaml
name: "research-agent"
description: "Agent, der im Web suchen und Dateien lesen kann"

model:
name: "gpt-4o-mini"

personality: |
Du bist ein Forschungsassistent. Nutze die Websuche, um aktuelle Informationen zu finden,
und das Dateisystem, um Referenzdokumente zu lesen.

tools:
- name: "current_time"
type: "builtin"

# MCP-Tools von konfigurierten Servern sind automatisch verfügbar

Wenn MCP-Server in der droid.yaml konfiguriert sind, stehen deren Tools allen Agenten zur Verfügung. Das LLM erhält die Tool-Definitionen als Teil des Function-Calling-Schemas und kann sie bei Bedarf aufrufen.

Beliebte MCP-Server

Websuche (Brave)

mcp:
servers:
web-search:
command: "npx"
args: ["-y", "@anthropic/mcp-web-search"]
env:
BRAVE_API_KEY: "${BRAVE_API_KEY}"

Stellt das Tool web_search bereit. Erfordert einen Brave Search API-Key.

Dateisystemzugriff

mcp:
servers:
filesystem:
command: "npx"
args: ["-y", "@anthropic/mcp-filesystem", "/data/docs"]

Stellt die Tools read_file, write_file und list_directory bereit. Das Pfad-Argument schränkt den Zugriff auf dieses Verzeichnis ein.

Datenbank (PostgreSQL)

mcp:
servers:
database:
command: "npx"
args: ["-y", "@anthropic/mcp-postgres"]
env:
DATABASE_URL: "${DATABASE_URL}"

Stellt das Tool query für schreibgeschützte SQL-Abfragen an Ihre Datenbank bereit.

Eigene MCP-Server

Sie können Ihren eigenen MCP-Server in einer beliebigen Sprache schreiben. Der Server muss lediglich:

  1. JSON-RPC 2.0-Nachrichten über stdin akzeptieren
  2. Antworten an stdout senden
  3. Verfügbare Tools über die Methode tools/list deklarieren

Beispiel mit einem Python-MCP-Server:

mcp:
servers:
my-tools:
command: "python"
args: ["./tools/my_server.py"]
env:
API_TOKEN: "${MY_API_TOKEN}"

Weitere Details zum Erstellen von Servern finden Sie in der MCP-Spezifikation.

MCP + Docker

Wenn Sinaptic® DROID+ in Docker ausgeführt wird, müssen die Runtimes der MCP-Server innerhalb des Containers verfügbar sein. Für npm-basierte MCP-Server benötigen Sie Node.js im Image.

Option 1: Verwenden Sie ein benutzerdefiniertes Dockerfile, das Node.js hinzufügt:

FROM sinapticai/droid:latest AS base
# MCP-Server-Abhängigkeiten hinzufügen
COPY --from=node:20-alpine /usr/local/bin/node /usr/local/bin/
COPY --from=node:20-alpine /usr/local/bin/npx /usr/local/bin/

Option 2: Führen Sie MCP-Server als separate Container aus und konfigurieren Sie Sinaptic® DROID+ so, dass die Verbindung über das Netzwerk anstatt über stdio erfolgt (erfordert einen netzwerkfähigen MCP-Transport).

MCP-Debugging

Aktivieren Sie das Debug-Logging, um die MCP-Kommunikation zu sehen:

logging:
level: "debug"

Dadurch werden alle JSON-RPC-Nachrichten zwischen Sinaptic® DROID+ und den MCP-Servern protokolliert, einschließlich Tool-Aufrufen und Ergebnissen.

Einschränkungen

  • MCP-Server in der Community Edition funktionieren genauso wie in Pro/Enterprise — es gibt keine Funktionseinschränkungen für MCP.
  • Jeder MCP-Server läuft als separater Subprozess. Halten Sie die Anzahl im Rahmen (normalerweise 2-5 Server).
  • MCP-Server müssen auf dem System verfügbar sein, auf dem Sinaptic® DROID+ läuft (oder im Container).