con un clic
mcp-integration-debug
MCP server 連不上、tools/list/call 出錯時的診斷和除錯。當使用者遇到 MCP 相關的技術問題時使用。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
MCP server 連不上、tools/list/call 出錯時的診斷和除錯。當使用者遇到 MCP 相關的技術問題時使用。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional 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、外部依賴問題、並發問題 解決方案: 檢查工具實現、驗證外部依賴、實施鎖定機制
可能原因: 工具未正確註冊、伺服器未重新啟動、配置錯誤 解決方案: 驗證工具註冊、重新啟動伺服器、檢查配置檔案