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:
- JSON-RPC 2.0-Nachrichten über stdin akzeptieren
- Antworten an stdout senden
- Verfügbare Tools über die Methode
tools/listdeklarieren
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).