調(diào)試模型上下文協(xié)議 (MCP) 集成的綜合指南
在開發(fā) MCP 服務(wù)器或?qū)⑵渑c應(yīng)用程序集成時(shí),有效的調(diào)試是必不可少的。本指南介紹了 MCP 生態(tài)系統(tǒng)中可用的調(diào)試工具和方法。
本指南適用于 macOS。其他平臺(tái)的指南即將推出。
MCP 提供了多種工具,用于在不同級(jí)別進(jìn)行調(diào)試:
Claude.app 接口提供基本的服務(wù)器狀態(tài)信息:
查看 Claude Desktop 中的詳細(xì) MCP 日志:
## Follow logs in real-time
tail -n 20 -F ~/Library/Logs/Claude/mcp*.log
日志捕獲:
在 Claude Desktop 中訪問(wèn) Chrome 的開發(fā)人員工具以調(diào)查客戶端錯(cuò)誤:
創(chuàng)建一個(gè)設(shè)置為 true 的文件:developer_settings.json``allowDevTools
echo '{"allowDevTools": true}' > ~/Library/Application\ Support/Claude/developer_settings.json
Command-Option-Shift-i
注意:您將看到兩個(gè) DevTools 窗口:
使用 Console (控制臺(tái)) 面板檢查客戶端錯(cuò)誤。
使用 Network (網(wǎng)絡(luò)) 面板檢查:
將 MCP 服務(wù)器與 Claude Desktop 一起使用時(shí):
claude_desktop_config.json``/
.env
例如,在 中,使用:claude_desktop_config.json
{
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/username/data"]
}
而不是像./data
MCP 服務(wù)器僅自動(dòng)繼承環(huán)境變量的子集,如 USER
、HOME
和 PATH
。
要覆蓋默認(rèn)變量或提供您自己的變量,您可以在 :env``claude_desktop_config.json
{
"myserver": {
"command": "mcp-server-myapp",
"env": {
"MYAPP_API_KEY": "some_key",
}
}
}
常見的初始化問(wèn)題:
command
當(dāng)服務(wù)器無(wú)法連接時(shí):
當(dāng)構(gòu)建使用本地 stdio 傳輸的服務(wù)器時(shí),記錄到 stderr (標(biāo)準(zhǔn)錯(cuò)誤) 的所有消息將被主機(jī)應(yīng)用程序(例如 Claude Desktop)自動(dòng)捕獲。
本地 MCP 服務(wù)器不應(yīng)將消息記錄到 stdout(標(biāo)準(zhǔn)輸出),因?yàn)檫@會(huì)干擾協(xié)議作。
對(duì)于所有傳輸層您還可以通過(guò)發(fā)送日志消息通知向客戶端提供日志記錄:
Python
server.request_context.session.send_log_message(
level="info",
data="Server started successfully",
)
TypeScript
server.request_context.session.send_log_message(
level="info",
data="Server started successfully",
)
要記錄的重要事件:
在客戶端應(yīng)用程序中:
要有效地測(cè)試更改,請(qǐng)執(zhí)行以下作:
調(diào)試時(shí):
遇到問(wèn)題時(shí):
更多建議: