A local, single-binary bridge that lets Claude Code and OpenAI Codex collaborate on the same workstation via MCP (Model Context Protocol)
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. consult_codex has a well-written description (169 chars, within baseline 34-392 range) explaining WHAT, WHEN, and HOW. get_messages description is minimal (72 chars). Both tools have input schemas with type definitions, but parameter descriptions are sparse. No output schemas documented. Error handling exists but lacks recovery guidance. Tool composition is reasonable (separate concerns), but missing idempotency guarantees and pagination support.
Send a message to Codex — lands as a new user turn in its session. Use any time you want Codex to act, verify, or answer. Available whenever gossip is running; no prior Codex message required. Prefer ending your turn with [COMPLETION] on its own line for the automatic review loop; reserve this tool for targeted mid-turn consultations.
Drain pending messages from Codex. Call when you expect a Codex response or want to check what has accumulated.
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields without knowing what get_messages and consult_codex return. Baseline: 100% of A+ tools document return types.
get_messages description is too brief (72 chars) and lacks context. Does not explain WHEN to call it, what structure it returns, or how it relates to consult_codex. Baseline: 194 chars average, 34-392 range for A+ tools.
Parameter 'require_reply' in consult_codex lacks clear guidance on asynchronous behavior. Description mentions 'pull mode' and 'channel tag' but does not explain what the LLM should do next or when to call get_messages. Undocumented dependency.
No pagination or result limits documented. get_messages drains a queue but does not specify max message count, overflow behavior, or how to handle large backlogs. Baseline: tools returning lists should accept limit/offset and return total count.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
Error handling returns plain text but lacks recovery guidance. 'Error: missing required parameter text' does not tell the LLM what to do next. Baseline: errors must guide the agent toward resolution.