在 Bob 中使用 MCP
模型上下文協定(MCP)透過連接到外部工具和服務來擴展 Bob 的功能。本指南向您展示如何使用 Bob 配置、管理和使用 MCP 伺服器。
如需概念資訊,請參閱了解 MCP。
配置層級
您可以在兩個層級配置 MCP 伺服器:
- 全域:儲存在
~/.bob/mcp.json中,適用於所有工作區 - 專案:儲存在專案根目錄的
.bob/mcp.json中,允許透過版本控制進行團隊共享
當伺服器名稱衝突時,專案層級配置優先於全域設定。
編輯配置檔案
您可以從設定選單編輯 MCP 配置檔案:
- 點擊 Bob 面板中的 圖示。
- 選擇 MCP 標籤。
- 點擊適當的按鈕:
- 編輯全域 MCP:開啟全域
~/.bob/mcp.json檔案 - 編輯專案 MCP:開啟專案特定的
.bob/mcp.json檔案(如果不存在,Bob 會建立它)
- 編輯全域 MCP:開啟全域
兩個檔案都使用 JSON 格式,包含一個 mcpServers 物件,其中包含命名的伺服器配置。
尋找和安裝伺服器
IBM Bob 不包含預安裝的 MCP 伺服器。要尋找伺服器:
- 建置您自己的:使用 MCP SDK 建立自訂伺服器(請參閱 MCP GitHub 儲存庫)
- 社群伺服器:探索 MCP 生態系統中社群貢獻的 MCP 伺服器
啟用或停用 MCP 伺服器
當您停用 MCP 伺服器時,Bob 會從系統提示中移除所有與 MCP 相關的邏輯和定義,減少 token 使用量。Bob 無法連接到任何 MCP 伺服器,並且 use_mcp_tool 和 access_mcp_resource 工具不可用。此設定預設為啟用。
要啟用或停用 MCP 伺服器:
- 點擊 Bob 面板中的 圖示。
- 選擇 MCP 標籤。
- 勾選或取消勾選使用 MCP 伺服器。
啟用或停用 MCP 伺服器建立
當您停用 MCP 伺服器建立時,Bob 會從系統提示中移除 Bob 用於撰寫 MCP 伺服器的指示。Bob 保留操作現有 MCP 伺服器的上下文,減少 token 使用量。此設定預設為啟用。
要啟用或停用 MCP 伺服器建立:
- 點擊 Bob 面板中的 圖示。
- 選擇 MCP 標籤。
- 勾選或取消勾選啟用 MCP 伺服器建立。
啟用或停用個別 MCP 工具
您可以啟用或停用 MCP 伺服器中的特定工具,以控制 Bob 可以存取哪些功能。這提供了對 MCP 功能的細粒度控制,並透過排除未使用的工具定義來幫助減少上下文視窗使用量。
要管理個別工具:
- 點擊 Bob 面板中的 圖示。
- 選擇 MCP 標籤。
- 在清單中找到 MCP 伺服器。
- 展開伺服器以檢視其可用工具。
- 根據需要切換個別工具的開關。
停用未使用的工具可減少工具定義消耗的上下文量,為您的程式碼和對話歷史記錄留出更多空間。
傳輸類型
MCP 支援不同的傳輸類型用於伺服器通訊。根據伺服器執行的位置以及您想要如何部署它來選擇傳輸。如需所有傳輸類型的詳細資訊,請參閱 MCP 伺服器傳輸。
對於需要 OAuth 2.1 使用者驗證而非靜態權杖的伺服器,請參閱 MCP OAuth 驗證。
對於需要 OAuth 2.1 使用者驗證而非靜態權杖的伺服器,請參閱 MCP OAuth 驗證。
STDIO 傳輸
對在您的機器上本地執行的伺服器使用 STDIO 傳輸。
優勢:
- 較低的延遲(無網路開銷)
- 更好的安全性(無網路暴露)
- 更簡單的設定(不需要 HTTP 伺服器)
配置參數:
| 參數 | 必需 | 說明 |
|---|---|---|
command | 是 | 要執行的可執行檔(例如,node、python、npx) |
args | 否 | 要傳遞給命令的參數陣列 |
cwd | 否 | 伺服器程序的工作目錄 |
env | 否 | 伺服器程序的環境變數 |
alwaysAllow | 否 | 要自動批准的工具名稱陣列 |
disabled | 否 | 設定為 true 以停用此伺服器 |
範例:
{
"mcpServers": {
"local-server": {
"command": "node",
"args": ["server.js"],
"cwd": "/path/to/project/root",
"env": {
"API_KEY": "your_api_key"
},
"alwaysAllow": ["tool1", "tool2"],
"disabled": false
}
}
}如需更詳細的資訊,請參閱 STDIO 傳輸。
Streamable HTTP 傳輸
使用 Streamable HTTP 傳輸存取透過 HTTP/HTTPS 存取的遠端伺服器。這是新遠端伺服器實作的現代標準。
優勢:
- 可以託管在不同的機器上
- 支援多個客戶端連接
- 允許集中部署
- 支援簡單的請求-回應和串流傳輸
配置參數:
| 參數 | 必需 | 說明 |
|---|---|---|
url | 是 | MCP 端點的完整 URL |
headers | 否 | 自訂 HTTP 標頭(例如驗證權杖) |
alwaysAllow | 否 | 自動核准的工具名稱陣列 |
disabled | 否 | 設定為 true 可停用此伺服器 |
範例:
{
"mcpServers": {
"remote-server": {
"type": "streamable-http",
"url": "https://your-server-url.com/mcp",
"headers": {
"Authorization": "Bearer your-token"
},
"alwaysAllow": ["tool3"],
"disabled": false
}
}
}如需更詳細的資訊,請參閱 Streamable HTTP 傳輸。
SSE 傳輸(舊版)
對透過 HTTP/HTTPS 存取的遠端伺服器使用 SSE 傳輸。對於新的遠端伺服器,請改用 Streamable HTTP 傳輸。
優勢:
- 可以託管在不同的機器上
- 支援多個客戶端連接
- 允許集中部署
配置參數:
| 參數 | 必需 | 說明 |
|---|---|---|
url | 是 | 遠端 MCP 伺服器的完整 URL 端點 |
headers | 否 | 自訂 HTTP 標頭(例如,驗證 token) |
alwaysAllow | 否 | 要自動批准的工具名稱陣列 |
disabled | 否 | 設定為 true 以停用此伺服器 |
範例:
{
"mcpServers": {
"remote-server": {
"url": "https://your-server-url.com/mcp",
"headers": {
"Authorization": "Bearer your-token"
},
"alwaysAllow": ["tool3"],
"disabled": false
}
}
}使用 Bob 建立 MCP 伺服器
您可以要求 Bob 為您需要的特定功能建置自訂 MCP 伺服器。
先決條件:啟用啟用 MCP 伺服器建立設定。
要建立伺服器:
-
向 Bob 請求工具或功能。例如:
- 「建立一個獲取目前比特幣價格的 MCP 工具」
- 「建置一個與 GitHub Gist API 互動的 MCP 伺服器」
-
Bob 將:
- 在預設 MCP 目錄中建構伺服器專案(通常是 TypeScript)
- 使用必要的 API 呼叫實作請求的工具
- 如果需要,提示您輸入 API 金鑰或憑證
- 將伺服器配置添加到您的設定檔案
- 自動連接到新伺服器
如需有關工具機制的更多資訊,請參閱了解 Bob 的工具。
管理個別伺服器
要存取伺服器設定:
- 點擊 Bob 面板中的 圖示。
- 選擇 MCP 標籤。
- 在清單中找到伺服器。
可用操作:
- 刪除:點擊 並確認刪除
- 重新啟動:點擊 以重新啟動伺服器
- 啟用/停用:使用電源開關打開或關閉伺服器
- 網路逾時:設定回應逾時(30 秒到 5 分鐘,預設 1 分鐘)
- 管理工具:展開伺服器以啟用或停用個別工具
自動批准工具
MCP 工具自動批准預設為停用,並按工具運作:
- 在自動批准操作中啟用全域「使用 MCP 伺服器」選項。
- 在 MCP 伺服器設定中,找到工具。
- 勾選工具名稱旁邊的始終允許。
全域設定優先——如果停用,則不會自動批准任何 MCP 工具。
有效使用 MCP 工具
配置 MCP 伺服器後,Bob 會自動偵測可用的工具。有效使用取決於清晰的工具定義。
工作流程
- 在 Bob 聊天介面中輸入您的請求
- Bob 分析您的請求和可用的 MCP 工具
- Bob 建議使用工具;您批准(除非自動批准)
撰寫有效的工具描述
Bob 正確選擇和使用工具的能力取決於描述品質。在定義 MCP 工具時遵循以下指南:
工具名稱
使用描述性、明確的名稱來指示主要功能。
工具描述
提供包含以下內容的全面摘要:
- 工具的功能
- 其目的和使用案例
- 先決條件或重要上下文
- 預期結果
參數描述
對於每個參數,指定:
- 目的和預期的資料類型
- 格式要求或約束
- 有效值範例
- 是可選還是必需
範例
不良描述:
Gets data良好描述:
Retrieves user profile data from the API using a user ID.
Returns JSON containing username, email, and account creation date.
Requires valid authentication token in environment.額外指導
使用自訂規則為您的團隊定義首選方法、複雜工作流程或工具優先順序。
MCP 安全注意事項
使用 MCP 伺服器會引入安全注意事項,您應在部署前仔細評估。
資料隱私風險
外部 MCP 伺服器:
- 可能會將您的資料傳送到外部提供者或第三方服務
- 可能會暴露敏感程式碼、憑證或專有資訊
- 可能以您無法控制的方式儲存或記錄資料
建議:
- 使用前檢閱 MCP 伺服器的資料處理政策
- 避免將外部 MCP 伺服器用於敏感或專有程式碼
- 對於機密專案,首選本地 MCP 伺服器
本地安全風險
本地 MCP 伺服器:
- 以與 Bob 相同的權限執行
- 可以存取您的檔案系統、環境變數和系統資源
- 可以在您的機器上執行任意程式碼
- 可能會修改或刪除檔案
建議:
- 僅安裝來自可信來源的 MCP 伺服器
- 如果可能,在安裝前檢閱 MCP 伺服器的原始碼
- 了解每個伺服器需要哪些權限和功能
- 對請求廣泛檔案系統存取的伺服器要謹慎
組織合規性
業務和企業注意事項:
- 確保 MCP 伺服器使用符合您組織的安全政策
- 驗證資料處理是否符合監管要求(GDPR、HIPAA 等)
- 檢查 MCP 伺服器是否被批准在受限網路中使用
- 記錄您環境中授權使用的 MCP 伺服器
最佳實務:
- 維護已批准 MCP 伺服器的清單
- 為新 MCP 伺服器建立審查流程
- 定期稽核 MCP 伺服器使用和權限
- 為使用 MCP 的團隊成員提供安全培訓
審查 MCP 伺服器
在安裝任何 MCP 伺服器之前:
- 研究來源:驗證發布者的聲譽和記錄
- 檢閱文件:了解伺服器的功能和存取內容
- 檢查權限:評估伺服器需要哪些系統資源
- 閱讀程式碼:如果是開源的,檢查實作是否存在安全問題
- 隔離測試:首先在非生產環境中試用伺服器
- 監控行為:觀察意外的網路活動或檔案存取
如有疑問,請在安裝 MCP 伺服器之前諮詢您的安全團隊或 IT 部門,特別是在企業或受監管的環境中。