Token导航 LogoToken导航TokenDH.com
MCP Bench (Accenture) logo
AI代理stdio官方级别未说明来源级核验

MCP Bench (Accenture)

MCP Server

MCP-Bench是一个通过模型上下文协议(MCP)评估大语言模型在工具使用场景能力的端到端基准测试框架。

工具数

0

提示词数

0

GitHub Stars

486

资源数

0
PythonClaudeAI代理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Accenture

提供方

Accenture

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python ./utils/collect_mcp_info.py

详细介绍

MCP-Bench:通过MCP服务器使用大型语言模型(LLM)代理进行复杂现实世界任务的基准测试工具

![arXiv](https://arxiv.org/abs/2508.20453) ![Leaderboard](https://huggingface.co/spaces/mcpbench/mcp-bench) ![License: Apache 2.0](https://opensource.org/licenses/Apache-2.0) ](https://www.python.org/downloads/) ![MCP Protocol](https://github.com/anthropics/mcp)

MCP-Bench

概述

MCP-Bench是一个全面的评估框架,旨在通过模型上下文协议(MCP)来评估大型语言模型(LLMs)在工具使用场景中的能力。该基准提供了一个端到端的流程,用于评估不同大型语言模型在发现、选择和利用工具解决实际任务方面的有效性。

新闻

  • \[2025-09\] MCP-Bench 被接受为2025年NeurIPS大会上关于智能体扩展环境的研讨会论文。

排行榜

排名模型总体得分
1GPT-50.749
2o30.715翻译为中文是:2o30.715(注:此句在中文中无实际意义,仅为原文的直接翻译,其中“o3”可能是一个特定术语或代码,在中文语境下保持原样)
3gpt-oss-120b0.692翻译为中文是:3gpt-oss-120b(模型名称)0.692(可能是指某种评分或指标)
4gemini-2.5-pro0.690(翻译为中文)4双子座-2.5专业版0.690
5claude-sonnet-40.681
6qwen3-235b-a22b-25070.678
7glm-4.50.668翻译为中文为:7glm-4.50.668(注:此句为数据或表格中的条目,直接翻译为中文保持原样,因为“glm-4.5”和“0.668”可能是特定的名称或数值,没有直接的中文对应翻译。)
8gpt-oss-20b0.654
9kimi-k20.629
10qwen3-30b-a3b-instruct-25070.627
11gemini-2.5-flash-lite0.598翻译为中文是:11双子座-2.5快速闪存轻量版0.598
12GPT-4o0.595
13gemma-3-27b-it0.582(翻译为中文)13Gemma-3-27B-IT0.582
14llama-3-3-70b-instruct0.558
15gpt-4o-mini0.557翻译为中文是:15GPT-4o-Mini0.557
16mistral-small-25030.530
17llama-3-1-70b-instruct0.510
18nova-micro-v10.508翻译为中文是:18nova微型版本v10.508
19llama-3-2-90b-vision-instruct0.495
20llama-3-1-8b-instruct0.428

*总评分为所有评估维度上的平均表现,包括基于规则的模式理解、由大型语言模型(以o4-mini作为评判模型)评判的任务完成度、工具使用以及规划有效性。评分是针对单服务器和多服务器设置的平均值。*

快速入门

安装

  1. 克隆仓库
git clone https://github.com/accenture/mcp-bench.git
cd mcp-bench
  1. 安装依赖项
conda create -n mcpbench python=3.10
conda activate mcpbench
cd mcp_servers
# Install MCP server dependencies
bash ./install.sh
cd ..
  1. 设置环境变量
# Create .env file with API keys
# Default setup uses both OpenRouter and Azure OpenAI
# For Azure OpenAI, you also need to set your API version in file benchmark_config.yaml (line205)
# For OpenRouter-only setup, see "Optional: Using only OpenRouter API" section below
cat > .env  .env << EOF
OPENROUTER_API_KEY=your_openrouterkey_here
EOF
  1. 修改代码以通过OpenRouter访问Azure模型:

编辑 llm/factory.py 并且注释掉Azure部分(第69-101行),然后通过OpenRouter添加Azure模型:

# Comment out or remove the Azure section (lines 69-109)
# if os.getenv("AZURE_OPENAI_API_KEY") and os.getenv("AZURE_OPENAI_ENDPOINT"):
#     configs["o4-mini"] = ModelConfig(...)
#     ...

# Add Azure models through OpenRouter (in the OpenRouter section around line 106)
if os.getenv("OPENROUTER_API_KEY"):
    # Add OpenAI models via OpenRouter
    configs["gpt-4o"] = ModelConfig(
        name="gpt-4o",
        provider_type="openrouter",
        api_key=os.getenv("OPENROUTER_API_KEY"),
        base_url="https://openrouter.ai/api/v1",
        model_name="openai/gpt-4o"
    )
    
    configs["gpt-4o-mini"] = ModelConfig(
        name="gpt-4o-mini",
        provider_type="openrouter",
        api_key=os.getenv("OPENROUTER_API_KEY"),
        base_url="https://openrouter.ai/api/v1",
        model_name="openai/gpt-4o-mini"
    )
    
    configs["o3"] = ModelConfig(
        name="o3",
        provider_type="openrouter",
        api_key=os.getenv("OPENROUTER_API_KEY"),
        base_url="https://openrouter.ai/api/v1",
        model_name="openai/o3"
    )
    
    configs["o4-mini"] = ModelConfig(
        name="o4-mini",
        provider_type="openrouter",
        api_key=os.getenv("OPENROUTER_API_KEY"),
        base_url="https://openrouter.ai/api/v1",
        model_name="openai/o4-mini"
    )

    configs["gpt-5"] = ModelConfig(
        name="gpt-5",
        provider_type="openrouter",
        api_key=os.getenv("OPENROUTER_API_KEY"),
        base_url="https://openrouter.ai/api/v1",
        model_name="openai/gpt-5"
    )
    
    
    # Keep existing OpenRouter models...

这样所有模型都将通过OpenRouter的统一API进行访问。

MCP 服务器

MCP-Bench 包含 28 种不同的 MCP 服务器:

项目结构

mcp-bench/
├── agent/                     # Task execution agents
│   ├── __init__.py
│   ├── executor.py           # Multi-round task executor with retry logic
│   └── execution_context.py  # Execution context management
├── benchmark/                 # Evaluation framework
│   ├── __init__.py
│   ├── evaluator.py          # LLM-as-judge evaluation metrics
│   ├── runner.py             # Benchmark orchestrator
│   ├── results_aggregator.py # Results aggregation and statistics
│   └── results_formatter.py  # Results formatting and display
├── config/                    # Configuration management
│   ├── __init__.py
│   ├── benchmark_config.yaml # Benchmark configuration
│   └── config_loader.py      # Configuration loader
├── llm/                       # LLM provider abstractions
│   ├── __init__.py
│   ├── factory.py            # Model factory for multiple providers
│   └── provider.py           # Unified provider interface
├── mcp_modules/              # MCP server management
│   ├── __init__.py
│   ├── connector.py          # Server connection handling
│   ├── server_manager.py     # Multi-server orchestration
│   ├── server_manager_persistent.py # Persistent connection manager
│   └── tool_cache.py         # Tool call caching mechanism
├── synthesis/                # Task generation
│   ├── __init__.py
│   ├── task_synthesis.py     # Task generation with fuzzy conversion
│   ├── generate_benchmark_tasks.py # Batch task generation script
│   ├── benchmark_generator.py # Unified benchmark task generator
│   ├── README.md             # Task synthesis documentation
│   └── split_combinations/   # Server combination splits
│       ├── mcp_2server_combinations.json
│       └── mcp_3server_combinations.json
├── utils/                    # Utilities
│   ├── __init__.py
│   ├── collect_mcp_info.py  # Server discovery and tool collection
│   ├── local_server_config.py # Local server configuration
│   └── error_handler.py     # Error handling utilities
├── tasks/                    # Benchmark task files
│   ├── mcpbench_tasks_single_runner_format.json
│   ├── mcpbench_tasks_multi_2server_runner_format.json
│   └── mcpbench_tasks_multi_3server_runner_format.json
├── mcp_servers/             # MCP server implementations (28 servers)
│   ├── api_key              # API keys configuration file
│   ├── commands.json        # Server command configurations
│   ├── install.sh          # Installation script for all servers
│   ├── requirements.txt    # Python dependencies
│   └── [28 server directories]
├── cache/                   # Tool call cache directory (auto-created)
├── run_benchmark.py         # Main benchmark runner script
├── README.md               # Project documentation
├── .gitignore              # Git ignore configuration
└── .gitmodules             # Git submodules configuration

引用

如果您在研究中使用了MCP-Bench,请引用:

@article{wang2025mcpbench,
  title={MCP-Bench: Benchmarking Tool-Using LLM Agents with Complex Real-World Tasks via MCP Servers},
  author={Wang, Zhenting and Chang, Qi and Patel, Hemani and Biju, Shashank and Wu, Cheng-En and Liu, Quan and Ding, Aolin and Rezazadeh, Alireza and Shah, Ankit and Bao, Yujia and Siow, Eugene},
  journal={arXiv preprint arXiv:2508.20453},
  year={2025}
}

明星历史

![Star History Chart](https://star-history.com/#accenture/mcp-bench&Date)

致谢

  • 建立在……之上 模型上下文协议 由Anthropic开发
  • 感谢所有使用过的开源MCP服务器实现

目录标签

目录标签

PythonClaudeAI代理大语言模型评估本地部署工具使用基准MCP协议AI测试框架多服务器任务

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP