MCP server that exposes Claude Code's real-time rate limit usage so orchestrators can check remaining capacity before launching subtasks.
Single tool with clear naming (check_usage_limits) and adequate description (127 chars, within 10-1024 range). Input schema is properly defined as empty object with no required params. However, output schema is NOT documented, LLMs cannot see what fields to expect from the response. Description lacks WHEN to use guidance and prerequisites. No parameter descriptions (though none are required). Error handling is minimal, unavailable data returns null fields rather than actionable recovery guidance.
Returns current Claude Code rate limit usage. session_used_pct and weekly_used_pct are 0-100. data_freshness is "fresh" (<60s), "stale" (60-300s), or "unavailable" (>300s or no data).
Output schema not documented. LLMs cannot see the structure of returned fields (session_used_pct, weekly_used_pct, data_freshness, etc.). This forces LLMs to infer output shape, risking misuse of returned data.
Description lacks actionable context. Does not explain WHEN to call this tool (before launching subtasks?), what 'fresh/stale/unavailable' means in practical terms, or how to act on the percentages returned.
Error handling returns null fields instead of recovery guidance. When data is unavailable, the response includes null values but no hint about why or what to do next (e.g., 'State file not found. Ensure statusLine is configured in ~/.claude/settings.json').
STDIO transport only. Server is not remotely accessible and cannot be used by hosted MCP clients. Limits deployment flexibility and testing surface.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |