M
mclenhard/mcp-evals
Score MCP tools with a model, including a GitHub Action
在 GitHub 查看 ↗链接已于 2026-11-12 核查 · HTTP 200 · 打开的是厂商自己的官网
2026-11-14 实测:这个包没有可执行入口,npx 起不来。
安装与配置
- 复制上面的命令
- 粘成
claude_desktop_config.json里mcpServers的一项(本地服务器用 command + args,示例见 客户端接法) - 重启客户端
客户端配置(取自该仓库的安装命令)
{
"mcpServers": {
"mclenhard-mcp-evals": {
"command": "npx",
"args": ["mcp-eval"]
}
}
}解析自我们于 2026-11-05 抓取的该仓库 README;我们未执行过。
command/args 来自仓库写明的安装命令;不确定时请以该项目 README 为准。
VS Code(.vscode/mcp.json —— 键名是 servers)
{
"servers": {
"mclenhard-mcp-evals": {
"command": "npx",
"args": ["mcp-eval"]
}
}
}VS Code 顶层键是 <code>servers</code>,其余与上面那份相同。
Claude Code(命令行)
claude mcp add --transport stdio mclenhard-mcp-evals -- npx mcp-eval
Claude Code 不收 JSON 文件,用这条命令直接加。
配置项的键名以你的客户端为准:客户端与 CLI
- 来源明细
- 收录自 abordage/awesome-mcp 榜单(我们从中收集的条目之一) · 条目类型:MCP 服务
- 收录与活跃
- 收录于 2026-11-05 · 最近见到 2026-11-14 · 共见到 10 次 · 被 10 个来源列出
- 评分构成
- 综合分 1,003 · 10 个来源 · mcp
- 安装
npx mcp-eval
常见问题(答案都来自我们的记录)
怎么安装?
该仓库给出的安装命令是
npx mcp-eval。我们的记录里它是仓库自己提供的;不保证在你的客户端上直接可用。它适合谁 / 用来做什么?
我们把它归在这些标签下: MCP 服务。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
我们收录于 2026-11-05;最近见到 2026-11-14。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。
# 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
收录徽章(可选)
想把收录标记放进 README 就复制这行,可选,不影响收录。
[](https://anclum.com/zh/s/mclenhard-mcp-evals/)
- 来源
- awesome · https://github.com/mclenhard/mcp-evals
- 按领域浏览
- MCP 服务
- 收录来源
- 10 个独立来源
- 收录于
- 今天
同类推荐
所属领域与标签
每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。