🦊 MCPBench: A Benchmark for Evaluating MCP Servers
 ](https://github.com/modelscope/MCPBench/blob/main/LICENSE)
MCPBench是MCP服务器的评估框架。它支持评估三种类型的服务器:Web搜索、数据库查询和GAIA,并与本地和远程MCP服务器兼容。该框架主要评估不同的MCP服务器(如Brave Search、DuckDuckGo等)在相同LLM和代理配置下的任务完成准确性、延迟和令牌消耗。这是 评估报告.
实施涉及 LangProBe:语言程序基准.\ 非常感谢傅清旭的初步实施!
📋 目录
🔥 新闻
Sep. 1, 2025🌟 Modelscope AI黑客马拉松将于9月23日举行,参考:https://modelscope.cn/active/aihackathon-mcp-agentApr. 29, 2025🌟 更新GAIA中评估MCP服务器包的代码。Apr. 14, 2025🌟 我们很自豪地宣布MCPBench现已开源。
🛠️ 安装
该框架需要Python版本>=3.11、nodejs和jq。
conda create -n mcpbench python=3.11 -y
conda activate mcpbench
pip install -r requirements.txt🚀 快速开始
请先确定要使用的MCP服务器的类型:
启动MCP服务器(stdio可选)
首先,您需要编写以下配置:
{
"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": "Remote MCP example",
"url": "url from https://modelscope.cn/mcp or https://smithery.ai"
},
{
"name": "firecrawl (Local run example)",
"run_config": [
{
"command": "npx -y firecrawl-mcp",
"args": "FIRECRAWL_API_KEY=xxx",
"port": 8005
}
]
}
]
}要评估MCP服务器在WebSearch任务上的性能:
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数据集和实验结果
我们的框架提供了两个数据集用于评估。对于WebSearch任务,数据集位于 MCPBench/langProBe/WebSearch/data/websearch_600.jsonl,每个包含200个QA对 框架新闻和技术领域。我们用于自动构建评估数据集的框架稍后将开源。
对于数据库查询任务,数据集位于 MCPBench/langProBe/DB/data/car_bi.jsonl。您可以按以下格式添加自己的数据集:
{
"unique_id": "",
"Prompt": "",
"Answer": ""
}我们已经对这两项任务的主流MCP服务器进行了评估。有关详细的实验结果,请参阅 文档
🚰 引用
如果你觉得这项工作有用,请考虑引用我们的项目或给我们一个🌟:
@misc{mcpbench,
title={MCPBench: A Benchmark for Evaluating MCP Servers},
author={Zhiling Luo, Xiaorong Shi, Xuanrui Lin, Jinyang Gao},
howpublished = {\url{https://github.com/modelscope/MCPBench}},
year={2025}
}或者,您可以参考我们的报告。
@article{mcpbench_report,
title={Evaluation Report on MCP Servers},
author={Zhiling Luo, Xiaorong Shi, Xuanrui Lin, Jinyang Gao},
year={2025},
journal={arXiv preprint arXiv:2504.11094},
url={https://arxiv.org/abs/2504.11094},
primaryClass={cs.AI}
}