如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
MCP Inspector 是一款用于测试和调试 MCP 服务器的开发工具。
检查器支持对SSE连接使用Bearer令牌认证。连接MCP服务器时,在UI中输入令牌,它将通过Authorization头发送。您可以使用侧边栏中的输入字段覆盖头名称。
MCP检查器包含一个代理服务器,可运行并与本地MCP进程通信。代理服务器不应暴露在不可信网络中,因为它有权限生成本地进程,并且可以连接到任何指定的MCP服务器。
MCP检查器代理服务器默认需要认证。启动服务器时,会生成随机会话令牌并打印到控制台:
🔑 Session token: 3a1c267fad21f7150b7d624c160b7f09b0b8c4f623c7107bbf13378f051538d4
🔗 Open inspector with token pre-filled:
所有对服务器的请求都必须在Authorization头中包含此令牌作为Bearer令牌。检查器会自动打开浏览器,并在URL中预填充令牌。
自动打开浏览器 - 启用认证时,检查器现在会自动打开浏览器,并在URL中预填充令牌。
替代方案:手动配置 - 如果您已打开检查器:
令牌将保存在浏览器的本地存储中,供以后使用。
如果需要禁用认证(不推荐),可以设置DANGEROUSLY_OMIT_AUTH环境变量:
DANGEROUSLY_OMIT_AUTH
DANGEROUSLY_OMIT_AUTH=true npm start
[!WARNING] 使用DANGEROUSLY_OMIT_AUTH禁用认证极其危险!禁用认证不仅会使您的机器在暴露于公共互联网时面临风险,还会通过您的Web浏览器面临风险。这意味着,访问网站或查看广告可能会让者远程危害您的计算机。除非您真正了解风险,否则不要禁用此功能。
DANGEROUSLY_OMIT_AUTH有关此漏洞风险的更多信息,请参阅Oligo的博客:Anthropic MCP检查器中的严重RCE漏洞 - CVE-2025-49596
您还可以在启动服务器时通过MCP_PROXY_AUTH_TOKEN环境变量设置令牌:
MCP_PROXY_AUTH_TOKEN
MCP_PROXY_AUTH_TOKEN=$(openssl rand -hex 32) npm start
MCP检查器的代理服务器和客户端默认仅绑定到localhost,以防止网络访问。这确保它们不会被网络上的其他设备访问。如果出于开发目的需要绑定到所有接口,可以通过HOST环境变量覆盖此设置:
localhost HOST
HOST=0.0.0.0 npm start
[!WARNING] 仅在可信网络环境中绑定到所有接口,因为这会暴露代理服务器执行本地进程的能力以及两个服务的网络访问权限。
为防止DNS重绑定***,MCP检查器会验证传入请求的Origin头。默认情况下,仅允许来自客户端源的请求(如果设置了CLIENT_PORT则遵循该端口,默认为6274端口)。您可以通过设置ALLOWED_ORIGINS环境变量(逗号分隔列表)配置其他允许的源:
Origin CLIENT_PORT ALLOWED_ORIGINS
ALLOWED_ORIGINS=http://localhost:6274,http://localhost:8000 npm start
MCP检查器支持以下配置设置。要更改这些设置,请点击MCP检查器UI中的Configuration按钮:
Configuration
| 设置 | 描述 | 默认值 |
|---|---|---|
| MCP_SERVER_REQUEST_TIMEOUT | 客户端超时(毫秒)- 如果在此时间内未收到响应,检查器将取消请求。注意:服务器可能有自己的超时设置 | 300000 |
| MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS | 收到进度通知时重置超时 | true |
| MCP_REQUEST_MAX_TOTAL_TIMEOUT | 发送到MCP服务器的请求的最大总超时(毫秒)(与进度通知配合使用) | 60000 |
| MCP_PROXY_FULL_ADDRESS | 如果在非默认地址运行MCP检查器代理,请设置此项。例如:[***] | "" |
| MCP_AUTO_OPEN_ENABLED | 启用检查器启动时自动打开浏览器(在启用认证时有效)。仅作为环境变量,无法在浏览器中配置 | true |
MCP_SERVER_REQUEST_TIMEOUT MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS MCP_REQUEST_MAX_TOTAL_TIMEOUT MCP_PROXY_FULL_ADDRESS MCP_AUTO_OPEN_ENABLED
超时注意事项:上述超时设置控制检查器(作为MCP客户端)何时取消请求。这些设置独立于任何服务器端超时。例如,如果服务器工具的超时为10分钟,但检查器的超时设置为30秒,则检查器将在30秒后取消请求。相反,如果检查器的超时为10分钟,但服务器在30秒后超时,您将收到服务器的超时错误。对于需要用户交互(如启发)或长时间运行的操作的工具,请确保检查器的超时设置适当。
这些设置可以通过UI实时调整,并将在会话间保持。
检查器还支持使用配置文件存储不同MCP服务器的设置。在使用多个服务器或复杂配置时,这非常有用:
npx @modelcontextprotocol/inspector --config path/to/config.json --server everything
服务器配置文件示例:
{
"mcpServers": {
"everything": {
"command": "npx",
"args": ["@modelcontextprotocol/server-everything"],
"env": {
"hello": "Hello MCP!"
}
},
"my-server": {
"command": "node",
"args": ["build/index.js", "arg1", "arg2"],
"env": {
"key": "value",
"key2": "value2"
}
}
}
}
检查器会自动从配置文件中检测传输类型。您可以指定不同的传输类型:
STDIO(默认):
{
"mcpServers": {
"my-stdio-server": {
"type": "stdio",
"command": "npx",
"args": ["@modelcontextprotocol/server-everything"]
}
}
}
SSE(服务器发送事件):
{
"mcpServers": {
"my-sse-server": {
"type": "sse",
"url": "http://localhost:3000/sse"
}
}
}
可流式HTTP:
{
"mcpServers": {
"my-http-server": {
"type": "streamable-http",
"url": "http://localhost:3000/mcp"
}
}
}
如果您的配置满足以下条件,可以在不指定服务器名称的情况下启动检查器:
# Automatically uses "my-server" if it's the only one
npx @modelcontextprotocol/inspector --config mcp.json
{
"mcpServers": {
"default-server": {
"command": "npx",
"args": ["@modelcontextprotocol/server-everything"]
},
"other-server": {
"command": "node",
"args": ["other.js"]
}
}
}
如果您正在开发inspector本身:
开发模式:
npm run dev
# 如需与typescript-sdk包协同开发(假设已克隆到../typescript-sdk目录;否则请设置MCP_SDK):
npm run dev:sdk "cd sdk && npm run examples:simple-server:w"
# 然后在inspector中以SHTTP方式打开http://localhost:3000/mcp。
# 如需恢复到已部署的SDK版本:
# npm run unlink:sdk && npm i
[!NOTE] Windows用户注意:在Windows上,请改用以下命令:npm run dev:windows
Windows用户注意:在Windows上,请改用以下命令:
npm run dev:windows
生产模式:
npm run build
npm start
MCP Inspector 包含一个代理服务器,可运行并与本地 MCP 进程通信。该代理服务器不应暴露在不可信网络中,因为它有权限生成本地进程并可连接到任何指定的 MCP 服务器。
身份验证
MCP Inspector 代理服务器默认需要身份验证。启动服务器时,会生成随机会话令牌并打印到控制台:
🔑 Session token: 3a1c267fad21f7150b7d624c160b7f09b0b8c4f623c7107bbf13378f051538d4
🔗 Open inspector with token pre-filled:
所有对服务器的请求都必须在 Authorization 头中包含此令牌作为 Bearer 令牌。Inspector 会自动打开浏览器,并在 URL 中预填充令牌。
自动浏览器打开 - 启用身份验证时,Inspector 现在会自动打开浏览器,并在 URL 中预填充令牌。
替代方案:手动配置 - 如果您已打开 Inspector:
令牌将保存在浏览器的本地存储中,供将来使用。
如果需要禁用身份验证(不推荐),可以设置 DANGEROUSLY_OMIT_AUTH 环境变量:
DANGEROUSLY_OMIT_AUTH=true npm start
[!WARNING] 使用
DANGEROUSLY_OMIT_AUTH禁用身份验证极其危险!禁用身份验证不仅会使您的机器在暴露于公共互联网时面临风险,还会通过您的 Web 浏览器面临风险。这意味着,访问网站或查看广告可能会让者远程入侵您的计算机。除非您真正了解风险,否则不要禁用此功能。有关此漏洞风险的更多信息,请阅读 Oligo 的博客:Anthropic MCP Inspector 中的严重 RCE 漏洞 - CVE-2025-49596
启动服务器时,您也可以通过 MCP_PROXY_AUTH_TOKEN 环境变量设置令牌:
MCP_PROXY_AUTH_TOKEN=$(openssl rand -hex 32) npm start
仅本地绑定
MCP Inspector 支持以下配置设置。要修改这些设置,请点击 MCP Inspector UI 中的 Configuration 按钮:
| 设置 | 描述 | 默认值 |
|---|---|---|
MCP_SERVER_REQUEST_TIMEOUT | 客户端超时时间(毫秒)——如果在此时间内未收到响应,Inspector 将取消请求。注意:服务器可能有自己的超时设置 | 300000 |
MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS | 收到进度通知时重置超时 | true |
MCP_REQUEST_MAX_TOTAL_TIMEOUT | 发送到 MCP 服务器的请求的最大总超时时间(毫秒)(配合进度通知使用) | 60000 |
MCP_PROXY_FULL_ADDRESS | 如果在非默认地址运行 MCP Inspector 代理,请设置此项。示例:[***] | "" |
MCP_AUTO_OPEN_ENABLED | 启用 Inspector 启动时自动打开浏览器(在启用身份验证时有效)。仅作为环境变量,无法在浏览器中配置 | true |
[!NOTE] 关于超时的说明:上述超时设置控制 Inspector(作为 MCP 客户端)何时取消请求。这些设置独立于任何服务器端超时。例如,如果服务器工具的超时为 10 分钟,但 Inspector 的超时设置为 30 秒,Inspector 将在 30 秒后取消请求。相反,如果 Inspector 的超时为 10 分钟,但服务器在 30 秒后超时,您将收到服务器的超时错误。对于需要用户交互(如启发)或长时间运行的操作,请确保适当设置 Inspector 的超时。
这些设置可通过 UI 实时调整,并将在会话间保持。
Inspector 还支持通过配置文件存储不同 MCP 服务器的设置。这在使用多个服务器或复杂配置时非常有用:
npx @modelcontextprotocol/inspector --config path/to/config.json --server everything
服务器配置文件示例:
{
"mcpServers": {
"everything": {
"command": "npx",
"args": ["@modelcontextprotocol/server-everything"],
"env": {
"hello": "Hello MCP!"
}
},
"my-server": {
"command": "node",
"args": ["build/index.js", "arg1", "arg2"],
"env": {
"key": "value",
"key2": "value2"
}
}
}
}
配置文件中的传输类型
Inspector 会自动从配置文件中检测传输类型。您可以指定不同的传输类型:
STDIO(默认):
{
"mcpServers": {
"my-stdio-server": {
"type": "stdio",
"command": "npx",
"args": ["@modelcontextprotocol/server-everything"]
}
}
}
SSE(服务器发送事件):
{
"mcpServers": {
"my-sse-server": {
"type": "sse",
"url": "http://localhost:3000/sse"
}
}
}
可流式 HTTP:
{
"mcpServers": {
"my-http-server": {
"type": "streamable-http",
"url": "http://localhost:3000/mcp"
}
}
}
默认服务器选择
如果您的配置满足以下条件,可以在不指定服务器名称的情况下启动 inspector:
# 如果只有 "my-server",将自动使用它
npx @modelcontextprotocol/inspector --config mcp.json
{
"mcpServers": {
"default-server": {
"command": "npx",
"args": ["@modelcontextprotocol/server-everything"]
},
"other-server": {
"command": "node",
"args": ["other.js"]
}
}
}
提示: 您可以使用 Inspector UI 中的 Server Entry 和 Servers File 按钮轻松生成此配置格式,如上文“服务器文件导出”部分所述。
您还可以通过查询参数设置初始 transport 类型、serverUrl、serverCommand 和 serverArgs,例如:
您还可以通过查询参数设置初始配置,例如:
请注意,如果同时设置了查询参数和相应的 localStorage 项,查询参数将优先。
npx @modelcontextprotocol/inspector --cli node build/index.js --method prompts/list
npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com
npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com --transport http --method tools/list
npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com --transport http --method tools/list --header "X-API-Key: your-api-key"
npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com --method tools/call --tool-name remotetool --tool-arg param=value
npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com --method resources/list
| 使用场景 | UI Mode | CLI Mode |
|---|---|---|
| 服务器开发 | 开发期间用于交互式测试和调试的可视化界面 | 用于快速测试和持续集成的可脚本化命令;与 Cursor 等 AI 编码助手创建反馈循环,实现快速开发 |
| 资源探索 | 具有层级导航和 JSON 可视化的交互式浏览器 | 用于自动化和脚本编写的程序化列出与读取 |
| 工具测试 | 基于表单的参数输入,带实时响应可视化 | 带 JSON 输出的命令行工具执行,用于脚本编写 |
| 提示词工程 | 带流式响应和可视化比较的交互式采样 | 带机器可读输出的提示词批量处理 |
| 调试 | 请求历史、可视化错误和实时通知 | 用于日志分析和与其他工具集成的直接 JSON 输出 |
| 自动化 | 不适用 | 适用于 CI/CD 流水线、批量处理和与编码助手集成 |
| 学习 MCP | 丰富的可视化界面帮助新用户理解服务器功能 | 简化命令用于特定端点的聚焦学习 |
在 Inspector 中实现或修改工具输入参数处理时:
default: null),且当前值与该默认值匹配,则将其包含在请求中。这是工具期望的有意义值这些指南可保持清晰的参数传递,并在 Inspector 客户端与 MCP 服务器之间实现适当的职责分离。
本项目采用 MIT 许可证授权——详情参见 LICENSE 文件。
来自真实用户的反馈,见证轩辕镜像的优质服务