claude-code-codex-agents
Allows Claude Code to delegate tasks to OpenAI's GPT-5.4 via Codex CLI, returning structured execution reports including tool usage, file changes, timing, and errors.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@claude-code-codex-agentsRefactor src/auth.py to use async/await"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
claude-code-codex-agents
Give Claude Code structured Codex traces, not raw output.
For Claude Code users who want GPT-5.4 as a real tool: claude-code-codex-agents parses the entire JSONL event stream from Codex CLI and returns a structured execution report -- which tools it used, which files it touched, how long it took, and what went wrong. No other Codex MCP bridge does this.

graph LR
A["Claude Code<br/>(Opus 4.6)"] -->|MCP Protocol| B["claude-code-codex-agents<br/>MCP Server"]
B -->|"subprocess + stdin"| C[Codex CLI]
C -->|JSONL stream| B
C -->|API call| D["OpenAI API<br/>(GPT-5.4)"]
B -->|Structured Report| AWithout vs With claude-code-codex-agents
Without -- You call Codex CLI and get a wall of text. You don't know what tools it used, what files it changed, or if it actually succeeded.
With claude-code-codex-agents -- Claude Code gets a structured execution trace:
[Codex gpt-5.4] Completed
⏱ Execution time: 8.3s
🧵 Thread: 019d436e-4c39-7093-b7ed-f8a26aca7938
📦 Tools used (3):
✅ read_file — src/auth.py
✅ edit_file — src/auth.py
✅ shell — python -m pytest tests/
📁 Files touched (1):
• src/auth.py
━━━ Codex Response ━━━
Fixed the authentication logic. Token validation order was incorrect.Related MCP server: gpt-subagents
Why claude-code-codex-agents?
There are 6+ Codex MCP bridges on GitHub. Here's what makes this one different:
Other bridges | claude-code-codex-agents | |
Output | Raw text dump | Structured trace (tools, files, timing, errors) |
Parallel tasks | 1 at a time | Up to 6 simultaneous |
Session continuity | Stateless | threadId persistence across calls |
Security | Pass-through | 3-tier sandbox + terminal injection prevention |
Tests | Few or none | 59 tests (parsing, security, sessions, edge cases, agent lifecycle) |
Review | Basic or none | Adversarial Review Loop (GPT-5.4 challenges Claude's code) |
Key Features
Full JSONL Trace Parsing -- Every Codex event (tool calls, file ops, errors) parsed into a structured report
Parallel Execution -- Run up to 6 Codex tasks simultaneously via
parallel_executeSession Management -- Continue previous threads with
session_continue(threadId persistence)Agent Lifecycle -- Run Codex as a background Claude Code-style worker via
spawn_codex_agent,send_codex_agent_input, andwait_codex_agentAdversarial Review Loop -- GPT-5.4 reviews Claude's code from a different perspective
Sandbox Security -- 3-tier policy (read-only / workspace-write / danger-full-access) + terminal injection prevention
Cross-Model Discussion -- Get GPT-5.4's opinion on design decisions via
discussZero External Dependencies -- Just FastMCP + Codex CLI. No databases, no Docker, no config files
Japanese Native -- Full Japanese prompt and report support
59 Tests -- Comprehensive coverage including security, parsing, session management, agent lifecycle, and edge cases
Quick Start
1. Install Codex CLI
npm install -g @openai/codex
codex login2. Install claude-code-codex-agents
git clone https://github.com/tsunamayo7/claude-code-codex-agents.git
cd claude-code-codex-agents
uv sync3. Add to your MCP client
Claude Code (~/.claude/settings.json):
{
"mcpServers": {
"claude-code-codex-agents": {
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/path/to/claude-code-codex-agents", "python", "server.py"],
"env": { "PYTHONUTF8": "1" }
}
}
}{
"mcpServers": {
"claude-code-codex-agents": {
"command": "uv",
"args": ["run", "--directory", "/path/to/claude-code-codex-agents", "python", "server.py"],
"env": { "PYTHONUTF8": "1" }
}
}
}Add to your MCP settings:
{
"claude-code-codex-agents": {
"command": "uv",
"args": ["run", "--directory", "/path/to/claude-code-codex-agents", "python", "server.py"],
"env": { "PYTHONUTF8": "1" }
}
}Tools
Tool | Description | Sandbox |
| Delegate tasks to Codex with structured trace report | workspace-write |
| Same as execute, plus full event timeline | workspace-write |
| Run up to 6 tasks simultaneously | read-only |
| Adversarial code review by GPT-5.4 | read-only |
| Code explanation (brief/medium/detailed) | read-only |
| Code generation with optional file output | workspace-write |
| Get GPT-5.4's perspective on design decisions | read-only |
| Continue a previous Codex thread | workspace-write |
| List session history with thread IDs | - |
| Launch a background Codex worker with | role-based |
| Continue a background Codex worker with follow-up instructions | same as agent |
| Wait for an agent turn and fetch the last structured result | - |
| Inspect tracked background Codex agents | - |
| Close an idle Codex agent | - |
| Check Codex CLI status and auth | - |
Claude Code-Style Agents
The new agent lifecycle tools let Claude Code treat Codex more like a persistent sub-agent than a one-shot CLI call.
Use
spawn_codex_agentto start a background worker with a role preset:defaultfor balanced execution,explorerfor read-heavy investigation,workerfor implementation.Use
send_codex_agent_inputto continue the same worker after you read its last result.Use
wait_codex_agentto poll for completion without blocking other work.Use
list_codex_agentsandclose_codex_agentto manage idle workers.
Real-World Example: Adversarial Code Review
Claude Code writes code, then asks GPT-5.4 to review it:
[Codex Review] GPT-5.4 Review Result
⏱ Execution time: 15.7s
━━━ Codex Response ━━━
- [CRITICAL] `run(cmd)` calls `os.system(cmd)` directly -- command injection
if `cmd` contains user input. Use `subprocess.run([...], shell=False)`.
- [WARNING] `divide(a, b)` raises ZeroDivisionError when b == 0.
Add a pre-check or explicit error message.
- [INFO] No type hints on function signatures. Add `def divide(a: float,
b: float) -> float:` for readability.Real-World Example: Parallel Execution
Analyze multiple tasks simultaneously:
[Parallel Execution Complete] 3 tasks
━━━ Task 1 ✅ ━━━
Instruction: Analyze src/auth.py for security issues
⏱ 5.2s
...
━━━ Task 2 ✅ ━━━
Instruction: Review database query patterns in src/db.py
⏱ 7.8s
...
━━━ Task 3 ✅ ━━━
Instruction: Check error handling in src/api.py
⏱ 4.1s
...Architecture
sequenceDiagram
participant C as Claude Code
participant H as claude-code-codex-agents
participant X as Codex CLI
participant O as OpenAI API
C->>H: MCP tool call (execute)
H->>H: _validate() + _enforce_sandbox()
H->>X: subprocess (stdin prompt)
X->>O: API request (GPT-5.4)
O-->>X: Response
X-->>H: JSONL event stream
H->>H: parse_jsonl_events() → CodexTrace
H->>H: _sanitize() → format_report()
H-->>C: Structured reportSecurity Model
Sandbox Mode | File Write | Shell Exec | Use Case |
| Blocked | Blocked | Review, explain, discuss |
| CWD only | Allowed | Execute, generate |
| Anywhere | Allowed | Full system access (use with caution) |
Additional protections:
ANSI/OSC escape sequence sanitization (terminal injection prevention)
Input validation on all parameters
Process kill on timeout
--ephemeralflag (no persistent Codex state)
Development
# Setup
git clone https://github.com/tsunamayo7/claude-code-codex-agents.git
cd claude-code-codex-agents
uv sync --extra dev
# Run tests (59 tests)
uv run pytest tests/ -v
# Run server directly
uv run python server.pyProject structure: Single file (server.py, ~820 lines). Easy to read, modify, and contribute.
Use Cases
Cross-Model Code Review -- Claude writes code, GPT-5.4 reviews it. Eliminates single-model bias.
Parallel Codebase Analysis -- Analyze 6 files simultaneously, get structured reports for each.
Design Discussion -- Get GPT-5.4's alternative perspective on architectural decisions via
discuss.Session-Based Refactoring -- Large refactoring across multiple
session_continuecalls with context preservation.AI Second Opinion -- When Claude's answer seems off, ask GPT-5.4 for a sanity check.
Requirements
Python 3.12+
Codex CLI (
npm install -g @openai/codex)OpenAI account (Codex CLI must be authenticated via
codex login)uv (recommended) or pip
Related Projects
Helix Ecosystem
helix-ai-studio — All-in-one AI chat studio with 7 providers, RAG, MCP tools, and pipeline
helix-pilot — GUI automation MCP server — AI controls Windows desktop via local Vision LLM
helix-agent — Extend Claude Code with local Ollama models — cut token costs by 60-80%
helix-sandbox — Secure sandbox MCP server — Docker + Windows Sandbox
Alternative Codex Bridges
codex-plugin-cc -- Official OpenAI plugin for Claude Code
codex-mcp-server -- Alternative Codex MCP bridge (Node.js)
License
Available Tools
15 toolsclose_codex_agentB
Close an idle Codex agent and keep its last known result.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It does reveal the non-obvious behavior that the last known result is kept, which is helpful. However, it omits important traits for a mutating/destructive operation: whether the agent is terminated, idempotency, what happens if the agent is not idle, and any side effects or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states both the action and the key behavioral outcome. It contains no filler, redundancy, or irrelevant detail, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter), the presence of an output schema, and a clear one-sentence description, the core functionality is reasonably covered. However, it lacks usage guidance and behavioral caveats that would make it fully self-contained for an agent deciding whether and when to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the undocumented agent_id parameter. It does not explain the format, how to obtain it, or whether it refers to a session ID or process ID. The parameter name is self-explanatory at a basic level, but no additional semantic value is provided beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Close') and resource ('idle Codex agent'), and adds a meaningful outcome ('keep its last known result'). This clearly distinguishes it from sibling tools like spawn_codex_agent, wait_codex_agent, and list_codex_agents, which handle other lifecycle stages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'idle Codex agent' implies it should be used when an agent has finished some work and no longer needs to execute, and 'keep its last known result' signals that results are preserved. However, it does not explicitly state when to use this versus waiting (wait_codex_agent) or listing (list_codex_agents), nor does it mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discussA
Codex CLI(GPT-5.4)と対話的にアイデアを深掘り。別視点の意見を得る。
Args: topic: 議論したいトピック context: 追加コンテキスト(現在の設計案、課題など)
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | ||
| context | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool is interactive and seeks alternate viewpoints, but it does not mention whether it creates or requires a session, whether it has side effects, or how long the interaction lasts. This leaves important behavioral aspects unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the primary purpose in the first sentence. The Args section is cleanly structured and easy to parse. Every sentence contributes useful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is simple, but with no annotations and no explicit note about whether the tool uses or affects sessions (given sibling tools like session_list and session_continue), the completeness is average. The existence of an output schema helps, but the description itself does not explain return values or prerequisites, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides meaningful Japanese explanations for both parameters: 'topic' as the topic to discuss and 'context' as additional context such as current design or issues. This fully compensates for the 0% schema description coverage and adds real semantic value beyond the raw string type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('discuss') and resource ('Codex CLI'), and clarifies the purpose: interactively deepen ideas and get alternative perspectives. This distinguishes it from sibling tools like 'execute' or 'generate' by emphasizing a conversational, idea-oriented function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for interactive idea exploration ('対話的にアイデアを深掘り'), but does not explicitly state when to prefer this over siblings like 'review' or 'explain', nor does it give exclusions. It offers only implicit context rather than clear usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
executeB
Codex CLI(GPT-5.4)にタスクを委譲。実行過程を構造化レポートで返す。
Args: prompt: 実行するタスクの説明(日本語OK) cwd: 作業ディレクトリ(空の場合はカレント) model: 使用モデル(デフォルト: gpt-5.4) sandbox: サンドボックスモード(read-only/workspace-write/danger-full-access) timeout: タイムアウト秒数
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | ||
| model | No | gpt-5.4 | |
| prompt | Yes | ||
| sandbox | No | workspace-write | |
| timeout | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says the tool delegates to Codex CLI and returns a structured report, without explaining potential filesystem modifications, the meaning of sandbox modes, or safety implications. The sandbox parameter hints at risk but is not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a single clear purpose sentence followed by a compact, well-organized Args list. Every line provides useful information with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's potentially dangerous ability to execute tasks and the presence of several sibling tools, the description lacks usage context and safety notes. However, an output schema exists and the parameter list is complete, making the description minimally viable for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no property descriptions (0% coverage), but the description's Args section provides meaningful one-line explanations for all five parameters, including the allowed sandbox values and the default behavior of cwd. This compensates well for the missing schema descriptions, though the explanations are terse.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Codex CLI(GPT-5.4)にタスクを委譲' (delegate tasks to Codex CLI) and notes that it returns a structured report, giving a clear verb and resource. However, it does not differentiate this tool from sibling tools like parallel_execute or spawn_codex_agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use execute versus alternatives such as parallel_execute, trace_execute, or the codex agent tools. The description only lists parameters and provides no context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explainA
Codex CLI(GPT-5.4)にコードの解説・分析を依頼。
Args: code: 解説対象のコード language: プログラミング言語 detail_level: 詳細レベル(brief/medium/detailed)
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ||
| language | No | python | |
| detail_level | No | medium |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It mentions that the tool requests from 'Codex CLI(GPT-5.4)', implying an external call, but it does not disclose whether the operation is read-only, whether code is transmitted externally, what side effects might occur, or the response format. This is insufficient for an agent to anticipate the tool's behavior beyond a simple explanation request.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence followed by a terse bullet list of arguments. It is front-loaded with the purpose, and every line provides necessary information without redundancy. The structure is clean and easy to parse, achieving maximum clarity with minimal words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with three parameters and an output schema, the description covers the core purpose and parameter meanings. However, it lacks any guidance on usage context, and given the absence of annotations, it does not disclose behavioral aspects like side-effect safety or external service invocation details. The description is adequate but leaves clear gaps in usage and transparency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no property descriptions (schema coverage 0%), but the description's Args section explicitly defines each parameter: code as 'the code to explain', language as 'programming language', and detail_level as 'detail level (brief/medium/detailed)'. It adds meaning to all three parameters and even enumerates valid value options for detail_level, which the schema does not provide. This fully compensates for the schema's lack of semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear statement: 'Codex CLI(GPT-5.4)にコードの解説・分析を依頼' (request code explanation/analysis from Codex CLI). This names a specific action (request explanation/analysis) and a resource (Codex CLI), clearly distinguishing it from sibling tools like execute, generate, or review. The purpose is unambiguous and matches the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention conditions like 'use when you need to understand existing code' or note that execution tools should be used for running code. The only context is the tool's own purpose, with no exclusions or alternative comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generateA
Codex CLI(GPT-5.4)にコード生成を依頼。
Args: description: 生成するコードの説明(日本語OK) language: プログラミング言語 cwd: 作業ディレクトリ output_file: 出力ファイルパス(空の場合はコードを返す)
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | ||
| language | No | python | |
| description | Yes | ||
| output_file | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses a meaningful behavioral trait: if output_file is empty, the tool returns code; otherwise it likely writes to a file. However, it does not mention side effects, permissions, or safety implications beyond this, leaving some uncertainty about the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and efficient, starting with a one-line purpose statement followed by a clear parameter list. Every sentence serves a purpose with no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the tool's purpose and all parameters, and it explains the behavior of the output_file parameter. Given that an output schema exists, the lack of explicit return value documentation is acceptable. However, it omits information about error handling, required environments, or typical use cases, which would make it more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description compensates by explaining each parameter: description (code spec, Japanese OK), language (programming language), cwd (working directory), and output_file (output path; empty returns code). This adds meaningful context beyond the schema's type and default fields, though it could be more detailed about allowed values or formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Request code generation from Codex CLI (GPT-5.4)', which is a specific verb+resource combination. This distinguishes it from sibling tools like execute or review, as the focus is on generating code rather than running or explaining it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool's purpose implies it should be used when code generation is needed, but there is no explicit guidance on when to use it versus alternatives like execute or discuss. The description does not mention exclusions or alternatives, so it relies on the verb and context for implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_codex_agentsA
List all tracked background Codex agents.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. The verb 'list' clearly indicates a read-only operation with no side effects, and it adds specificity with 'tracked background' agents. It does not over-explain, but for a simple list tool, this is adequately transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states exactly what the tool does without any unnecessary words. Every word earns its place, making it exceptionally concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter listing tool with an output schema, the description fully covers what the tool does and its scope ('all tracked background Codex agents'). The presence of an output schema means return values need not be described, and no additional context is needed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (since there are none). The rubric sets a baseline of 4 for zero-parameter tools, and the description appropriately does not add param information where none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'list' and clearly identifies the resource as 'tracked background Codex agents,' which distinguishes it from sibling tools like spawn_codex_agent or close_codex_agent. It also specifies the scope with 'all,' leaving no ambiguity about what the tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a clear use case: to retrieve all tracked background Codex agents. While it does not explicitly mention alternatives or exclusions, the context is evident and sufficient for a simple listing operation, especially given the distinct sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parallel_executeA
複数タスクをサブプロセスで並列実行し、全結果をまとめて返す。
各タスクの実行過程が個別にトレースされ、構造化レポートで返る。
Args: tasks: タスクリスト(改行区切り。各行が1つのタスク) model: 使用モデル sandbox: サンドボックスモード cwd: 作業ディレクトリ timeout: 全体タイムアウト秒数
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | ||
| model | No | gpt-5.4 | |
| tasks | Yes | ||
| sandbox | No | read-only | |
| timeout | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosure. It adds some behavioral context by stating each task is individually traced and results are returned in a structured report. However, it does not disclose sandbox behavior, failure handling, resource implications, or security aspects, which are important for a tool that executes tasks in subprocesses.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core purpose, followed by a cleanly formatted Args section. Every sentence provides useful information without redundancy or filler. It is well-structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (parallel subprocess execution, five parameters, no annotations), the description covers the essential aspects: purpose, parameter meanings, and output format (structured report). An output schema exists, so return values need not be detailed. However, it could be more complete with a brief note on when to use it relative to sibling tools, which is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero coverage (only types and defaults), while the description provides meaningful explanations for every parameter: tasks (newline-separated list), model (model to use), sandbox (mode), cwd (working directory), and timeout (overall timeout seconds). This fully compensates for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool executes multiple tasks in parallel via subprocesses and returns all results together. This provides a specific verb (execute), resource (multiple tasks), and distinguishing feature (parallel subprocess execution) that sets it apart from sibling tools like 'execute' or 'trace_execute'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when parallel execution of multiple tasks is needed, but it does not explicitly state when to prefer this tool over alternatives such as 'execute' or 'trace_execute'. No exclusions or alternative guidance are provided, so while the context is clear, the tool lacks explicit usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reviewA
Codex CLI(GPT-5.4)にコードレビューを依頼。Adversarial Review Loopの実行部分。
Args: code: レビュー対象のコード language: プログラミング言語 focus: レビューの焦点(カンマ区切り: bugs,security,performance,readability)
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ||
| focus | No | bugs,security,performance,readability | |
| language | No | python |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says the tool requests a review and is part of an 'Adversarial Review Loop', but does not mention side effects (e.g., external API calls, cost, latency) or whether it mutates state. This is a significant gap for an operation that invokes a CLI.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: one line for purpose, one line for context, and a clean Args list. It is immediately readable and well-structured. Every sentence earns its place without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and parameters well, and an output schema exists (so return values need not be explained). However, it lacks context about the 'Adversarial Review Loop' workflow, any prerequisites, or behavioral specifics. Given the complexity of invoking an external CLI, the description is only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes an explicit Args list explaining each parameter: code (review target), language (programming language), and focus (comma-separated review areas). Since the schema itself has 0% description coverage, this fully compensates and adds meaning beyond the basic type/default information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Codex CLI(GPT-5.4)にコードレビューを依頼' (request a code review from Codex CLI). This is a specific verb+resource combination, and it is distinct from sibling tools like 'explain' and 'generate'. The additional phrase 'Adversarial Review Loopの実行部分' provides context without obscuring the main action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through its explicit purpose ('request code review') but does not state when to use this tool versus alternatives. There is no mention of exclusions or alternative tools such as 'explain' or 'discuss'. The reference to 'Adversarial Review Loop' hints at a specific workflow but offers no concrete guidance on conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_codex_agent_inputA
Continue an existing background Codex agent with a new instruction.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | ||
| timeout | No | ||
| agent_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the action but does not disclose whether the call blocks, returns immediately, or what happens if the agent is not found. The timeout parameter hints at waiting behavior but is never explained in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and resource with no filler words. It is optimally concise for a tool meant to continue an existing agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 3 parameters and an output schema, but the description is minimal. It lacks details on timeout semantics, error behavior, or how it relates to sibling tools like session_continue. For a simple tool, it is marginally adequate but leaves gaps around behavior and edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description indirectly adds meaning to 'agent_id' (existing agent) and 'message' (new instruction), but it does not explicitly describe any parameters. With 0% schema coverage, the 'timeout' parameter is entirely absent from the description, so it only partially compensates for the schema's silence.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'continue' and resource 'existing background Codex agent', clearly distinguishing it from siblings like spawn_codex_agent (create) and wait_codex_agent (wait). It is unambiguous about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'existing background Codex agent' implies it is for already-spawned background agents, differentiating it from spawn_codex_agent. However, it does not explicitly mention alternatives or when-not-to-use conditions, so some guidance is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
session_continueA
前回のCodexセッション(スレッド)を引き継いで継続実行。
thread_idを省略すると最新のセッションを自動で引き継ぐ。
Args: prompt: 続きの指示(日本語OK) thread_id: 引き継ぐスレッドID(省略時は最新) model: 使用モデル sandbox: サンドボックスモード timeout: タイムアウト秒数
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | gpt-5.4 | |
| prompt | Yes | ||
| sandbox | No | workspace-write | |
| timeout | No | ||
| thread_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of explaining behavior. It discloses the key trait of auto-selecting the latest session when thread_id is omitted, and describes the take-over-and-continue behavior. It lacks details on side effects or error handling, but for a continuation tool, this is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct and well-structured: a one-line purpose, a follow-up behavioral note, and a clearly formatted Args list. Every sentence adds value, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (return values are covered) and 5 parameters with full descriptions, the description is complete. It covers the purpose, key behavior, and all parameter semantics, making it self-sufficient for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates by listing and explaining all five parameters in the Args block (prompt, thread_id, model, sandbox, timeout). Each parameter gets a concise but meaningful description, adding semantics beyond the schema's type/default information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '前回のCodexセッション(スレッド)を引き継いで継続実行' (continue by taking over the previous Codex session/thread). This specific verb+resource combination distinguishes it from siblings like session_list (listing) and execute (starting new).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by explaining that omitting thread_id automatically takes over the latest session, which guides when to use the tool. However, it does not explicitly state when not to use it or name alternatives, though the sibling tools imply the contrast.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
session_listA
Codexセッション(スレッド)の履歴一覧を表示。session_continueで使用するthread_idを確認できる。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It states the tool displays a history list and allows confirming thread_id, which establishes it as a read-only operation. However, it does not disclose additional behavioral details such as ordering, pagination, or any required permissions, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise Japanese sentences that front-load the main purpose and then provide the key use case. Every sentence contributes valuable information without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, zero parameters, and the presence of an output schema, the description is nearly complete. It states the core functionality and links to the relevant sibling tool session_continue. It could mention return value specifics, but the output schema likely covers that, so the description suffices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to document. The schema trivially covers 100% of parameters, and the description adds no parameter-specific information. Baseline of 4 applies for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb '表示' and resource 'Codexセッション(スレッド)の履歴一覧', clearly distinguishing it from sibling tools like session_continue. It also states the practical purpose of confirming thread_id, making the tool's function unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions session_continue, implying this tool is the precursor for obtaining thread_id before continuing a session. It provides clear context for when to use it, though it does not explicitly exclude alternatives like list_codex_agents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spawn_codex_agentC
Start a background Codex worker with a Claude Code-style lifecycle.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | ||
| model | No | gpt-5.4 | |
| prompt | Yes | ||
| sandbox | No | ||
| timeout | No | ||
| agent_type | No | worker | |
| description | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It mentions 'background' and 'Claude Code-style lifecycle' but does not explain important traits like how the worker is managed, how to interact with it, or what happens on timeout. This leaves significant ambiguity for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action, containing no extraneous words. However, it is under-specified, so while structure is good, the content is minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, output schema) and lack of annotations, the description is too sparse. It does not clarify the lifecycle, return behavior, or parameter usage, making it insufficient for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (no parameter descriptions in the schema), and the description does not explain any of the 7 parameters (prompt, cwd, model, sandbox, timeout, agent_type, description). It fails to compensate for the lack of schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Start' with a specific resource ('background Codex worker'), making the core function clear. It distinguishes itself from sibling tools like execute by specifying 'background' and 'Claude Code-style lifecycle', though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like execute or parallel_execute, nor does it mention any exclusions or prerequisites. The only hint is 'background', which implies async use, but there is no explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
statusB
Codex CLIの状態とセッション情報を確認
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as read-only nature, side effects, or prerequisites. For a status tool, one might infer it is non-mutating, but this is not stated. The description carries no burden beyond basic purpose, which is insufficient without annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that directly states the tool's function with no redundant words. It is front-loaded and appropriately sized for a simple status-check tool, earning a high score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter tool with an output schema, the description is minimally viable but leaves gaps. It does not explain when to use it relative to session_list or whether any side effects exist. The absence of usage guidelines and behavioral transparency reduces completeness, though the output schema may cover return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema is empty. The description adds no parameter-level information because none is needed. Baseline for 0-parameter tools is 4, and the description meets this baseline without needing to compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Codex CLIの状態とセッション情報を確認' clearly states the tool's purpose: to check Codex CLI status and session information. It uses a specific verb ('確認' / check) and resource ('状態' and 'セッション情報'), but does not explicitly differentiate from sibling tools like session_list, which may overlap in functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as session_list or session_continue. It is a bare statement of purpose without context, exclusions, or explicit recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trace_executeA
Codex実行の全イベントトレースを返す。デバッグ・分析用の詳細モード。
executeと同じ実行だが、全JSONLイベントのタイムラインも含む。
Args: prompt: 実行するタスクの説明 cwd: 作業ディレクトリ model: 使用モデル sandbox: サンドボックスモード timeout: タイムアウト秒数
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | ||
| model | No | gpt-5.4 | |
| prompt | Yes | ||
| sandbox | No | workspace-write | |
| timeout | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It reveals that it includes a full JSONL event timeline and is the same execution as 'execute', but it does not mention potential side effects, permission requirements, or performance implications. The execution nature implies code execution, but the safety profile remains unknown.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, starting with the primary purpose, then the differentiation, then a clean Args list. Every sentence adds information; only minor redundancy in the arg glosses.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description, combined with an output schema (which documents return values), covers the core functionality and arguments. It lacks clarifications on error behavior, permissions, or exactly when the trace output is beneficial, leaving some gaps for an agent. The presence of the output schema reduces the need to describe return values, but behavioral context is still thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameter descriptions (0% coverage), so the description's brief glosses (e.g., '実行するタスクの説明' for prompt) add basic meaning. However, some glosses are tautological (e.g., 'サンドボックスモード' for sandbox), providing limited extra value. It covers all parameters but without depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Codex実行の全イベントトレースを返す' (returns all event traces of Codex execution), explicitly naming the resource and action. It further clarifies 'executeと同じ実行だが、全JSONLイベントのタイムラインも含む' which distinguishes it from the sibling 'execute' by adding the trace timeline. This clearly states what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'デバッグ・分析用の詳細モード' explicitly identifies debugging/analysis as the intended use case, giving clear context for when to choose this over the standard 'execute'. It does not explicitly exclude alternatives or list when-not-to-use, but the stated purpose is sufficient for most agents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wait_codex_agentC
Wait for a background Codex agent to finish its current turn.
| Name | Required | Description | Default |
|---|---|---|---|
| timeout | No | ||
| agent_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It states the core waiting behavior but does not mention timeout semantics (e.g., default 30s), whether it blocks indefinitely, what happens on timeout or error, or whether it returns the agent's final output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundant words. It is easy to parse and directly conveys the tool's primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description lacks essential context such as timeout behavior, interaction with other agent management tools, and when to prefer waiting versus polling status. The tool is simple, but the description is too sparse to fully guide correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention agent_id or timeout at all. The agent must infer parameter purposes from names alone, which is insufficient given the absence of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Wait') and resource ('background Codex agent') with a clear completion condition ('finish its current turn'). It distinguishes the tool from siblings like spawn, send, list, and close by focusing on the waiting aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit when-to-use guidance or exclusions. It does not mention how this differs from status or other session monitoring tools, nor does it state prerequisites or common usage patterns.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
15 tool updates
v0.2.0- First observed
close_codex_agent - First observed
discuss - First observed
execute - First observed
explain - First observed
generate - First observed
list_codex_agents - First observed
parallel_execute - First observed
review - First observed
send_codex_agent_input - First observed
session_continue - First observed
session_list - First observed
spawn_codex_agent - First observed
status - First observed
trace_execute - First observed
wait_codex_agent
TDQS
Most tools have distinct purposes, but 'execute' and 'trace_execute' are nearly identical aside from output detail, and 'session_list' and 'status' both report session info. Descriptions clarify the differences, so agents should generally select correctly.
The majority of tools follow a verb_noun pattern (e.g., execute, review, explain, spawn_codex_agent), but 'session_list', 'session_continue', and 'status' deviate to noun_verb or bare noun. This is a minor inconsistency in an otherwise predictable naming scheme.
15 tools is at the upper boundary of appropriate for a Codex CLI wrapper. The set covers task execution, code analysis, session management, and background agent lifecycle, but a few tools like 'trace_execute' and 'status' feel somewhat redundant with 'execute' and 'session_list', making the set slightly over-sized.
The toolkit covers the core workflows: single, parallel, and traced execution; code review, explanation, generation, and discussion; session listing and continuation; and background agent lifecycle. A notable gap is the lack of a cancellation mechanism for running tasks, but the overall surface is fairly complete for the domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
No-data MCP handoff for local Claude Code to Codex harness moves. $49 lifetime.
Source-checked CLI guides and model-aware planning for Claude Code, Codex, and Grok Build.
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
Live SEO workflow tools for Claude Code, Codex, and AI agents.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables Claude Code, Cursor, and other AI tools to call OpenAI Codex for task execution, with safe and writable modes.3-
- AlicenseAqualityBmaintenanceEnables Claude to delegate tasks to OpenAI expert models (GPT-5.3-Codex and GPT-5.5) as subagents, with orchestration patterns for safe and effective use.3MIT
- AlicenseAqualityAmaintenanceCall OpenAI Codex from Claude Code for independent second opinions, structured code review, and delegated coding tasks through a FastMCP plugin that drives the codex CLI safely.173MIT
- AlicenseNot gradedqualityDmaintenanceIntegrates OpenAI Codex CLI with Claude Code via MCP, enabling code execution, analysis, fixing, and web search within Claude Code.7651ISC
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tsunamayo7/claude-code-codex-agents'
If you have feedback or need assistance with the MCP directory API, please join our Discord server