MCP-hulpmiddelen
Sinaptic® DROID+ ondersteunt het Model Context Protocol (MCP) voor het verbinden van externe hulpmiddelen (tools) met uw agents. MCP-servers bieden mogelijkheden zoals zoeken op het web, bestandstoegang, databasequery's en elke aangepaste API — allemaal beschikbaar voor uw agents als aanroepbare tools.
Hoe MCP werkt in Sinaptic® DROID+
MCP-servers draaien als sub-processen naast Sinaptic® DROID+. Ze communiceren via stdio met behulp van JSON-RPC 2.0. Wanneer een agent een tool moet gebruiken, stuurt Sinaptic® DROID+ een verzoek naar de betreffende MCP-server en geeft het resultaat terug aan de LLM.
Agent → DROID+ → MCP-server (sub-proces) → Externe service
← Resultaat
Elke MCP-server declareert een set tools met namen, beschrijvingen en invoerschema's. De LLM ziet deze als beschikbare functie-aanroepen.
Configuratie
MCP-servers worden geconfigureerd in droid.yaml onder de sectie mcp:
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"]
Elke serververmelding specificeert:
- command — het uit te voeren bestand
- args — opdrachtregelargumenten
- env — omgevingsvariabelen die aan het sub-proces worden doorgegeven (ondersteunt
${VAR}syntaxis)
MCP-tools gebruiken in agents
Zodra MCP-servers globaal zijn geconfigureerd, kunnen agents hun tools gebruiken door ernaar te verwijzen:
# configs/agents/research-agent.yaml
name: "research-agent"
description: "Agent die op het web kan zoeken en bestanden kan lezen"
model:
name: "gpt-4o-mini"
personality: |
U bent een onderzoeksassistent. Gebruik zoeken op het web om actuele informatie te vinden
en het bestandssysteem om referentiedocumenten te lezen.
tools:
- name: "current_time"
type: "builtin"
# MCP-tools van geconfigureerde servers zijn automatisch beschikbaar
Wanneer MCP-servers zijn geconfigureerd in droid.yaml, zijn hun tools beschikbaar voor alle agents. De LLM ontvangt de tooldefinities als onderdeel van het functie-aanroepschema en kan ze naar behoefte aanroepen.
Populaire MCP-servers
Zoeken op het web (Brave)
mcp:
servers:
web-search:
command: "npx"
args: ["-y", "@anthropic/mcp-web-search"]
env:
BRAVE_API_KEY: "${BRAVE_API_KEY}"
Biedt de web_search tool. Vereist een Brave Search API-sleutel.
Bestandssysteemtoegang
mcp:
servers:
filesystem:
command: "npx"
args: ["-y", "@anthropic/mcp-filesystem", "/data/docs"]
Biedt de tools read_file, write_file, list_directory. Het pad-argument beperkt de toegang tot die map.
Database (PostgreSQL)
mcp:
servers:
database:
command: "npx"
args: ["-y", "@anthropic/mcp-postgres"]
env:
DATABASE_URL: "${DATABASE_URL}"
Biedt de query tool voor alleen-lezen SQL-query's op uw database.
Aangepaste MCP-servers
U kunt uw eigen MCP-server in elke taal schrijven. De server hoeft alleen maar:
- JSON-RPC 2.0-berichten te accepteren op stdin
- Antwoorden te schrijven naar stdout
- Beschikbare tools te declareren via de methode
tools/list
Voorbeeld met een Python MCP-server:
mcp:
servers:
my-tools:
command: "python"
args: ["./tools/my_server.py"]
env:
API_TOKEN: "${MY_API_TOKEN}"
Zie de MCP-specificatie voor details over het bouwen van servers.
MCP + Docker
Wanneer u Sinaptic® DROID+ in Docker draait, moeten de runtimes van de MCP-servers beschikbaar zijn in de container. Voor op npm gebaseerde MCP-servers hebt u Node.js in het image nodig.
Optie 1: Gebruik een aangepast Dockerfile dat Node.js toevoegt:
FROM sinapticai/droid:latest AS base
# Voeg MCP-serverafhankelijkheden toe
COPY --from=node:20-alpine /usr/local/bin/node /usr/local/bin/
COPY --from=node:20-alpine /usr/local/bin/npx /usr/local/bin/
Optie 2: Draai MCP-servers als afzonderlijke containers en configureer Sinaptic® DROID+ om verbinding te maken via het netwerk in plaats van stdio (vereist een netwerk-geschikt MCP-transport).
MCP debuggen
Schakel debug-logboekregistratie in om de MCP-communicatie te zien:
logging:
level: "debug"
Hiermee worden alle JSON-RPC-berichten tussen Sinaptic® DROID+ en MCP-servers gelogd, inclusief tool-aanroepen en resultaten.
Beperkingen
- MCP-servers in de Community Edition werken hetzelfde als in Pro/Enterprise — er zijn geen functiebeperkingen voor MCP.
- Elke MCP-server draait als een afzonderlijk sub-proces. Houd het aantal redelijk (meestal 2-5 servers).
- MCP-servers moeten beschikbaar zijn op het systeem waar Sinaptic® DROID+ draait (of in de container).