MCP server that exposes OpenAI Codex CLI session history to Claude Code and other MCP clients
Two tools with clear verb-noun naming (codex_list_sessions, codex_read_session) and solid descriptions (180-220 chars, meeting baseline). Input schemas present with typed parameters and descriptions. However, output schemas are undocumented, LLMs cannot predict return structure. Error handling is minimal (only 'not found' cases). No pagination guidance despite list_sessions returning up to 20 items. Tool descriptions lack dependency hints and prerequisites. Parameters lack format constraints (e.g., session_id UUID format not enforced in description).
List recorded Codex CLI sessions. Queries the Codex state database for session threads, returning ID, title, model, working directory, and timestamps.
Read a Codex CLI session's conversation by session ID. Extracts user messages, Codex agent responses, and optionally tool calls/results from the session's JSONL log file.
Output schemas undocumented. LLMs cannot predict return structure (list of sessions vs. single session, field names, types). Baseline requires 100% of A+ tools to document return types.
No pagination guidance in codex_list_sessions despite returning up to 20 items. Baseline pattern requires limit/offset and total count for list tools to prevent context window exhaustion.
Parameter format constraints missing. session_id described as UUID but no format hint in description text (LLMs cannot read JSON Schema format fields). max_messages and limit lack min/max bounds.
Error handling minimal. Only 'database not found' case documented. No guidance for malformed session_id, missing JSONL file, or parse failures. Baseline requires actionable recovery hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Descriptions lack dependency hints. codex_read_session should note 'Call codex_list_sessions first to discover available session IDs' to guide multi-step planning.