بنقرة واحدة
mcp-integration-debug
MCP server 連不上、tools/list/call 出錯時的診斷和除錯。當使用者遇到 MCP 相關的技術問題時使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
MCP server 連不上、tools/list/call 出錯時的診斷和除錯。當使用者遇到 MCP 相關的技術問題時使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
在使用者要設計網站、Web App 或元件介面時使用。常見觸發像「做 landing page」「設計 dashboard」「規劃 component UI」。輸出可上線介面與設計系統;不取代產品策略或純品牌研究。
在使用者要把模糊想法整理成可開發 spec 時使用。常見觸發像「整理需求成 spec」「補驗收條件」「拆分階段開發計畫」。輸出技術規格、白話規格與可直接貼用於 Codex / Claude Code 的分階段 instructions;不直接代替正式文件發布。
在非程式開發者要用 vibe coding 與 coding agent 協作時使用。常見觸發像「幫我整理開發準則」「定義交付邊界」「規劃驗證方式」。輸出需求表達、邊界與風險控管準則;不直接取代實作。
當使用者要拆解大型、混亂、跨部門、反覆卡關或高不確定性的難題,或明確要求做問題拆解、issue tree、根因與對策分層時使用。先分清楚現象、目標落差、真正問題與根因假設,再判斷問題是範疇型、分析型、動態系統型、研究型或交付型,最後用 issue tree/MECE、WBS、系統思考、驗收標準、依賴排程、資源分派與流動指標,產出可執行的問題拆解報告、工作包、關鍵路徑、並行策略與 PDCA 回饋節奏。
當使用者要替代解法、不同思路、更簡單或更穩定做法時使用。將現有方案重構成結構問題,提出多條可落地方案與最低摩擦解。
建立定期任務(每日晨報、每週回顧)。當使用者需要設定自動化的、定期執行的任務時使用。
| name | mcp-integration-debug |
| description | MCP server 連不上、tools/list/call 出錯時的診斷和除錯。當使用者遇到 MCP 相關的技術問題時使用。 |
本技能旨在提供一個系統化的方法來診斷和解決 MCP (Model Context Protocol) 伺服器連接和工具呼叫的問題。
tools/list 失敗)mcp.call_tool 返回錯誤)mcp.list_tools: 列出 MCP 伺服器提供的所有工具mcp.call_tool: 呼叫特定的 MCP 工具與使用者溝通,收集關於問題的基本信息。
信息收集清單:
檢查 MCP 伺服器是否可以被存取和連接。
連接驗證步驟:
診斷命令範例:
# 檢查伺服器進程
ps aux | grep mcp-server
# 檢查監聽的端口
netstat -tuln | grep :PORT_NUMBER
# 測試連接
telnet localhost PORT_NUMBER
# 檢查防火牆規則
sudo iptables -L -n | grep PORT_NUMBER
檢查 MCP 伺服器的配置是否正確。
配置驗證清單:
配置檢查範例:
# 驗證 JSON 配置
python3 -m json.tool /path/to/config.json
# 檢查環境變數
env | grep MCP
# 查看伺服器日誌
tail -f /var/log/mcp-server.log
# 檢查伺服器版本
mcp-server --version
使用 mcp.list_tools 驗證伺服器是否能夠返回工具列表。
工具列表測試步驟:
mcp.list_tools 並檢查是否返回成功測試程式碼範例:
import mcp
try:
tools = mcp.list_tools()
print(f"成功列出 {len(tools)} 個工具")
for tool in tools:
print(f" - {tool['name']}: {tool['description']}")
except Exception as e:
print(f"列出工具失敗: {e}")
print(f"錯誤類型: {type(e).__name__}")
選擇一個簡單的工具進行測試,驗證工具呼叫機制是否正常。
工具呼叫測試步驟:
測試程式碼範例:
import mcp
# 選擇一個簡單的工具進行測試
tool_name = "example_tool"
tool_input = {"param1": "test_value"}
try:
result = mcp.call_tool(tool_name, tool_input)
print(f"工具呼叫成功")
print(f"返回值: {result}")
except mcp.ToolNotFoundError as e:
print(f"工具未找到: {tool_name}")
except mcp.InvalidInputError as e:
print(f"輸入參數無效: {e}")
except mcp.ToolExecutionError as e:
print(f"工具執行失敗: {e}")
except Exception as e:
print(f"未預期的錯誤: {e}")
根據遇到的具體錯誤進行診斷。
常見錯誤及診斷:
| 錯誤 | 可能原因 | 診斷步驟 |
|---|---|---|
| 連接被拒絕 | 伺服器未運行或端口錯誤 | 檢查伺服器進程和端口配置 |
| 超時 | 伺服器響應緩慢或網絡問題 | 檢查伺服器性能和網絡延遲 |
| 工具未找到 | 工具名稱錯誤或工具未註冊 | 驗證工具列表和工具名稱 |
| 無效的輸入 | 輸入參數不符合 schema | 檢查工具的輸入 schema 定義 |
| 認證失敗 | 認證憑證不正確 | 驗證認證配置和憑證 |
| 內部伺服器錯誤 | 伺服器端的程式碼錯誤 | 檢查伺服器日誌和錯誤堆棧 |
將所有診斷結果整理成一份清晰的報告,包括可重現的步驟和建議的修正方案。
診斷報告結構:
# MCP 整合除錯報告
## 問題描述
[使用者報告的問題]
## 環境信息
- MCP 伺服器版本: [版本]
- 伺服器地址: [地址:端口]
- 作業系統: [OS]
- 相關依賴版本: [版本]
## 診斷步驟和結果
### 1. 連接狀態
- [✓/✗] 伺服器進程運行中
- [✓/✗] 端口可訪問
- [✓/✗] 網絡連接正常
- [✓/✗] 認證成功
**詳細結果**: [具體診斷結果]
### 2. 工具列表
- [✓/✗] 工具列表可以檢索
- 返回的工具數量: [數量]
- 缺失的工具: [列表]
**詳細結果**: [具體診斷結果]
### 3. 工具呼叫測試
- [✓/✗] 測試工具成功執行
- 測試工具: [工具名稱]
- 執行時間: [時間]
**詳細結果**: [具體診斷結果]
## 根本原因分析
[基於診斷結果的根本原因分析]
## 建議的修正方案
### 方案 1: [標題]
[詳細步驟]
### 方案 2: [標題]
[詳細步驟]
## 可重現的步驟
1. [步驟 1]
2. [步驟 2]
3. ...
## 後續行動
- [ ] 實施修正方案
- [ ] 驗證問題已解決
- [ ] 監控伺服器狀態
- [ ] 更新文件(如需要)
系統化診斷: 按照邏輯順序進行診斷,從基本連接開始,逐步深入。
記錄詳細信息: 記錄所有診斷步驟和結果,包括時間戳和錯誤訊息。
隔離問題: 通過逐個測試工具和配置參數來隔離問題。
檢查日誌: 始終查看伺服器和客戶端的日誌檔案,尋找有用的錯誤信息。
驗證修正: 在實施修正方案後,重新執行診斷步驟以驗證問題已解決。
文件化解決方案: 記錄問題和解決方案,以便將來參考。
預防性監控: 設定監控和警報,及時發現和解決問題。
可能原因: 網絡不穩定、伺服器過載、防火牆規則 解決方案: 實施連接重試邏輯、增加伺服器資源、檢查防火牆規則
可能原因: 工具執行時間過長、網絡延遲、伺服器性能問題 解決方案: 優化工具實現、增加超時時間、檢查伺服器性能
可能原因: 工具實現有 bug、外部依賴問題、並發問題 解決方案: 檢查工具實現、驗證外部依賴、實施鎖定機制
可能原因: 工具未正確註冊、伺服器未重新啟動、配置錯誤 解決方案: 驗證工具註冊、重新啟動伺服器、檢查配置檔案