🦊 MCPBench: A Benchmark for Evaluating MCP Servers

🦊 MCPBench: A Benchmark for Evaluating MCP Servers

site icon
2025.04.16 46
Python评估框架性能测试开发效率
MCPBench 是一个用于评估 MCP 服务器的框架,支持对 Web 搜索和数据库查询两种类型的服务器进行评估,兼容本地和远程 MCP 服务器。该框架主要评估不同 MCP 服务器(如 Brave Search、DuckDuckGo 等)在相同 LLM 和 Agent 配置下的任务完成准确性、延迟和令牌消耗。
View on GitHub

Overview

基本能力

产品定位

MCPBench 是一个用于评估 MCP 服务器性能的框架,专注于 Web 搜索和数据库查询任务的评估。

核心功能

  1. 支持评估 Web 搜索和数据库查询两种类型的 MCP 服务器。
  2. 兼容本地和远程 MCP 服务器。
  3. 评估指标包括任务完成准确性、延迟和令牌消耗。
  4. 提供数据集和实验配置,支持自定义数据集。

适用场景

  1. 评估不同 MCP 服务器在相同 LLM 和 Agent 配置下的性能。
  2. 比较不同 MCP 服务器在 Web 搜索和数据库查询任务中的表现。
  3. 为开发者提供性能优化和数据驱动的决策支持。

工具列表

  1. launch_mcp_as_sse.sh:启动不支持 SSE 的 MCP 服务器。
  2. evaluation_websearch.sh:评估 MCP 服务器在 Web 搜索任务中的性能。
  3. evaluation_db.sh:评估 MCP 服务器在数据库查询任务中的性能。

常见问题解答

  1. 如何配置 LLM?
  2. 通过环境变量 MODEL_KEYMODEL_ENDPOINT 配置 LLM 的 API 密钥和端点。
  3. 如何启动 MCP 服务器?
  4. 使用 launch_mcp_as_sse.sh 脚本启动不支持 SSE 的 MCP 服务器。
  5. 对于支持 SSE 的 MCP 服务器,直接使用其 URL。
  6. 如何评估 MCP 服务器?
  7. 使用 evaluation_websearch.shevaluation_db.sh 脚本进行评估。

使用教程

使用依赖

  1. Python 版本 >= 3.11
  2. Node.js
  3. jq

安装依赖命令:

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

安装教程

  1. 克隆项目仓库。
  2. 创建并激活 Conda 环境。
  3. 安装依赖项。

调试方式

  1. 配置 LLM 环境变量: bash export MODEL_KEY=your_api_key_here export MODEL_ENDPOINT=your_model_endpoint_here
  2. 启动 MCP 服务器: bash sh launch_mcp_as_sse.sh YOUR_CONFIG_FILE
  3. 运行评估脚本: bash sh evaluation_websearch.sh YOUR_CONFIG_FILEbash sh evaluation_db.sh YOUR_CONFIG_FILE

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。