mcpField
🦊
🦊 MCPBench: A Benchmark for Evaluating MCP Servers

🦊 MCPBench: A Benchmark for Evaluating MCP Servers

本地服务
github.com/modelscope开发工具25160 周前更新

关于 🦊 MCPBench: A Benchmark for Evaluating MCP Servers

MCPBench 是用于评测 MCP 服务表现的评测框架,覆盖 Web 搜索、数据库查询和 GAIA 三类任务,兼容本地与远程 MCP 服务。它在相同的 LLM 与 Agent 配置下,比较各服务的任务完成准确率、延迟和 token 消耗。

主要功能

  1. 01支持 Web 搜索、数据库查询和 GAIA 评测
  2. 02兼容本地 STDIO 与远程 SSE 类型服务
  3. 03比较任务完成准确率、延迟与 token 消耗
  4. 04提供 WebSearch 与 DB 数据集,支持自定义数据集

适用场景

  1. 01比较不同 Web 搜索 MCP 服务的效果
  2. 02评估数据库查询类 MCP 服务的准确性
  3. 03对同一模型配置下的 MCP 服务做横向基准测试

MCP 相关

MCPBench 对 MCP 服务进行评测,并自动检测服务中的工具及其参数,无需手动配置。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🦊 MCPBench:用于评估 MCP 服务的基准测试

文档 软件包许可证

MCPBench 是一个用于评估 MCP 服务的框架。它支持评估三种类型的服务:网页搜索、数据库查询和 GAIA,并兼容本地和远程 MCP 服务。该框架主要在相同的大模型和 Agent 配置下,从任务完成准确率、延迟和 Token 消耗等方面评估不同的 MCP 服务(例如 Brave Search、DuckDuckGo 等)。这是评估报告。

MCPBench 概览

实现参考了 LangProBe:语言程序基准测试。
特别感谢 Qingxu Fu 完成初始实现!


📋 目录

🔥 新闻

  • Sep. 1, 2025 🌟 Modelscope AI 黑客松将于 Sep. 23rd 举办,参考:https://modelscope.cn/active/aihackathon-mcp-agent
  • Apr. 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 服务类型:

  • 如果是远程主机(通过 SSE 访问,例如 ModelScope、Smithery 或 localhost),可以直接进行评估。
  • 如果是在本地启动(通过 STDIO 使用 npx 访问),则需要先启动服务。

启动 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 服务在网页搜索任务中的表现:

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

数据集和实验结果

我们的框架提供两个用于评估的数据集。对于网页搜索任务,数据集位于 MCPBench/langProBe/WebSearch/data/websearch_600.jsonl,其中包含来自 Frames、新闻和科技领域的各 200 组问答。我们用于自动构建评估数据集的框架将在之后开源。

对于数据库查询任务,数据集位于 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}
}

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。