深入使用 MCP 检查器测试和调试模型上下文协议服务器的指南

MCP 检查器 是一个交互式开发者工具,用于测试和调试 MCP 服务器。虽然 调试指南 将检查器作为整体调试工具包的一部分进行介绍,本文件将详细探索检查器的功能和能力。

入门

安装和基本使用

检查器可以通过 npx 直接运行,无需安装:

  1. npx @modelcontextprotocol/inspector <command>
  1. npx @modelcontextprotocol/inspector <command> <arg1> <arg2>

从 NPM 或 PyPi 检查服务器

NPMPyPi 启动服务器包是一种常见的方式:

  • NPM 包
  • PyPi 包
  1. npx -y @modelcontextprotocol/inspector npx <package-name> <args>
  2. # 例如
  3. npx -y @modelcontextprotocol/inspector npx server-postgres postgres://127.0.0.1/testdb

检查本地开发的服务器

要检查本地开发或作为存储库下载的服务器,最常见的方式是:

  • TypeScript
  • Python
  1. npx @modelcontextprotocol/inspector node path/to/server/index.js args...

请仔细阅读任何附带的 README 文件,以获取最准确的说明。

功能概述

MCP 检查器界面

服务器连接面板

  • 允许选择用于连接到服务器的 传输
  • 对于本地服务器,支持自定义命令行参数和环境变量

资源选项卡

  • 列出所有可用的资源
  • 显示资源元数据(MIME 类型、描述)
  • 允许检查资源内容
  • 支持订阅测试

提示选项卡

  • 显示可用的提示模板
  • 显示提示参数和描述
  • 允许使用自定义参数测试提示
  • 预览生成的消息

工具选项卡

  • 列出可用的工具
  • 显示工具模式和描述
  • 允许使用自定义输入测试工具
  • 显示工具执行结果

通知面板

  • 显示从服务器记录的所有日志
  • 显示从服务器接收到的通知

最佳实践

开发工作流

  1. 开始开发

    • 启动检查器并连接到服务器
    • 验证基本连接
    • 检查能力协商(capability negotiation)
  2. 迭代测试

    • 对服务器进行更改
    • 重建服务器
    • 重新连接检查器
    • 测试受影响的功能
    • 监控消息
  3. 测试边缘情况

    • 无效输入
    • 缺失的提示参数
    • 并发操作
    • 验证错误处理和错误响应