M
mclenhard/mcp-evals
Score MCP tools with a model, including a GitHub Action
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
checked 2026-11-14 — the package has no executable entry (npx cannot run it).
Install & config
- Copy the command above
- Paste it as one entry under
mcpServersinclaude_desktop_config.json— local servers take command + args (example: clients) - Restart your client
Client config (built from the install command this repo gives)
{
"mcpServers": {
"mclenhard-mcp-evals": {
"command": "npx",
"args": ["mcp-eval"]
}
}
}Parsed from the README we fetched on 2026-11-05; we have not executed it.
command/args come from the install command the repository states. When it is ambiguous, the project README wins.
VS Code (.vscode/mcp.json - the key is servers)
{
"servers": {
"mclenhard-mcp-evals": {
"command": "npx",
"args": ["mcp-eval"]
}
}
}Same server, but VS Code keeps it under <code>servers</code>.
Claude Code (command line)
claude mcp add --transport stdio mclenhard-mcp-evals -- npx mcp-eval
Claude Code does not read a config file; add the server with this command.
Key names differ by client: Clients & CLI
- Source
- collected from the abordage/awesome-mcp list · type: MCP server
- Harvest history
- first seen 2026-11-05 · last seen 2026-11-14 · seen 10× · listed by 10 sources
- Score
- score 1,003 · 10 sources · mcp
- Install
npx mcp-eval
FAQ (answers come from our records)
How do I install it?
The repository provides this install command:
npx mcp-eval. It comes from the repository itself; we cannot guarantee it runs as-is in your client.Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
first catalogued 2026-11-05;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.
# MCP Evals
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
A Node.js package and GitHub Action for evaluating MCP (Model Context Protocol) tool implementations using LLM-based scoring, with built-in observability support. This helps ensure your MCP server's tools are working correctly, performing well, and are fully observable with integrated monitoring and metrics.
## Installation
### As a Node.js Package
bash
npm install mcp-evals
### As a GitHub Action
Add the following to your workflow file:
yaml
name: Run MCP Evaluations
on:
pullrequest:
types: [opened, synchronize, reopened]
jobs:
evaluate:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
uses: actions/checkout@v4
name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
name: Install dependencies
run: npm install
name: Run MCP Evaluations
uses: mclenhard/mcp-evals@v1.0.9
with:
evalspath: 'src/evals/evals.ts' # Can also use .yaml files
serverpath: 'src/index.ts'
openaiapikey: ${{ secrets.OPENAIAPIKEY }}
model: 'gpt-4' # Optional, defaults to gpt-4
## Usage -- Evals
### 1. Create Your Evaluation File
You can create evaluation configurations in either TypeScript or YAML format.
#### Option A: TypeScript Configuration
Create a file (e.g., evals.ts) that exports your evaluation configuration:
typescript
import { EvalConfig } from 'mcp-evals';
import { openai } from "@ai-sdk/openai";
import { grade, EvalFunction} from "mcp-evals";
const weatherEval: EvalFunction = {
name: 'Weather Tool Evaluation',
description: 'Evaluates the accuracy and completeness of weather information retrieval',
run: async () => {
const result = await grade(openai("gpt-4"), "What is the weather in New York?");
return JSON.parse(result);
};
const config: EvalConfig = {
model: openai("gpt-4"),
evals: [weatherEval]
};
export default config;
export const evals = [
weatherEval,
// add other evals here
];
#### Option B: YAML Configuration
For simpler configuration, you can use YAML format (e.g., evals.yaml):
yaml
# Model configuration
model:
provider: openai # 'openai' or 'anthropic'
name: gpt-4o # Model name
# apikey: sk-... # Optional, uses OPENAIAPIKEY env var by default
# List of evaluations to run
evals:
name: weatherquerybasic
description: Test basic weather information retrieval
prompt: "What is the current weather in San Francisco?"
expectedresult: "Should return current weather data for San Francisco including temperature, conditions, etc."
name: weatherforecast
description: Test weather forecast functionality
prompt: "Can you give me the 3-day weather forecast for Seattle?"
expectedresult: "Should return a multi-day forecast for Seattle"
name: invalidlocation
description: Test handling of invalid location requests
prompt: "What's the weather in Atlantis?"
expectedresult: "Should handle invalid location gracefully with appropriate error message"
### 2. Run the Evaluations
#### As a Node.js Package
You can run the evaluations using the CLI with either TypeScript or YAML files:
bash
# Using TypeScript configuration
npx mcp-eval path/to/your/evals.ts path/to/your/server.ts
# Using YAML configuration
npx mcp-eval path/to/your/evals.yaml path/to/your/server.ts
#### As a GitHub Action
The action will automatically:
1. Run your evaluations
## Installation
### As a Node.js Package
bash
npm install mcp-evals
### As a GitHub Action
Add the following to your workflow file:
yaml
name: Run MCP Evaluations
on:
pullrequest:
types: [opened, synchronize, reopened]
jobs:
evaluate:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
uses: actions/checkout@v4
name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
name: Install dependencies
run: npm install
name: Run MCP Evaluations
uses: mclenhard/mcp-evals@v1.0.9
with:
evalspath: 'src/evals/evals.ts' # Can also use .yaml files
serverpath: 'src/index.ts'
openaiapikey: ${{ secrets.OPENAIAPIKEY }}
model: 'gpt-4' # Optional, defaults to gpt-4
## Usage -- Evals
### 1. Create Your Evaluation File
You can create evaluation configurations in either TypeScript or YAML format.
#### Option A: TypeScript Configuration
Create a file (e.g., evals.ts) that exports your evaluation configuration:
typescript
import { EvalConfig } from 'mcp-evals';
import { openai } from "@ai-sdk/openai";
import { grade, EvalFunction} from "mcp-evals";
const weatherEval: EvalFunction = {
name: 'Weather Tool Evaluation',
description: 'Evaluates the accuracy and completeness of weather information retrieval',
run: async () => {
const result = await grade(openai("gpt-4"), "What is the weather in New York?");
return JSON.parse(result);
};
const config: EvalConfig = {
model: openai("gpt-4"),
evals: [weatherEval]
};
export default config;
export const evals = [
weatherEval,
// add other evals here
];
#### Option B: YAML Configuration
For simpler configuration, you can use YAML format (e.g., evals.yaml):
yaml
# Model configuration
model:
provider: openai # 'openai' or 'anthropic'
name: gpt-4o # Model name
# apikey: sk-... # Optional, uses OPENAIAPIKEY env var by default
# List of evaluations to run
evals:
name: weatherquerybasic
description: Test basic weather information retrieval
prompt: "What is the current weather in San Francisco?"
expectedresult: "Should return current weather data for San Francisco including temperature, conditions, etc."
name: weatherforecast
description: Test weather forecast functionality
prompt: "Can you give me the 3-day weather forecast for Seattle?"
expectedresult: "Should return a multi-day forecast for Seattle"
name: invalidlocation
description: Test handling of invalid location requests
prompt: "What's the weather in Atlantis?"
expectedresult: "Should handle invalid location gracefully with appropriate error message"
### 2. Run the Evaluations
#### As a Node.js Package
You can run the evaluations using the CLI with either TypeScript or YAML files:
bash
# Using TypeScript configuration
npx mcp-eval path/to/your/evals.ts path/to/your/server.ts
# Using YAML configuration
npx mcp-eval path/to/your/evals.yaml path/to/your/server.ts
#### As a GitHub Action
The action will automatically:
1. Run your evaluations
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/mclenhard-mcp-evals/)
- Source
- awesome · https://github.com/mclenhard/mcp-evals
- Browse by field
- MCP servers
- Listed by
- 10 independent sources
- added
- today
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.