配置MCP

MCP

Bob Shell 支援模型上下文協定(MCP),允許您透過連接到外部服務和工具來擴展 Bob 的功能。本指南說明如何配置和使用 MCP 伺服器與 Bob Shell。

什麼是 MCP?

MCP(模型上下文協定)伺服器充當 Bob 與外部服務(如資料庫、API 或自訂腳本)之間的橋樑。透過 MCP,您可以將 Bob 的功能擴展到其內建功能之外。

MCP 伺服器為 Bob 提供:

  • **工具發現:**存取可用工具及其說明和參數
  • **工具呼叫:**使用參數呼叫特定工具並接收結構化回應的能力
  • **資源存取:**從特定資源讀取資料的能力

為什麼使用 MCP?

  • **擴展功能:**為 Bob 新增開箱即用不可用的自訂功能
  • **與服務整合:**將 Bob 連接到您的資料庫、API 和其他系統
  • **自動化工作流程:**為您的特定需求建立專門的工具
  • **共享功能:**在團隊中分發有用的工具

配置 MCP 伺服器

您可以在兩個層級管理 MCP 伺服器配置:

  1. 全域配置:~/.bob/settings/mcp.json 中的設定套用於所有工作區
  2. 專案層級配置:.bob/mcp.json 中的設定僅套用於當前專案

當伺服器名稱同時存在於全域和專案配置中時,專案層級配置優先。

編輯 MCP 設定檔案

使用 Bob IDE 或其他文字編輯器修改您的 MCP 設定檔案。

參考以下範例:

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

配置屬性

每個伺服器配置需要以下屬性之一:

  • command:Stdio 傳輸的可執行檔路徑
  • httpURL:Streamable HTTP 傳輸的 HTTP 端點 URL

可選屬性包括:

  • args:Stdio 傳輸的命令列參數
  • headers:Streamable HTTP 傳輸的自訂 HTTP 標頭
  • env:伺服器程序的環境變數
  • cwd:Stdio 傳輸的工作目錄
  • timeout:請求逾時(毫秒)(預設值:600,000ms; 10min)
  • alwaysAllow:要自動核准的工具名稱。Bob Shell 從 mcp.json 讀取這些項目並在每個任務開始時套用,因此列出的工具不會提示審核。
  • disabled:設定為 true 以停用伺服器

傳輸類型

MCP 支援兩種與伺服器通訊的方式:

STDIO 傳輸

STDIO 傳輸在您的機器上本地執行伺服器:

  • 使用標準輸入/輸出串流進行通訊
  • 提供較低的延遲和更好的安全性
  • 在您的機器上作為子程序執行

範例配置:

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

SSE 傳輸(已移除)

Bob 的 MCP 客戶端不再支援獨立的 HTTP+SSE 傳輸。url 屬性不受支援。請改用 Streamable HTTP 傳輸或 STDIO 傳輸。如需遷移指引,請參閱 MCP 伺服器傳輸。

Streamable HTTP 傳輸

Streamable HTTP 傳輸使用 HTTP 連線到遠端伺服器:

  • 使用雙向 HTTP 連線
  • 同時支援請求/回應訊息和伺服器推送訊息
  • 適用於托管在不同機器上的伺服器

範例設定:

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

平台特定範例

Windows 配置

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

macOS 和 Linux 配置

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

執行階段版本管理器配置

使用版本管理器(如 asdf 或 mise)時:

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

支援的 MCP 協定版本

Bob Shell 支援以下 MCP 規格版本:

協定版本狀態
2025-11-25支援
2025-06-18支援
2025-03-26支援
2024-11-05支援
2024-10-07支援

連接伺服器時,Bob Shell 會協商雙方都支援的最高版本。目前尚未支援 2026-07-28 規格版本。

這個主題如何?