使用说明
项目简介
MCP协议验证器仓库主要提供以下三个核心组件,旨在帮助开发者理解和验证MCP服务器的实现:
- 最小MCP服务器 (STDIO): 一个使用STDIO传输协议的精简MCP服务器参考实现,展示了MCP服务器基本协议操作和工具调用功能。
- 最小HTTP MCP服务器: 一个使用HTTP传输协议的MCP服务器参考实现,演示了JSON-RPC over HTTP、资源管理和CORS支持等特性。
- MCP测试框架: 一套全面的测试框架,用于验证MCP服务器是否符合MCP协议规范,支持STDIO和HTTP传输,并生成详细的合规性报告。
本仓库提供的参考实现可以作为MCP服务器开发的基础示例,测试框架则可以用于验证您自己或其他第三方的MCP服务器实现。
主要功能点
- 资源 (Resources) 管理 (HTTP服务器): HTTP服务器示例演示了如何托管和管理资源,并通过标准MCP接口提供数据访问能力。
- 工具 (Tools) 注册和执行 (STDIO和HTTP服务器): STDIO和HTTP服务器示例都支持工具的注册和执行,包括同步和异步工具调用,以及用于文件系统操作的实用工具。
- Prompt 模板 (Prompts) 功能 (未明确实现,但框架支持): 虽然最小服务器没有明确实现Prompt模板功能,但测试框架具备测试Prompt相关功能的能力,表明该仓库的设计考虑了Prompt模板在MCP服务器中的地位。
- JSON-RPC 协议通信: 所有组件均基于JSON-RPC 2.0协议进行通信,符合MCP规范。
- STDIO 和 HTTP 传输协议支持: 仓库同时提供了基于STDIO和HTTP的服务器参考实现和测试支持。
- 会话管理 (HTTP服务器): HTTP服务器示例包含了会话管理功能,并通过HTTP头部 'Mcp-Session-Id' 进行会话标识。
- 全面的测试框架: 提供了基础交互测试和完整的合规性测试,以验证服务器实现的正确性。
安装步骤
由于本仓库主要为参考实现和测试框架,安装步骤主要针对希望运行参考服务器或测试框架的开发者:
-
克隆仓库:
git clone https://github.com/Janix-ai/mcp-protocol-validator.git cd mcp-protocol-validator -
创建并激活虚拟环境 (推荐):
python3 -m venv .venv source .venv/bin/activate # 或 .venv\Scripts\activate for Windows -
安装依赖: 虽然仓库本身没有 'requirements.txt',但根据 'README.md' 运行 HTTP 服务器和测试框架可能需要安装 'requests' 和 'sseclient-py' (对于SSE支持的服务器)。 可以使用 pip 安装:
pip install requests sseclient-py==1.7.2
服务器配置
MCP客户端需要配置MCP服务器的启动命令才能连接。以下是参考实现服务器的配置信息示例 (JSON 格式),您可以根据需要调整命令和参数。
{ "serverName": "minimal-mcp-server-stdio", "command": "python", "args": ["./minimal_mcp_server/minimal_mcp_server.py"], "description": "Minimal MCP Server (STDIO Transport)", "notes": "此配置用于连接到基于STDIO传输的最小MCP服务器参考实现。" }
或者 HTTP 服务器配置示例:
{ "serverName": "minimal-mcp-server-http", "command": "python", "args": ["./minimal_http_server/minimal_http_server.py"], "description": "Minimal MCP Server (HTTP Transport)", "notes": "此配置用于连接到基于HTTP传输的最小MCP服务器参考实现。默认监听 localhost:8000。" }
基本使用方法
-
运行参考服务器 (选择 STDIO 或 HTTP):
-
STDIO 服务器:
python ./minimal_mcp_server/minimal_mcp_server.py -
HTTP 服务器:
python ./minimal_http_server/minimal_http_server.pyHTTP 服务器默认监听 'http://localhost:8000/mcp'。
-
-
运行测试框架验证服务器合规性:
-
针对 STDIO 服务器:
python -m mcp_testing.scripts.compliance_report --server-command "./minimal_mcp_server/minimal_mcp_server.py" --protocol-version 2025-03-26 -
针对 HTTP 服务器 (假设 HTTP 服务器运行在 http://localhost:8000/mcp):
python -m mcp_testing.scripts.http_test --server-url http://localhost:8000/mcp --protocol-version 2025-03-26
测试框架会输出详细的测试报告,包括通过和失败的测试项,以及合规性状态。
-
-
参考代码学习: 开发者可以深入研究 'minimal_mcp_server' 和 'minimal_http_server' 目录下的代码,了解MCP服务器的实现细节,并参考 'mcp_testing' 目录下的测试框架代码,学习如何验证MCP服务器的合规性。
信息
分类
开发者工具