agent-harnesses MCP server
Recommends, compares and searches agent harnesses from the curated best-of-Agent-Harnesses list
Grades other MCP servers' tool catalogs for how well an AI agent can use them
By Teng Li (individual) TypeScript Local · stdio Developer toolsTesting
45 popularity score ★ 20 ↓ 5.0k/wk
Opens the app, which asks before it adds the server.
claude mcp add mcpgrade -- npx -y mcpgrade serve{
"mcpServers": {
"mcpgrade": {
"command": "npx",
"args": [
"-y",
"mcpgrade",
"serve"
]
}
}
}{
"mcpServers": {
"mcpgrade": {
"command": "npx",
"args": [
"-y",
"mcpgrade",
"serve"
]
}
}
}{
"servers": {
"mcpgrade": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcpgrade",
"serve"
]
}
}
}[mcp_servers.mcpgrade]
command = "npx"
args = ["-y", "mcpgrade", "serve"]gemini mcp add --scope user mcpgrade npx -- -y mcpgrade servemcpgrade is a linter for MCP servers. It connects to a target server, asks for its tool list, and scores the catalog from A to F on how usable it is for a model rather than on spec compliance: description quality, input schema design, tool naming (confusable or generic names), token cost of the whole catalog, and consistency. Each finding comes with a rule identifier and a suggested fix.
Most people run it as a command-line tool, but `mcpgrade serve` starts it as a stdio MCP server so an assistant can grade a server for you. That mode has three tools: one grades a target (a remote URL, a local launch command, or a saved tools/list JSON file), one explains a rule, and one lists the rules. A grade returns the 20 most severe findings by default, up to 200 with `max_findings` (src/serve.ts).
The serve mode runs only the static rule engine. The CLI's extra modes, `--probe` (live calls to check error messages) and `--eval` (model-driven tool-selection tests that need an `ANTHROPIC_API_KEY` or another OpenAI-compatible endpoint), are not exposed as tools. In version 0.4.0 the server still announces itself as version 0.3.0 in its MCP handshake (src/serve.ts).
| Runtime | Node.js 18+ |
|---|
Node.js 18 or later with npx. No account or API key for serve mode. To grade a local server, the launcher it needs (npx, node, python, uv, deno, bun or docker) must be on PATH; a remote target must be reachable from your machine.
In serve mode a local target must start with one of npx, node, python, python3, uv, uvx, deno, bun or docker; other commands are refused, while URLs and .json snapshots are accepted (src/serve.ts). Serve mode takes no headers, so remote servers that need a bearer token can only be graded with the CLI's `--header`. The `--probe` and `--eval` checks are CLI-only. Results are capped at 200 findings per call. The ruleset is opinionated by its author's own account, and the README says the scoring model is still settling.
Suits MCP server authors who want an assistant to check their tool names, descriptions and schemas while they work, or anyone comparing how agent-friendly several servers are. For CI gating, authenticated remote servers or LLM-driven evaluation, the mcpgrade CLI itself (`--fail-on`, `--header`, `--eval`) is the better fit than the MCP mode. It reads and grades; it does not fix the target server's code.
grade_mcp_serverexplain_rulelist_grading_rules