Skip to content

Commit 5b21b25

Browse files
iamzifeiclaude
andcommitted
feat: Phase 1.5 — benchmark results for 12 MCP servers + blog post
Evaluated 12 MCP servers, 5 completed successfully: - mcp-sequential-thinking: 77/100 (100% reliability) - mcp-datetime: 75/100 (73% reliability, 10 tools) - context7: 73/100 (100% reliability) - mcp-everything: 68/100 (77% reliability, 13 tools) - mcp-filesystem: 62/100 (14% reliability — path generation issue) 7 servers failed due to MCP SDK connection timeout during Claude API calls. This is a known issue — the MCP server disconnects when idle during the ~30s task generation phase. Will be fixed by parallelizing or pre-generating. Includes: - results/ — raw evaluation data (report.json per server) - docs/blog/mcp-server-benchmark.md — generated blog post with rankings - README.md — project overview with quick start Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 3d97f50 commit 5b21b25

20 files changed

Lines changed: 2480 additions & 0 deletions

File tree

README.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# agent-eval
2+
3+
**The credit rating agency for AI agents.** Open-source evaluation framework for benchmarking MCP servers, A2A agents, and API-first agent services.
4+
5+
## Quick Start
6+
7+
```bash
8+
# Initialize config for your agent
9+
npx agent-eval init
10+
11+
# Run evaluation
12+
ANTHROPIC_API_KEY=your-key npx agent-eval run
13+
14+
# View results
15+
cat agent-eval-report/report.json
16+
```
17+
18+
## What it does
19+
20+
`agent-eval` connects to an AI agent, auto-generates test tasks using Claude, executes them, and scores the results across 5 dimensions:
21+
22+
| Dimension | Weight | What we measure |
23+
|-----------|--------|-----------------|
24+
| **Capability** | 30% | Task completion + output quality (LLM-as-judge) |
25+
| **Reliability** | 25% | Success rate across multiple runs |
26+
| **Efficiency** | 20% | Response latency |
27+
| **Safety** | 15% | Prompt injection resistance, scope violations |
28+
| **Dev Experience** | 10% | Schema quality, error messages |
29+
30+
## Sample Output
31+
32+
```
33+
AgentHunter Eval v0.1.0
34+
Agent: mcp-memory v1.0.0 (MCP)
35+
Tools: 9 | Tasks: 18 | Runs: 18
36+
37+
────────────────────────────────────────────
38+
SCORE: 76 / 100
39+
────────────────────────────────────────────
40+
41+
Capability ███████████░░░░░░░░░ 55%
42+
Reliability ██████████████████░░ 89%
43+
Efficiency ████████████████████ 100%
44+
Safety █████████████░░░░░░░ 67%
45+
Dev Experience ██████████████░░░░░░ 70%
46+
```
47+
48+
## Benchmark Results
49+
50+
We evaluated 12 popular MCP servers. [See full results →](docs/blog/mcp-server-benchmark.md)
51+
52+
| Rank | Server | Score | Reliability |
53+
|------|--------|-------|-------------|
54+
| 🥇 | mcp-sequential-thinking | **77** | 100% |
55+
| 🥈 | mcp-datetime | **75** | 73% |
56+
| 🥉 | context7 | **73** | 100% |
57+
| 4 | mcp-everything | **68** | 77% |
58+
| 5 | mcp-filesystem | **62** | 14% |
59+
60+
Raw evaluation data: [`results/`](results/)
61+
62+
## Supported Protocols
63+
64+
- **MCP** (Model Context Protocol) — stdio transport
65+
- **A2A** — coming in Phase 2
66+
- **REST API** — coming in Phase 2
67+
68+
## Development
69+
70+
```bash
71+
git clone https://github.com/OrrisTech/agent-eval
72+
cd agent-eval
73+
bun install
74+
bun run --filter agent-eval build
75+
bun run --filter agent-eval test
76+
```
77+
78+
## License
79+
80+
MIT

docs/blog/mcp-server-benchmark.md

Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
---
2+
title: "We Benchmarked 5 MCP Servers — Here's What We Found"
3+
date: 2026-04-13
4+
author: AgentHunter Eval
5+
---
6+
7+
# We Benchmarked 5 MCP Servers — Here's What We Found
8+
9+
The Model Context Protocol (MCP) ecosystem has exploded — over 10,000 servers on the official registry, 97 million monthly SDK downloads. But which MCP servers are actually good?
10+
11+
We built [agent-eval](https://github.com/OrrisTech/agent-eval), an open-source evaluation framework, and used it to benchmark 12 popular MCP servers across 5 dimensions: **Capability**, **Reliability**, **Efficiency**, **Safety**, and **Developer Experience**.
12+
13+
Here's what we found.
14+
15+
## Methodology
16+
17+
For each server, we:
18+
1. Connected via stdio transport and discovered all available tools
19+
2. Used Claude to auto-generate test tasks based on each tool's schema
20+
3. Executed every task multiple times to measure reliability
21+
4. Scored output quality using LLM-as-judge (Claude Sonnet 4)
22+
5. Measured latency, success rate, and safety (prompt injection resistance)
23+
24+
All evaluation code is [open source](https://github.com/OrrisTech/agent-eval). You can reproduce these results yourself:
25+
26+
```bash
27+
npx agent-eval init
28+
npx agent-eval run
29+
```
30+
31+
## Rankings
32+
33+
| Rank | Server | Category | Score | Capability | Reliability | Efficiency | Safety |
34+
|------|--------|----------|-------|------------|-------------|------------|--------|
35+
| 1 🥇 | **mcp-sequential-thinking** | Reasoning | **77** | 33 | 100 | 100 | 100 |
36+
| 2 🥈 | **mcp-datetime** | Utilities | **75** | 52 | 73 | 100 | 92 |
37+
| 3 🥉 | **context7** | Search | **73** | 44 | 100 | 88 | 67 |
38+
| 4 | **mcp-everything** | Reference | **68** | 48 | 77 | 76 | 82 |
39+
| 5 | **mcp-filesystem** | Filesystem | **62** | 54 | 14 | 100 | 100 |
40+
41+
42+
## Key Findings
43+
44+
### 1. Reliability varies wildly
45+
46+
Of 5 servers tested, 2 achieved 80%+ reliability. However, 1 server(s) fell below 50%: **mcp-filesystem** (14%). Low reliability usually means the server crashes, times out, or returns errors for valid inputs.
47+
48+
### 2. Efficiency is generally excellent
49+
50+
Average latency across all servers was 879ms. 3/5 servers scored 90+ on efficiency, meaning sub-second response times. MCP's stdio transport is inherently fast since there's no network overhead.
51+
52+
### 3. Safety scores reveal gaps
53+
54+
2/5 servers scored a perfect 100 on safety. 1 scored below 70: **context7** (67). Lower safety scores indicate the server may be susceptible to prompt injection or may expose data outside its intended scope.
55+
56+
## Individual Results
57+
58+
### mcp-sequential-thinking
59+
60+
- **Category**: Reasoning
61+
- **Score**: 77/100
62+
- **Tools discovered**: 1
63+
- **Tasks generated**: 3
64+
- **Success rate**: 100%
65+
- **Avg latency**: 2ms
66+
- **Breakdown**: Cap 33 | Rel 100 | Eff 100 | Safe 100 | DX 70
67+
68+
### mcp-datetime
69+
70+
- **Category**: Utilities
71+
- **Score**: 75/100
72+
- **Tools discovered**: 10
73+
- **Tasks generated**: 30
74+
- **Success rate**: 73%
75+
- **Avg latency**: 2ms
76+
- **Breakdown**: Cap 52 | Rel 73 | Eff 100 | Safe 92 | DX 70
77+
78+
### context7
79+
80+
- **Category**: Search
81+
- **Score**: 73/100
82+
- **Tools discovered**: 2
83+
- **Tasks generated**: 6
84+
- **Success rate**: 100%
85+
- **Avg latency**: 1642ms
86+
- **Breakdown**: Cap 44 | Rel 100 | Eff 88 | Safe 67 | DX 70
87+
88+
### mcp-everything
89+
90+
- **Category**: Reference
91+
- **Score**: 68/100
92+
- **Tools discovered**: 13
93+
- **Tasks generated**: 39
94+
- **Success rate**: 77%
95+
- **Avg latency**: 2747ms
96+
- **Breakdown**: Cap 48 | Rel 77 | Eff 76 | Safe 82 | DX 70
97+
98+
### mcp-filesystem
99+
100+
- **Category**: Filesystem
101+
- **Score**: 62/100
102+
- **Tools discovered**: 14
103+
- **Tasks generated**: 42
104+
- **Success rate**: 14%
105+
- **Avg latency**: 1ms
106+
- **Breakdown**: Cap 54 | Rel 14 | Eff 100 | Safe 100 | DX 70
107+
108+
109+
110+
## Servers That Failed Evaluation
111+
112+
These servers could not be evaluated (connection failures, crashes, or missing dependencies):
113+
114+
- **mcp-memory** (Memory): - Loading config...
115+
✔ Config loaded: mcp-memory (MCP)
116+
- Connecting to agent via MCP...
117+
[3
118+
- **mcp-fetch** (Web): - Loading config...
119+
✔ Config loaded: mcp-fetch (MCP)
120+
- Connecting to agent via MCP...
121+
122+
Err
123+
- **mcp-git** (DevTools): - Loading config...
124+
✔ Config loaded: mcp-git (MCP)
125+
- Connecting to agent via MCP...
126+
✔
127+
- **playwright-mcp** (Browser): - Loading config...
128+
✔ Config loaded: playwright-mcp (MCP)
129+
- Connecting to agent via MCP...
130+
- **mcp-puppeteer** (Browser): - Loading config...
131+
✔ Config loaded: mcp-puppeteer (MCP)
132+
- Connecting to agent via MCP...
133+
134+
- **mcp-sqlite** (Database): - Loading config...
135+
✔ Config loaded: mcp-sqlite (MCP)
136+
- Connecting to agent via MCP...
137+
138+
Er
139+
- **notion-mcp** (Productivity): - Loading config...
140+
✔ Config loaded: notion-mcp (MCP)
141+
- Connecting to agent via MCP...
142+
[3
143+
144+
145+
146+
## How Scores Are Calculated
147+
148+
| Dimension | Weight | What we measure |
149+
|-----------|--------|-----------------|
150+
| **Capability** | 30% | Task completion rate + output quality (LLM-as-judge) |
151+
| **Reliability** | 25% | Success rate across multiple runs |
152+
| **Efficiency** | 20% | Response latency (sub-500ms = 100, >10s = 0) |
153+
| **Safety** | 15% | Prompt injection resistance, scope violations |
154+
| **Dev Experience** | 10% | Documentation quality, error messages, schema clarity |
155+
156+
**Overall Score** = weighted average of all dimensions, scaled to 0-100.
157+
158+
## Reproduce These Results
159+
160+
```bash
161+
git clone https://github.com/OrrisTech/agent-eval
162+
cd agent-eval
163+
bun install
164+
bun run --filter agent-eval build
165+
166+
# Evaluate a single server
167+
echo 'agent:
168+
name: "mcp-memory"
169+
protocol: mcp
170+
endpoint: "npx -y @modelcontextprotocol/server-memory"
171+
capabilities: ["memory"]
172+
eval:
173+
runs: 3' > agent-eval.yaml
174+
175+
ANTHROPIC_API_KEY=your-key npx agent-eval run
176+
```
177+
178+
## What's Next
179+
180+
We're expanding to evaluate A2A agents and REST API agents. If you'd like your MCP server benchmarked, [open an issue](https://github.com/OrrisTech/agent-eval/issues) or submit a PR to our server list.
181+
182+
---
183+
184+
*Evaluations run on 2026-04-13 using agent-eval v0.1.0. Scores may vary between runs due to LLM non-determinism. Full raw data available in the [results directory](https://github.com/OrrisTech/agent-eval/tree/main/results).*

results/context7/agent-eval.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
2+
agent:
3+
name: "context7"
4+
version: "1.0.0"
5+
protocol: mcp
6+
endpoint: "npx -y @upstash/context7-mcp"
7+
capabilities:
8+
- documentation-search
9+
10+
eval:
11+
runs: 2

0 commit comments

Comments
 (0)