MCP Server providing the report_status tool for Claude Code sessions to report agent working status to the Virtual Office dashboard
Single tool 'report_status' has a clear verb-noun name and comprehensive description (287 chars, within baseline 194±198). All 5 parameters are typed and described. However, the tool exhibits critical composition and security issues: it performs two distinct operations (upsert session + insert log) in one call, violating single-responsibility principle. The description references a non-existent 'coder_report_task' tool that must be called in parallel, indicating incomplete tool design. Parameter 'state' uses enum validation in code but the schema does not declare an enum constraint, forcing LLMs to guess valid values. Error handling returns plain strings rather than structured error objects with recovery guidance. No output schema is documented, callers cannot predict the response structure. The tool accepts session_id as a parameter but also generates one server-side if empty, creating ambiguous behavior.
Report your current working status to the Virtual Office. This updates your agent's status in the office dashboard so the team can see what you're working on in real-time. Important: This tool must always be called together with `coder_report_task` in the same parallel block. Never call one without the other. Authentication is handled automatically via the Authorization header when connecting to the MCP server — no api_key parameter needed.
Tool performs two distinct operations (upsert session + insert log) in a single call, violating single-responsibility principle. Should be split into 'update_agent_session' and 'log_session_event'.
Parameter 'state' validates against enum {working, complete, idle, failure} in code but schema does not declare enum constraint. LLMs cannot discover valid values without trial-and-error.
No output schema documented. Tool returns a string (success or error message) but callers cannot predict structure or parse programmatically. Violates response-shaper pattern.
Description references non-existent 'coder_report_task' tool that 'must always be called together' in parallel. This dependency is unverifiable and suggests incomplete tool design or missing tool registration.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Error handling returns plain strings ('Error: ...') instead of structured error objects with recovery guidance. LLMs cannot classify errors as retryable, user-fixable, or fatal.