MCP Inspector UI 使用介绍

发布时间: 更新时间: 总字数:1369 阅读时间:3m 作者:IP:上海 网址

MCP Inspector 是 Model Context Protocol (MCP) 官方提供的一个开发者工具,用于调试、测试和检查 MCP Server。它提供了一个可视化界面,让你能够像使用 Postman 调试 API 一样调试 MCP 服务。本文是 MCP Inspector UI 中各个配置项的详细使用介绍

Transport Type (传输协议)

这是指 Inspector 与 MCP Server 之间通信的底层机制。MCP 协议目前主要支持两种传输方式。

  • Stdio (Standard Input/Output):

    • 含义: 通过标准输入/输出流进行通信。
    • 适用场景: 本地运行的脚本或可执行文件(如 Python 脚本、Node.js 脚本、二进制文件)。这是本地开发最常用的方式。
    • 配置方式: 选择 Stdio 后,你需要提供具体的“Command”(命令)和“Arguments”(参数)。
    • 例子:
      • Command: python
      • Args: my_server.py
  • SSE (Server-Sent Events):

    • 含义: 基于 HTTP 的服务器推送技术。
    • 适用场景: 远程服务器、Docker 容器中运行的服务,或者通过 HTTP 暴露的本地服务。
    • 配置方式: 选择 SSE 后,你需要提供服务器的 HTTP URL。
    • 原理: 客户端通过 HTTP POST 发送请求,服务器通过 SSE 通道(EventStream)持续推送响应。
  • Streamable HTTP (流式 HTTP):

    • 注:这通常是 SSE 的一种变体或底层描述。 在大多数 MCP Inspector 界面中,通常归类为 SSE。如果界面单独列出,它指的也是基于 HTTP 的双向或流式通信,用于处理长连接。

URL (服务器地址)

当你选择 SSEStreamable HTTP 作为传输方式时,必须填写此项。

  • 格式: 标准的 HTTP/HTTPS 地址。
  • 示例: http://localhost:8000/ssehttps://api.myserver.com/mcp
  • 注意: 确保填写的路径是 MCP Server 暴露出的 SSE 端点路径。

Connection Type (连接方式)

这个选项决定了请求是由谁发出的。这对解决跨域资源共享 (CORS) 问题至关重要。

  • Via Proxy (通过代理 - 推荐):

    • 工作原理: 浏览器 UI -> Inspector 的本地后端 (Node.js) -> 目标 MCP Server。
    • 为什么用它: 浏览器有严格的安全限制(CORS),通常不允许网页直接访问非同源的本地服务(如 localhost:8000)。通过 Inspector 的后端代理转发请求,可以完美避开 CORS 报错。
    • 适用场景: 绝大多数调试场景,尤其是连接 HTTP/SSE 服务时。
  • Direct (直连):

    • 工作原理: 浏览器 UI -> 目标 MCP Server。
    • 潜在问题: 如果 MCP Server 没有配置允许跨域(CORS headers),或者你在 HTTPS 网页中访问 HTTP 的本地服务(Mixed Content 错误),连接会失败。
    • 适用场景: 只有当目标 Server 明确配置了 Access-Control-Allow-Origin: * 且网络环境允许浏览器直接访问时使用。

Authentication (认证方式)

如果你的 MCP Server 设置了访问权限,需要在此配置。

  • Custom Headers (自定义请求头):

    • 含义: 手动添加 HTTP 请求头,这是最通用的认证方式。
    • 格式: 通常是一个 JSON 对象。
    • 常见用法: API Key 认证。
    • 示例:
      json
      {
        `Authorization`: `Bearer sk-my-secret-token`,
        `x-api-key`: `123456`
      }
  • OAuth 2.0 Flow:

    • 含义: 标准的 OAuth 登录流程。
    • 适用场景: 当 MCP Server 代表用户访问 Google Drive、GitHub 或 Slack 等第三方服务时。
    • 流程: 选中此项可能需要你填写 Client ID, Authorization URL, Token URL 等信息(取决于 UI 的具体实现)。Inspector 会弹出一个窗口引导你去第三方服务登录,获取 Access Token,然后自动附加到后续的 MCP 请求中。
    • 注意:在简单的本地调试中,开发者通常倾向于使用环境变量或直接传递 Headers,OAuth 更多用于生产环境集成测试。

快速上手操作流程 (Summary)

假设你用 Python 写了一个运行在 http://localhost:8000/sse 的 MCP Server,想要在 Inspector 中调试:

  1. 启动 Inspector (通常命令行输入 npx @modelcontextprotocol/inspector)。
  2. 浏览器打开 Inspector 界面。
  3. Transport Type: 选择 SSE
  4. URL: 输入 http://localhost:8000/sse
  5. Connection Type: 选择 Via Proxy (防止 CORS 报错)。
  6. Authentication: 如果代码里没写鉴权,留空;如果有 API Key,在 Headers 里填好。
  7. 点击 Connect
  8. 连接成功后,你可以在左侧看到 Resources (资源), Prompts (提示词), Tools (工具),并可以直接发送指令进行测试。