MCPBench是一个用于评估MCP服务器的框架。它支持对三种类型的服务器进行评估:Web搜索、数据库查询和GAIA,并且兼容本地和远程的MCP服务器。该框架主要在相同的LLM和Agent配置下,评估不同MCP服务器(如Brave Search、DuckDuckGo等)的任务完成准确性、延迟和令牌消耗。这里是评估报告。
<img src="assets/figure1.png" alt="MCPBench概览" width="600"/><hr>实现参考了LangProBe:一种语言程序基准测试。
感谢Fu Qingxu的初始实现!
2025年9月1日 🌟 Modelscope AI黑客马拉松将于9月23日举行,详情参见:https://modelscope.cn/active/aihackathon-mcp-agent2025年4月29日 🌟 更新了GAIA内MCP服务器包的评估代码。2025年4月14日 🌟 我们自豪地宣布MCPBench现已开源。该框架需要Python版本>=3.11,nodejs和jq。
conda create -n mcpbench python=3.11 -y
conda activate mcpbench
pip install -r requirements.txt
请首先确定您想要使用的MCP服务器类型:
首先,您需要编写以下配置:
{
"mcp_pool": [
{
"name": "firecrawl",
"run_config": [
{
"command": "npx -y firecrawl-mcp",
"args": "FIRECRAWL_API_KEY=xxx",
"port": 8005
}
]
}
]
}
将此配置文件保存在configs文件夹中,并使用以下命令启动它:
sh launch_mcps_as_sse.sh YOUR_CONFIG_FILE
例如,将上述配置保存在configs/firecrawl.json文件中,并使用以下命令启动它:
sh launch_mcps_as_sse.sh firecrawl.json
为了评估MCP服务器的性能,您需要设置必要的MCP服务器信息。代码会自动检测服务器中的工具和参数,因此您不需要手动配置它们,例如:
{
"mcp_pool": [
{
"name": "远程MCP示例",
"url": "从https://modelscope.cn/mcp或https://smithery.ai获取的URL"
},
{
"name": "firecrawl(本地运行示例)",
"run_config": [
{
"command": "npx -y firecrawl-mcp",
"args": "FIRECRAWL_API_KEY=xxx",
"port": 8005
}
]
}
]
}
要评估MCP服务器在Web搜索任务上的性能:
sh evaluation_websearch.sh YOUR_CONFIG_FILE
要评估MCP服务器在数据库查询任务上的性能:
sh evaluation_db.sh YOUR_CONFIG_FILE
要评估MCP服务器在GAIA任务上的性能:
sh evaluation_gaia.sh YOUR_CONFIG_FILE
例如,将上述配置保存在configs/firecrawl.json文件中,并使用以下命令启动它:
sh evaluation_websearch.sh firecrawl.json
我们的框架提供了两个数据集用于评估。对于Web搜索任务,数据集位于MCPBench/langProBe/WebSearch/data/websearch_600.jsonl,包含来自Frames、新闻和技术领域的各200个QA对。我们用于自动构建评估数据集的框架将在稍后开源。
对于数据库查询任务,数据集位于MCPBench/langProBe/DB/data/car_bi.jsonl。您可以按照以下格式添加自己的数据集:
{
"unique_id": "",
"Prompt": "",
"Answer": ""
}
我们已经在两项任务上评估了主流的MCP服务器。详细的实验结果,请参阅文档
如果您发现这项工作有用,请考虑引用我们的项目或给我们一个🌟:
@misc{mcpbench,
title={MCPBench:用于评估MCP服务器的基准测试框架},
author={Zhiling Luo, Xiaorong Shi, Xuanrui Lin, Jinyang Gao},
howpublished = {\url{https://github.com/modelscope/MCPBench}},
year={2025}
}
或者,您可以引用我们的报告。
@article{mcpbench_report,
title={MCP服务器评估报告},
author={Zhiling Luo, Xiaorong Shi, Xuanrui Lin, Jinyang Gao},
year={2205},
journal={arXiv预印本 arXiv:2504.11094},
url={https://arxiv.org/abs/2504.11094},
primaryClass={cs.AI}
}