ðŠ MCPBench: A Benchmark for Evaluating MCP Servers
ããŒã«ã«ðŠ MCPBench: A Benchmark for Evaluating MCP Servers ã«ã€ããŠ
MCPBench ã¯ãWeb æ€çŽ¢ãããŒã¿ããŒã¹ã¯ãšãªãGAIA ã®åã¿ã¹ã¯ã§ MCP ãµãŒããŒãè©äŸ¡ãããã¬ãŒã ã¯ãŒã¯ã§ããããŒã«ã«ãšãªã¢ãŒãã®äž¡æ¹ã®ãµãŒããŒã«å¯Ÿå¿ããåäžã® LLM ãšãšãŒãžã§ã³ãæ§æã®ããšã§ã¿ã¹ã¯ã®æ£ççãã¬ã€ãã³ã·ãããŒã¯ã³æ¶è²»éãæ¯èŒããŸãããµãŒããŒãæ¯èŒæ€èšŒããç ç©¶è ãéçºè ãæ³å®ããŠããŸãã
äž»ãªæ©èœ
- 01Web æ€çŽ¢ãããŒã¿ããŒã¹ã¯ãšãªãGAIA ã¿ã¹ã¯ã®è©äŸ¡
- 02ããŒã«ã« STDIO ãšãªã¢ãŒã SSE ãµãŒããŒã«å¯Ÿå¿
- 03æ£ççãã¬ã€ãã³ã·ãããŒã¯ã³æ¶è²»éã®æž¬å®
- 04WebSearch ãš DB ã®ããŒã¿ã»ãããã«ã¹ã¿ã ããŒã¿ã»ããã«å¯Ÿå¿
掻çšã·ãŒã³
- 01Web æ€çŽ¢ç³» MCP ãµãŒããŒã®æ§èœæ¯èŒ
- 02ããŒã¿ããŒã¹ã¯ãšãªç³» MCP ãµãŒããŒã®æ£ç¢ºæ§è©äŸ¡
- 03åäž LLMã»ãšãŒãžã§ã³ãæ§æã§ã®ãã³ãããŒã¯æ¯èŒ
MCP 察å¿
MCPBench 㯠MCP ãµãŒããŒãè©äŸ¡ãããµãŒããŒãå ¬éããããŒã«ãšãã©ã¡ãŒã¿ãèªåã§æ€åºãããããæåã§ã®ããŒã«èšå®ã¯äžèŠã§ãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ãã®ãµãŒããŒã®ããã±ãŒãžããªã¢ãŒããšã³ããã€ã³ãã¯ãŸã ååŸã§ããŠããŸããããããžã§ã¯ãã® README ã®æé ã«åŸã£ãŠãã ããã
ããŒã«
ããŒã«ã«ãµãŒããŒã®ããŒã«ã¯ãã·ã³äžã§èµ·åããŠåããŠååŸã§ããŸããã¡ã³ãããŒã¯ãŸã ããŒã«äžèЧãæäŸããŠããŸããã
詳现
ðŠ MCPBenchïŒMCP ãµãŒããŒãè©äŸ¡ããããã®ãã³ãããŒã¯
MCPBench ã¯ãMCP ãµãŒããŒåãã®è©äŸ¡ãã¬ãŒã ã¯ãŒã¯ã§ããWeb æ€çŽ¢ãããŒã¿ããŒã¹ã¯ãšãªãGAIA ã® 3 çš®é¡ã®ãµãŒããŒã®è©äŸ¡ã«å¯Ÿå¿ããããŒã«ã«ãšãªã¢ãŒãã®äž¡æ¹ã® MCP ãµãŒããŒãšäºææ§ããããŸãããã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãåã LLM ãšãšãŒãžã§ã³ãã®èšå®ã䜿çšããŠãã¿ã¹ã¯ã®å®äºç²ŸåºŠãã¬ã€ãã³ã·ãããŒã¯ã³æ¶è²»éã®èгç¹ãããããŸããŸãª MCP ãµãŒããŒïŒBrave SearchãDuckDuckGo ãªã©ïŒãäž»ã«è©äŸ¡ããŸãããã¡ããè©äŸ¡ã¬ããŒãã§ãã
å®è£ ã¯LangProBeïŒèšèªããã°ã©ã ã®ãã³ãããŒã¯ãåèã«ããŠããŸãã
åæå®è£ ãæ åœããŠãã ãã£ã Qingxu Fu ã«å¿ããæè¬ããŸãïŒ
ð ç®æ¬¡
- ð¥ ãã¥ãŒã¹
- ð ïž ã€ã³ã¹ããŒã«
- ð ã¯ã€ãã¯ã¹ã¿ãŒã
- ð§ ããŒã¿ã»ãããšå®éš
- ð° åŒçš
ð¥ ãã¥ãŒã¹
Sep. 1, 2025ð Modelscope AI ããã«ãœã³ã Sep. 23rd ã«éå¬ãããŸããåç §ïŒ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 ãµãŒããŒã®çš®é¡ã確èªããŠãã ããã
- ãªã¢ãŒããã¹ãïŒModelScopeãSmitheryãlocalhost ãªã©ãä»ã㊠SSE ã§ã¢ã¯ã»ã¹ããå ŽåïŒã¯ãè©äŸ¡ãçŽæ¥å®æœã§ããŸãã
- ããŒã«ã«ã§èµ·åããå ŽåïŒ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
}
]
}
]
}
Web æ€çŽ¢ã¿ã¹ã¯ã«ããã MCP ãµãŒããŒã®ããã©ãŒãã³ã¹ãè©äŸ¡ããã«ã¯ã次ãå®è¡ããŸãã
sh evaluation_websearch.sh YOUR_CONFIG_FILE
ããŒã¿ããŒã¹ã¯ãšãªã¿ã¹ã¯ã«ããã MCP ãµãŒããŒã®ããã©ãŒãã³ã¹ãè©äŸ¡ããã«ã¯ã次ãå®è¡ããŸãã
sh evaluation_db.sh YOUR_CONFIG_FILE
GAIA ã¿ã¹ã¯ã«ããã MCP ãµãŒããŒã®ããã©ãŒãã³ã¹ãè©äŸ¡ããã«ã¯ã次ãå®è¡ããŸãã
sh evaluation_gaia.sh YOUR_CONFIG_FILE
ããšãã°ãäžèšã®èšå®ã configs/firecrawl.json ãã¡ã€ã«ã«ä¿åããæ¬¡ã®ã³ãã³ãã§èµ·åããŸãã
sh evaluation_websearch.sh firecrawl.json
ããŒã¿ã»ãããšå®éšçµæ
ãã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãè©äŸ¡çšã« 2 ã€ã®ããŒã¿ã»ãããæäŸããŠããŸããWeb æ€çŽ¢ã¿ã¹ã¯ã®ããŒã¿ã»ãã㯠MCPBench/langProBe/WebSearch/data/websearch_600.jsonl ã«ãããFramesããã¥ãŒã¹ããã¯ãããžãŒã®ååéããããããã 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}
}
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã