🦊 MCPBench: A Benchmark for Evaluating MCP Servers

🦊 MCPBench: A Benchmark for Evaluating MCP Servers

MCP 服务器上的评估基准

modelscope

研究与数据
访问服务器

README

<h1 align="center">
	🦊 MCPBench: 用于评估 MCP 服务器的基准测试
</h1>

<div align="center">

[![Documentation][docs-image]][docs-url]
[![Package License][package-license-image]][package-license-url]

</div>

<div align="center">
<h4 align="center">

[中文](https://github.com/modelscope/MCPBench/blob/main/README_zh.md) |
[English](https://github.com/modelscope/MCPBench/blob/main/README.md)

</h4>
</div>

MCPBench 是一个用于评估 MCP 服务器的框架。它支持对两种类型的服务器进行评估:Web 搜索和数据库查询,并且兼容本地和远程 MCP 服务器。该框架主要在相同的 LLM 和 Agent 配置下,评估不同 MCP 服务器(例如 Brave Search、DuckDuckGo 等)在任务完成准确性、延迟和 token 消耗方面的性能。这是[评估报告](https://arxiv.org/abs/2504.11094)。

<img src="assets/figure1.png" alt="MCPBench Overview" width="600"/>

该实现基于 [LangProBe: a Language Programs Benchmark](https://arxiv.org/abs/2502.20315)。

<hr>

# 📋 目录

- [🔥 最新消息](#news)
- [🛠️ 安装](#installation)
- [🚀 快速开始](#quick-start)
  - [LLM 配置](#llm-configuration)
  - [启动 MCP 服务器](#launch-mcp-server)
  - [启动评估](#launch-evaluation)
- [🧂 数据集和实验](#datasets-and-experiments)
- [🚰 引用](#cite)

# 🔥 最新消息
+ `Apr. 14, 2025` 🌟 我们很自豪地宣布 MCPBench 现在已开源。

# 🛠️ 安装
该框架需要 Python 版本 >= 3.11,nodejs 和 jq。

```bash
conda create -n mcpbench python=3.11 -y
conda activate mcpbench
pip install -r requirements.txt

🚀 快速开始

LLM 配置

在您的环境变量中准备 LLM 密钥和端点:

export MODEL_KEY=your_api_key_here
export MODEL_ENDPOINT=your_model_endpoint_here

启动 MCP 服务器

将 stdio MCP 作为 SSE 启动

如果 MCP 不支持 SSE,请编写如下配置:

{
  "name": "DuckDuckGo",
  "command": "uvx duckduckgo-mcp-server",
  "args": "",
  "port": 8001,
  "tool_name": "search",
  "tool_keyword": "query"
}

将此配置文件保存在 configs 文件夹中,并使用以下命令启动它:

sh launch_mcp_as_sse.sh YOUR_CONFIG_FILE

例如,如果配置文件是 duckduckgo.json,则运行:

sh launch_mcp_as_sse.sh duckduckgo.json

启动 SSE MCP

如果您的服务器支持 SSE,您可以直接使用它。URL 将是 http://localhost:8001/sse

对于支持 SSE 的 MCP 服务器,请编写如下配置:

{
  "name": "Exa Search",
  "command": "",
  "args": "",
  "url": "https://mcp-xxxx.api-inference.modelscope.cn/sse",
  "port": 0,
  "tool_name": "web_search",
  "tool_keyword": "query"
}

其中 url 可以从 ModelScope 上的 MCP 市场生成。

启动评估

要评估 MCP 服务器在 Web 搜索任务上的性能:

sh evaluation_websearch.sh YOUR_CONFIG_FILE

要评估 MCP 服务器在数据库查询任务上的性能:

sh evaluation_db.sh YOUR_CONFIG_FILE

🧂 数据集和实验

我们的框架提供了两个用于评估的数据集。对于 WebSearch 任务,数据集位于 MCPBench/langProBe/WebSearch/data/frames_test.jsonl,包含来自 Frames、新闻和技术领域的各 200 个 QA 对。我们用于自动构建评估数据集的框架将在稍后开源。

对于数据库查询任务,数据集位于 MCPBench/langProBe/DB/data/car_bi.jsonl。您可以按照以下格式添加自己的数据集:

{
  "unique_id": "",
  "Prompt": "",
  "Answer": ""
}

我们已经评估了主流 MCP 服务器在这两项任务上的性能。有关详细的实验结果,请参阅 Documentation

🚰 引用

如果您觉得这项工作有用,请考虑引用我们的项目:

@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}
}

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python