MCP服务器测试框架
一个全面的测试框架,用于验证MCP服务器与 mcp代理SDK 以及mcp代理云部署。
概述
本项目测试 15种不同的MCP服务器 跨各种传输类型(stdio、SSE、streamable_http)和身份验证方法(no-auth、API密钥、OAuth)。该框架有助于验证:
- 服务器连接和配置
- 传输协议兼容性
- 身份验证工作流
- 云部署就绪
- 工具可用性和功能
经过测试的MCP服务器
无需身份验证(4台服务器)
- 获取 -Web请求和HTTP调用
- 文件系统 -本地文件操作
- 剧作家 -浏览器自动化
- 顺序思维 -结构化推理
API密钥验证(6台服务器)
- 空气编织搜索 -Airweave知识库搜索
- 圆 -CI/CD管道信息
- 困惑度 -网络搜索和推理
- 地图接地卫星 -谷歌地图工具
- 轮毂点 -CRM数据访问
- Supabase -数据库操作
OAuth/远程身份验证(5台服务器)
- 阿特拉斯 -Jira和汇流
- 菲格玛 -设计文件访问
- GitHub -GitHub存储库和操作
- 线性 -问题跟踪
- 概念 -工作区内容
快速开始
先决条件
- Python 3.10+
- 紫外线 包管理器
- Node.js 18+(适用于基于npm的服务器)
- OpenAI API密钥(必需)
安装
- 克隆存储库:
git clone https://github.com/Haniehz1/mcp_server_test_script.git
cd mcp_server_test_script- 创建机密文件:
cp mcp_agent.secrets.yaml.example mcp_agent.secrets.yaml- 编辑
mcp_agent.secrets.yaml并添加您的OpenAI API密钥:
openai:
api_key: "sk-your-openai-api-key-here"- (可选)为要测试的服务器添加凭据-请参阅 配置 在......下面
在本地运行测试
uv run main.py这将:
- 显示所有已配置服务器的摘要
- 在每台服务器上运行测试
- 在中生成详细的JSON报告
test_results/ - 打印带有通过/失败状态的摘要
示例输出
======================================================================
MCP SERVER TESTING FRAMEWORK
======================================================================
MCP Server Configuration Summary
==================================================
No Authentication Required:
--------------------------------------------------
" fetch - Web requests and HTTP calls
" filesystem - Local file operations
" playwright - Browser automation
" sequential-thinking - Structured reasoning
[...]
======================================================================
TEST RESULTS SUMMARY
======================================================================
Total Servers: 15
Successful: 4
Not Configured: 8
Errors: 3
======================================================================
Individual Server Results:
----------------------------------------------------------------------
fetch [stdio ] SUCCESS
filesystem [stdio ] SUCCESS
Ë airweave-search [stdio ] NOT_CONFIGURED
github [streamable_http] ERROR
[...]配置
服务器配置
所有服务器都已在中预先配置 mcp_agent.config.yaml。除非要添加自定义服务器或更改传输设置,否则不需要修改此文件。
机密配置
复制 mcp_agent.secrets.yaml.example 到 mcp_agent.secrets.yaml 并填写要测试的服务器的凭据:
必需(始终)
openai:
api_key: "sk-..."可选(每台服务器)
Airweave
AIRWEAVE_API_KEY: "your-api-key"
AIRWEAVE_COLLECTION: "collection-id"CircleCI 的
CIRCLECI_TOKEN: "your-token"困惑度
PERPLEXITY_API_KEY: "your-api-key"谷歌地图
GOOGLE_MAPS_API_KEY: "your-api-key"集客营销
HUBSPOT_ACCESS_TOKEN: "your-access-token"
HUBSPOT_CLIENT_ID: "your-client-id"Supabase
SUPABASE_ACCESS_TOKEN: "your-token"
SUPABASE_PROJECT_REF: "your-project-ref"GitHub OAuth
github:
oauth:
client_id: "your-client-id"
client_secret: "your-client-secret"看 服务器/ 每个服务器的详细设置说明目录。
云部署
将测试框架部署到mcp代理云:
1.身份验证
mcp-agent login2.部署
mcp-agent deploy mcp-server-tester3.配置用户机密(如果需要)
mcp-agent cloud configure --id https://.deployments.mcp-agent.com4.在MCP客户端中安装
# Claude Desktop
mcp-agent install https://.deployments.mcp-agent.com/sse --client claude_desktop
# Cursor
mcp-agent install https://.deployments.mcp-agent.com/sse --client cursor5.监控部署
# Check status
mcp-agent cloud servers describe
# View logs
mcp-agent cloud logger tail --follow可用工具
当部署或作为MCP服务器运行时,该框架会公开以下工具:
run_all_server_tests (异步)
在所有15个配置的MCP服务器上运行全面测试。返回详细的JSON报告。
退货:
{
"test_run": {
"timestamp": "2025-12-11T14:00:00",
"total_servers": 15,
"successful": 4,
"not_configured": 8,
"errors": 3
},
"results": [...]
}get_server_status_summary
返回所有已配置服务器的可读摘要。
个人测试工具
test_fetch_servertest_filesystem_servertest_playwright_servertest_sequential_thinking_servertest_server_with_auth(需要身份验证的服务器的通用测试)
项目结构
mcp_server_test_script/
�� main.py # Multi-agent testing framework
�� mcp_agent.config.yaml # All 15 servers configured
�� mcp_agent.secrets.yaml # Your secrets (gitignored)
�� mcp_agent.secrets.yaml.example # Template for secrets
�� README.md # This file
�� Servers/ # Server-specific documentation
�� fetch.md
�� github.md
�� notion.md
�� ... (15 total)
�� test_results/ # Test output (gitignored)
�� mcp_server_test_results_*.json发展
添加新服务器
- 将服务器配置添加到
mcp_agent.config.yaml:
mcp:
servers:
my-server:
command: "npx"
args: ["-y", "my-mcp-server"]- 在中添加测试功能
main.py:
@app.tool()
async def test_my_server(app_ctx: Optional[AppContext] = None) -> dict:
# Test implementation
pass- 添加到测试编排器
run_all_server_tests()
- 在中创建文档
Servers/my-server.md
以开发模式运行
# Run with debug logging
uv run main.py
# Test with MCP Inspector
npx @modelcontextprotocol/inspector uv run main.py故障排除
“服务器未配置”错误
在中添加该服务器的凭据 mcp_agent.secrets.yaml
“找不到工具”错误
服务器可能未安装,或者工具名称可能已更改。检查中的服务器文档 Servers/ 目录。
OAuth身份验证问题
对于OAuth服务器(GitHub、Linear、Notion等),您需要完成OAuth流程。请参阅中的单个服务器文档 Servers/ 有关设置说明。
云部署问题
# Check deployment status
mcp-agent cloud servers describe mcp-server-tester
# View logs
mcp-agent cloud logger tail mcp-server-tester --follow
# List environment variables
mcp-agent cloud env list mcp-server-tester文档
贡献
欢迎投稿!要添加对新MCP服务器的支持,请执行以下操作:
- 分叉存储库
- 添加服务器配置和测试功能
- 在中创建文档
Servers/ - 在本地和云中进行测试
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件
链接
- GitHub存储库: https://github.com/Haniehz1/mcp_server_test_script
- mcp代理SDK: https://github.com/lastmile-ai/mcp-agent
- MCP规范: https://modelcontextprotocol.io/
______________________________________________________________________
内置于 mcp代理 >
