Localhost-first ChatGPT MCP Hub with Codex worker dispatch, review queue, audit, and fake-exec demo path.
30 tools with minimal schema visibility and inconsistent descriptions. Most tools lack explicit input parameter schemas in the provided source, only 3 tools (codex_handoff_create, task_get, artifact_get) show partial schema hints. Descriptions are present but generic (10 - 50 chars), falling below the 50 - 200 char baseline for LLM-optimized docs. No output schemas documented. Error handling and recovery guidance absent. Tool naming follows verb_noun convention (good), but parameter descriptions are missing entirely for most tools. This server prioritizes API routing over agent-friendly tool design.
Requests approval for an action
Resolves pending approval request
Retrieves artifact data by ID
Stores artifact data
Reads audit log entries
Queues one compact handoff for Codex execution
Produces a non-mutating packet for local Codex import
27 of 30 tools have NO visible input schemas. Only codex_handoff_create, task_get, and artifact_get show partial parameter definitions.
All 30 tool descriptions are 10 - 50 characters, well below the 50 - 200 char baseline for LLM-optimized docs. Descriptions like 'Provides collaboration guidance and plan overview' (47 chars) lack WHEN to use, prerequisites, and return value hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2025-06-18+ | v2 |
Provides collaboration guidance and plan overview
Recovers shared state from collaboration pack
Gets context bundle by ID
Appends decision to plan
Lists decisions for a plan
Gets git diff output
Gets git repository status
Lists directory contents
Validates file paths against policy
Validates result against policy constraints
Reads file contents
Reads multiple files
Submits execution result report
Gets review details for a result
Gets next result for review
Searches files by pattern
Claims next available task for execution
Creates a batch of tasks
Gets task details by ID
Sends heartbeat to keep task lease active
Lists tasks with optional filtering
Releases task lease with status update
Records worker event for audit trail
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., task_id, lease_id) without knowing response structure.
No error handling or recovery guidance. Tools like task_claim_next and approval_resolve are WRITE operations but lack documentation of failure modes, retryability, or what the LLM should do if the call fails.
Parameter descriptions missing for all tools. task_get accepts task_id but no description explains format (UUID? string? numeric?). task_claim_next accepts runner, lane, repo, lease_ttl_seconds, read_only with no guidance on valid values or constraints.