Ga naar hoofdinhoud

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:

  1. JSON-RPC 2.0-berichten te accepteren op stdin
  2. Antwoorden te schrijven naar stdout
  3. 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).