MCP 协议本身是开放标准规范,没有传统意义上的「安装版本号」,实际可查的是 MCP SDK 包版本、MCP Server 实现版本和 CLI 工具版本。推荐通过包管理器命令查看 SDK 依赖版本,配合`claude mcp list` 确认已注册的 MCP 工具状态。
先说结论:MCP 协议版本号需通过 SDK 包版本间接确认,依赖库版本用对应生态系统的包管理命令查询。
- 适合场景:排查 MCP 工具连接问题、确认开发环境依赖版本、验证 AI 客户端集成状态
- 先看:`pip show @modelcontextprotocol-sdk`或`npm list @modelcontextprotocol/sdk`获取 SDK 版本
- 建议:同时检查 MCP Server 配置状态和 CLI 工具版本,避免仅依赖单一信息源
命令速用版
以下命令可直接在终端执行,根据项目类型选择对应生态系统的查询方式。
Python 项目查看 MCP SDK 版本:
pip show @modelcontextprotocol-sdk
Node.js 项目查看 MCP SDK 版本:
npm list @modelcontextprotocol/sdk
查看已安装的 MCP 工具列表(Claude 客户端):
claude mcp list
查看 MCP 命令完整帮助:
claude mcp `--help`
Python 项目查看所有依赖库版本:
pip freeze
Node.js 项目查看所有依赖库版本:
npm list `--depth`=0
为什么会这样
MCP 协议是通信规范标准,不是独立安装的软件包,因此没有全局统一的「协议版本号」可供查询。MCP 由 Anthropic 于 2024 年 11 月开源,协议本身通过 JSON-RPC 2.0 格式定义消息交互规则,实际版本信息体现在 SDK 实现包、MCP Server 代码库和客户端集成版本上。开发者需要检查的是具体实现层的版本号,而非协议规范本身。
这种设计类似 HTTP 协议——你可以查 Nginx 版本、查 requests 库版本,但查不到「HTTP 协议版本号」。MCP 同样如此,协议文档会更新迭代,但使用者通过 SDK 包版本来确认兼容性。
分步处理
步骤 1:确认项目使用的 MCP SDK 版本
进入项目根目录,根据语言环境执行对应命令。Python 项目运行`pip show @modelcontextprotocol-sdk`,输出中的 Version 字段即为 SDK 版本。Node.js 项目运行`npm list @modelcontextprotocol/sdk`,查看版本号。如果命令返回「package not found」,说明当前环境未安装 MCP SDK,需要确认是否通过其他方式集成 MCP 功能。
步骤 2:检查 MCP Server 配置状态
在 Claude Desktop 或支持 MCP 的 AI 客户端中,运行`claude mcp list`查看已注册的 MCP 服务器列表。输出包含工具名称、作用域(全局或项目级)、连接状态(成功/失败/连接中)。如果某工具显示连接失败,需检查该 Server 的配置和运行状态。
步骤 3:查看 MCP Server 详细配置
对特定 MCP 工具运行`claude mcp get <server-name>`,获取该服务器的详细配置信息,包括通信方式(Stdio/SSE/Streamable HTTP)、命令参数、环境变量等。确认配置中的路径、端口和认证信息是否正确。
步骤 4:检查运行时依赖版本
MCP Server 运行依赖 Node.js 或 Python 环境。Node.js 项目运行`node `--version``和`npm `--version``确认基础环境。Python 项目运行`python `--version``或`python3 `--version``,建议使用 Python 3.9 以上版本。这些运行时版本过低可能导致 MCP Server 启动失败。
步骤 5:记录版本信息用于排查
将 SDK 版本、运行时版本、MCP 工具列表导出到文件,便于后续问题追踪。Python 项目可用`pip freeze > requirements.txt`,Node.js 项目可检查`package.json`中的依赖声明。
怎么验证是否生效
执行`claude mcp list`后,观察输出中各工具的连接状态字段。状态显示「成功」表示该 MCP Server 可正常通信。在 AI 客户端中尝试调用该工具提供的功能,如查询数据、执行命令等,能收到有效响应即验证通过。
检查 SDK 版本命令的输出是否包含明确的 version 字段。如果返回空或报错,说明 MCP SDK 未正确安装,需要重新执行`pip install @modelcontextprotocol-sdk`或`npm install @modelcontextprotocol/sdk`。
查看 MCP Server 日志文件(如有配置),确认启动过程中无报错。常见日志位置在 Server 代码目录下的 logs 文件夹,或系统临时目录。
常见坑
混淆协议版本和 SDK 版本:MCP 协议文档可能有迭代版本,但实际开发中只需关注 SDK 包版本。不要尝试查找不存在的「mcp-protocol-version」命令或配置项。
全局安装与项目安装混用:使用`pip list`或`npm list -g`查看的是全局包,项目实际使用的是本地`node_modules`或虚拟环境中的包。排查问题时需在项目目录下执行命令。
忽略运行时版本要求:MCP Server 对 Node.js 和 Python 有最低版本要求。Node.js 建议使用 LTS 版本,Python 建议 3.9 以上。版本过低可能导致语法不兼容或依赖安装失败。
连接状态显示成功但功能不可用:`claude mcp list`显示连接成功仅代表网络可达,不代表工具功能正常。需实际调用工具方法验证响应内容是否符合预期。
常见问题
MCP 协议有版本号吗?
MCP 协议本身是开放规范,没有统一的版本号可供查询,实际使用中通过 SDK 包版本确认实现兼容性。
claude mcp list 命令不生效怎么办?
确认已安装 Claude Desktop 且版本支持 MCP 功能,检查命令行是否在正确的用户环境下执行,部分系统需要管理员权限。
如何确认 MCP Server 是否正常运行?
查看`claude mcp list`输出中的连接状态字段,状态为「成功」且能实际调用工具功能即表示运行正常。
Python 和 Node.js 的 MCP SDK 能同时使用吗?
可以,MCP 协议支持多种语言实现,同一项目中可根据需要选择 Python 或 Node.js 编写 MCP Server,客户端侧无需区分。
参考来源
- 知识库 - MCP 协议演进史:从诞生到成熟的四个版本(2024 年 11 月 Anthropic 开源 MCP 协议)
- 知识库 - Claude 里怎么快速查出当前装了哪些 MCP 工具(claude mcp list 命令说明)
- 知识库 - 模型上下文协议 (MCP) 配置(DevEco Studio MCP 配置界面说明)
- 知识库 - 查看依赖库现在有哪几个版本命令(pip freeze、npm list 等依赖查看命令)
- 知识库 - MCP 依赖版本检查工具 - 最新开发工具版本查询-MCP 服务(MCP SDK 支持的生态系统说明)