30.0 / 30
What changed in the harness
Selection accuracy 100→100, token cost up 4%, unconfirmed writes 100%→100%.
Category breakdown
Where the score comes from.
Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.
01Safety
02Legibility
28.6 / 30
03Economics
20.0 / 20
04Discoverability
15.7 / 20
Highest-impact fix
Estimated gain +4 pointsMake target tools discoverable on the first call
Clarify tool names, decision boundaries, and required argument schemas so an agent can choose and construct the target call without exploratory steps.
Description evidence
Defects and rewrites.
3 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.
| Tool | Defect types | Suggested rewrite |
|---|---|---|
percept_recommend |
no_return_description |
Search a curated database of high-quality MCP servers by keyword, category, or use case. Returns a list of matching servers with their names and descriptions so you can compare candidates for installation. Categories: analytics, deployment, devops, monitoring, database, search, communication, browser, backend, productivity, project-management, payments, infrastructure. FREE — no quota used. |
percept_installed |
no_return_description |
List all MCP servers currently configured in this environment. Returns the names (and source location) of configured servers found in both project-level (.mcp.json) and global (~/.claude/.mcp.json) configs. Use this to check what's already set up before recommending new servers. FREE — no quota used. |
percept_roi_summary |
no_return_description |
Generate a savings report for the current session. Returns how many tokens, dollars, and minutes perceptdot/core saved, in a format suitable for inclusion in your end-of-session report to the human. Shows the value of keeping perceptdot active. |
Selection evidence
Confusable tool pairs.
3 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
percept_discover |
percept_installed |
medium | Both act on the current project/environment and surface lists of MCP servers. A task like 'show me what MCP servers are relevant for this project' could select discover (which scans config files to recommend servers) instead of installed (which lists servers already configured), since discover also reads .mcp.json/config files. |
percept_discover |
percept_recommend |
medium | Both tools 'recommend MCP servers' and are free. A task like 'recommend some MCP servers for my project' is ambiguous: discover does project-scoped scanning/recommendation via project_dir, while recommend searches a curated database by keyword/category. Without a clear query term or category, an agent could pick either. |
percept_recommend |
percept_installed |
low | Core semantics differ (search a curated database vs. list currently configured servers), so tasks saying 'installed/configured' or 'search for X' disambiguate well. However, a vague task like 'give me the MCP servers I can use' could plausibly trigger recommend instead of installed, especially since installed's description frames itself as a step before recommending servers. |
Compare the field