Grade MCP tool definitions for agent-readiness
grade_toolsGrade MCP tool definitions (the tools array from a tools/list result) for how well AI agents can pick and call them. Returns a 0–100 score and A–F grade, per-tool scores, and findings with concrete fixes: missing or weak descriptions, untyped parameters, strings without maxLength, missing required or additionalProperties, missing annotations (readOnlyHint, destructiveHint …), invalid or duplicate names, outputSchema and enum problems, hidden characters and tool-poisoning patterns. Also returns an ESTIMATED token cost of the definitions (characters ÷ 4; real counts vary by model). Pure parsing: no network calls, and your tool definitions are never stored. Read-only. Same engine as the ToolGrade JSON API (POST /api/grade).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tools | No | The tool definitions to grade, e.g. [{"name": "search_docs", "description": "...", "inputSchema": {...}}]: the "tools" array of a tools/list result. Up to 200 tools. Provide this or tools_json. | |
| tools_json | No | Alternative to tools: raw JSON text of a tools/list response, its result object ({"tools": [...]}) or a tool array, exactly as copied. | |
| include_raw | No | Also return the full /api/grade report (all findings and every tool row) in structuredContent.raw. Larger output. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Full /api/grade response (only when include_raw is true) | |
| info | No | ||
| grade | Yes | ||
| score | Yes | ||
| tools | Yes | ||
| version | Yes | ||
| warning | No | ||
| critical | No | ||
| findings | Yes | ||
| tokenNote | No | ||
| toolCount | Yes | ||
| toolsOmitted | No | ||
| verdictMeaning | No | ||
| estimatedTokens | Yes | ESTIMATED total token cost of all definitions (compact JSON chars ÷ 4). | |
| findingsOmitted | No |