KonfigurationMCP

MCP

Bob Shell unterstützt das Model Context Protocol (MCP), mit dem Sie Bobs Fähigkeiten durch Verbindung zu externen Diensten und Tools erweitern können.

Was ist MCP?

Ein MCP (Model Context Protocol)-Server fungiert als Brücke zwischen Bob und externen Diensten wie Datenbanken, APIs oder benutzerdefinierten Skripten. Mit MCP können Sie Bobs Fähigkeiten über seine eingebauten Funktionen hinaus erweitern.

MCP-Server bieten Bob:

  • Tool-Erkennung: Zugriff auf verfügbare Tools mit ihren Beschreibungen und Parametern
  • Tool-Aufruf: Die Fähigkeit, bestimmte Tools mit Argumenten aufzurufen und strukturierte Antworten zu erhalten
  • Ressourcenzugriff: Die Fähigkeit, Daten aus bestimmten Ressourcen zu lesen

Vorteile von MCP

  • Funktionalität erweitern: Fügen Sie Bob benutzerdefinierte Fähigkeiten hinzu, die nicht standardmäßig verfügbar sind
  • Mit Diensten integrieren: Verbinden Sie Bob mit Ihren Datenbanken, APIs und anderen Systemen
  • Workflows automatisieren: Erstellen Sie spezialisierte Tools für Ihre spezifischen Bedürfnisse
  • Fähigkeiten teilen: Verteilen Sie nützliche Tools in Ihrem Team

MCP-Server konfigurieren

Sie können MCP-Server-Konfigurationen auf zwei Ebenen verwalten:

  1. Globale Konfiguration: Einstellungen in ~/.bob/settings/mcp.json gelten für alle Workspaces
  2. Projektebenen-Konfiguration: Einstellungen in .bob/mcp.json gelten nur für das aktuelle Projekt

Wenn ein Servername sowohl in globalen als auch in Projektkonfigurationen existiert, hat die Projektebenen-Konfiguration Vorrang.

MCP-Einstellungsdateien bearbeiten

Verwenden Sie Bob IDE oder einen anderen Texteditor, um Ihre MCP-Einstellungsdateien zu ändern.

Das folgende Beispiel zeigt eine grundlegende Stdio-Server-Konfiguration:

{
  "mcpServers": {
    "server1": {
      "command": "python",
      "args": ["/path/to/server.py"],
      "env": {
        "API_KEY": "your_api_key"
      },
      "alwaysAllow": ["tool1", "tool2"],
      "disabled": false
    }
  }
}

Konfigurationseigenschaften

Jede Server-Konfiguration erfordert eine dieser Eigenschaften:

  • command: Pfad zur ausführbaren Datei für Stdio-Transport
  • httpURL: HTTP-Endpunkt-URL für Streamable HTTP-Transport

Optionale Eigenschaften umfassen:

  • args: Befehlszeilenargumente für Stdio-Transport
  • headers: Benutzerdefinierte HTTP-Header für Streamable HTTP-Transport
  • env: Umgebungsvariablen für den Serverprozess
  • cwd: Arbeitsverzeichnis für Stdio-Transport
  • timeout: Anfrage-Timeout in Millisekunden (Standard: 600.000 ms / 10 Minuten)
  • alwaysAllow: Tool-Namen zur automatischen Genehmigung. Bob Shell liest diese Einträge aus der mcp.json und wendet sie beim Start jeder Aufgabe an, sodass aufgelistete Tools keine Genehmigungsaufforderung auslösen.
  • disabled: Auf true setzen, um den Server zu deaktivieren

Transporttypen

MCP unterstützt drei Möglichkeiten zur Kommunikation mit Servern:

Stdio-Transport

Stdio-Transport führt Server lokal auf Ihrem Computer aus:

  • Verwendet Standard-Ein-/Ausgabeströme für die Kommunikation
  • Bietet geringere Latenz und bessere Sicherheit
  • Läuft als Kindprozess auf Ihrem Computer

Beispielkonfiguration:

{
 "mcpServers": {
   "local-server": {
     "command": "node",
     "args": ["server.js"],
     "cwd": "/path/to/project",
     "env": {
       "API_KEY": "your_api_key"
     },
     "alwaysAllow": ["tool1", "tool2"]
   }
 }
}

SSE-Transport (entfernt)

Bobs MCP-Client unterstützt den eigenständigen HTTP+SSE-Transport nicht mehr. Die Eigenschaft url wird nicht erkannt. Verwende stattdessen Streamable HTTP-Transport oder STDIO-Transport. Hinweise zur Migration findest du unter MCP-Server-Transports.

Streamable HTTP-Transport

Streamable HTTP-Transport verbindet sich über HTTP mit Remote-Servern:

  • Verwendet eine bidirektionale HTTP-Verbindung
  • Unterstützt sowohl Anfrage/Antwort als auch server-gepushte Nachrichten
  • Funktioniert mit Servern, die auf verschiedenen Computern gehostet werden

Beispielkonfiguration:

{
 "mcpServers": {
   "remote-server": {
     "httpURL": "https://your-server-url.com/mcp"
   }
 }
}

Plattformspezifische Beispiele

Windows-Konfiguration

{
  "mcpServers": {
    "puppeteer": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}

macOS- und Linux-Konfiguration

{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-puppeteer"
      ]
    }
  }
}

Runtime-Versions-Manager-Konfiguration

Bei Verwendung von Versions-Managern wie asdf oder mise:

{
  "mcpServers": {
    "mcp-batchit": {
      "command": "mise",
      "args": [
        "x",
        "--",
        "node",
        "/Users/myself/workspace/mcp-batchit/build/index.js"
      ],
      "alwaysAllow": [
        "search",
        "batch_execute"
      ]
    }
  }
}

Unterstützte MCP-Protokollversionen

Bob Shell unterstützt die folgenden MCP-Spezifikationsversionen:

ProtokollversionStatus
2025-11-25Unterstützt
2025-06-18Unterstützt
2025-03-26Unterstützt
2024-11-05Unterstützt
2024-10-07Unterstützt

Bob Shell handelt beim Verbinden mit einem Server die höchste gegenseitig unterstützte Version aus. Die Spezifikationsversion 2026-07-28 wird noch nicht unterstützt.

Wie ist dieses Thema?