Codex MCP Server
The Codex MCP Server integrates the Codex CLI into MCP-enabled clients (like Claude Code) for AI-powered code analysis, editing, and automation with safety controls.
Core Capabilities:
Execute Codex Commands (
ask-codex): Send prompts with file analysis using@syntax, supporting 7+ AI models (gpt-5-codex, o3, o4-mini, codex-1, etc.) and image file paths for visual analysisBatch Processing (
batch-codex): Execute multiple atomic tasks with parallel execution for mass refactoring and automated transformationsCreative Brainstorming (
brainstorm): Generate ideas using structured methodologies (SCAMPER, design-thinking, lateral, divergent, convergent) with domain context, feasibility analysis, and innovation scoringSafe Code Editing: Control file system access via sandbox modes (read-only, workspace-write, danger-full-access) and approval policies (never, on-request, on-failure, untrusted)
Structured Refactoring: Use
changeModefor OLD/NEW patch-style edits with chunk-based pagination (fetch-chunk) for large responsesModel Selection: Choose from cloud models or local Ollama server (OSS mode) optimized for different tasks
Web Search Integration: Enable research capabilities via feature flags for latest information retrieval
Configuration Management: Use profiles, feature flags, custom working directories, and per-request overrides
Cross-Platform Support: Works on Windows, macOS, and Linux with enhanced Windows support
Diagnostics: Test connectivity (
ping), view help (Help), check version (version), and test timeout handling (timeout-test)
Provides integration with OpenAI's Codex CLI, enabling code analysis, automated refactoring, documentation generation, and interactive code editing with approval workflows and sandbox execution modes
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., "@Codex MCP Serveranalyze @src/main.js and suggest improvements"
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.
Codex MCP Tool
Codex MCP Tool is an open‑source Model Context Protocol (MCP) server that connects your IDE or AI assistant (Claude, Cursor, etc.) to the Codex CLI. It enables non‑interactive automation with codex exec, safe sandboxed edits with approvals, and large‑scale code analysis via @ file references. Built for reliability and speed, it streams progress updates, supports structured change mode (OLD/NEW patch output), and integrates cleanly with standard MCP clients for code review, refactoring, documentation, and CI automation.
Latest Release (v1.2.4): Enhanced Windows compatibility - Now using cross-spawn for reliable npm global command execution across all platforms (Windows, macOS, Linux). See changelog
Ask Codex questions from your MCP client, or brainstorm ideas programmatically.
TLDR:
+ Codex CLI
Goal: Use Codex directly from your MCP-enabled editor to analyze and edit code efficiently.
Related MCP server: Codex MCP Server
Prerequisites
Before using this tool, ensure you have:
✅ Cross-Platform Support: Fully tested and working on Windows, macOS, and Linux (v1.2.4+)
One-Line Setup
claude mcp add codex-cli -- npx -y @cexll/codex-mcp-serverVerify Installation
Type /mcp inside Claude Code to verify the Codex MCP is active.
Alternative: Import from Claude Desktop
If you already have it configured in Claude Desktop:
Add to your Claude Desktop config:
"codex-cli": {
"command": "npx",
"args": ["-y", "@cexll/codex-mcp-server"]
}Import to Claude Code:
claude mcp add-from-claude-desktopConfiguration
Register the MCP server with your MCP client:
For NPX Usage (Recommended)
Add this configuration to your Claude Desktop config file:
{
"mcpServers": {
"codex-cli": {
"command": "npx",
"args": ["-y", "@cexll/codex-mcp-server"]
}
}
}For Global Installation
If you installed globally, use this configuration instead:
{
"mcpServers": {
"codex-cli": {
"command": "codex-mcp"
}
}
}Configuration File Locations:
Claude Desktop:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/claude/claude_desktop_config.json
After updating the configuration, restart your terminal session.
Example Workflow
Natural language: "use codex to explain index.html", "understand this repo with @src", "look for vulnerabilities and suggest fixes"
Claude Code: Type
/codex-clito access the MCP server tools.
Usage Examples
Model Selection
// Use the default gpt-5-codex model
'explain the architecture of @src/';
// Use gpt-5 for fast general purpose reasoning
'use codex with model gpt-5 to analyze @config.json';
// Use o3 for deep reasoning tasks
'use codex with model o3 to analyze complex algorithm in @algorithm.py';
// Use o4-mini for quick tasks
'use codex with model o4-mini to add comments to @utils.js';
// Use codex-1 for software engineering
'use codex with model codex-1 to refactor @legacy-code.js';With File References (using @ syntax)
ask codex to analyze @src/main.ts and explain what it doesuse codex to summarize @. the current directoryanalyze @package.json and list dependencies
General Questions (without files)
ask codex to explain div centeringask codex about best practices for React development related to @src/components/Button.tsx
Brainstorming & Ideation
brainstorm ways to optimize our CI/CD pipeline using SCAMPER methoduse codex to brainstorm 10 innovative features for our app with feasibility analysisask codex to generate product ideas for the healthcare domain with design-thinking approach
Codex Approvals & Sandbox
Codex CLI supports fine-grained control over permissions and approvals through sandbox modes and approval policies.
Understanding Parameters
The sandbox Parameter (Convenience Flag):
sandbox: true→ Enables fullAuto mode (equivalent tofullAuto: true)sandbox: false(default) → Does NOT disable sandboxing, just doesn't enable auto modeImportant: The
sandboxparameter is a convenience flag, not a security control
Granular Control Parameters:
sandboxMode: Controls file system access levelapprovalPolicy: Controls when user approval is requiredfullAuto: Shorthand forsandboxMode: "workspace-write"+approvalPolicy: "on-failure"yolo: ⚠️ Bypasses all safety checks (dangerous, not recommended)
Sandbox Modes
Mode | Description | Use Case |
| Analysis only, no file modifications | Code review, exploration, documentation reading |
| Can modify files in workspace | Most development tasks, refactoring, bug fixes |
| Full system access including network | Advanced automation, CI/CD pipelines |
Approval Policies
Policy | Description | When to Use |
| No approvals required | Fully trusted automation |
| Ask before every action | Maximum control, manual review |
| Only ask when operations fail | Balanced automation (recommended) |
| Maximum paranoia mode | Untrusted code or high-risk changes |
Configuration Examples
Example 1: Balanced Automation (Recommended)
{
"approvalPolicy": "on-failure",
"sandboxMode": "workspace-write", // Auto-set if omitted in v1.2+
"model": "gpt-5-codex",
"prompt": "refactor @src/utils for better performance"
}Example 2: Quick Automation (Convenience Mode)
{
"sandbox": true, // Equivalent to fullAuto: true
"model": "gpt-5-codex",
"prompt": "fix type errors in @src/"
}Example 3: Read-Only Analysis
{
"sandboxMode": "read-only",
"model": "gpt-5-codex",
"prompt": "analyze @src/ and explain the architecture"
}Smart Defaults (v1.2+)
Starting from version 1.2.0, the server automatically applies intelligent defaults to prevent permission errors:
✅ If
approvalPolicyis set butsandboxModeis not → auto-setssandboxMode: "workspace-write"✅ If
search: trueoross: true→ auto-setssandboxMode: "workspace-write"(for network access)✅ All commands include
--skip-git-repo-checkto prevent errors in non-git environments
Troubleshooting Permission Errors
If you encounter ❌ Permission Error: Operation blocked by sandbox policy:
Check 1: Verify sandboxMode
# Ensure you're not using read-only mode for write operations
{
"sandboxMode": "workspace-write", // Not "read-only"
"approvalPolicy": "on-failure"
}Check 2: Use convenience flags
# Let the server handle defaults
{
"sandbox": true, // Simple automation
"prompt": "your task"
}Check 3: Update to latest version
# v1.2+ includes smart defaults to prevent permission errors
npm install -g @cexll/codex-mcp-server@latestCommon Issues
Issue 1: MCP Tool Timeout Error
If you encounter timeout errors when using Codex MCP tools:
# Set the MCP tool timeout environment variable (in milliseconds)
export MCP_TOOL_TIMEOUT=36000000 # 10 hours
# For Windows (PowerShell):
$env:MCP_TOOL_TIMEOUT=36000000
# For Windows (CMD):
set MCP_TOOL_TIMEOUT=36000000Add this to your shell profile (~/.bashrc, ~/.zshrc, or PowerShell profile) to make it permanent.
Issue 2: Codex Cannot Write Files
If Codex responds with permission errors like "Operation blocked by sandbox policy" or "rejected by user approval settings", configure your Codex CLI settings:
Create or edit ~/.codex/config.toml:
# Dynamically generated Codex configuration
model = "gpt-5-codex"
model_reasoning_effort = "high"
model_reasoning_summary = "detailed"
approval_policy = "never"
sandbox_mode = "danger-full-access"
disable_response_storage = true
network_access = true⚠️ Security Warning: The danger-full-access mode grants Codex full file system access. Only use this configuration in trusted environments and for tasks you fully understand.
Configuration File Locations:
macOS/Linux:
~/.codex/config.tomlWindows:
%USERPROFILE%\.codex\config.toml
After updating the configuration, restart your MCP client (Claude Desktop, Claude Code, etc.).
Basic Examples
use codex to create and run a Python script that processes dataask codex to safely test @script.py and explain what it does
Default Behavior:
All
codex execcommands automatically include--skip-git-repo-checkto avoid unnecessary git repository checks, as not all execution environments are git repositories.This prevents permission errors when running Codex in non-git directories or when git checks would interfere with automation.
Advanced Examples
// Using ask-codex with specific model
'ask codex using gpt-5 to refactor @utils/database.js for better performance';
// Brainstorming with constraints
"brainstorm solutions for reducing API latency with constraints: 'must use existing infrastructure, budget under $5k'";
// Change mode for structured edits
'use codex in change mode to update all console.log to use winston logger in @src/';Tools (for the AI)
These tools are designed to be used by the AI assistant.
Core Tools
ask-codex: Sends a prompt to Codex viacodex exec.Supports
@file references for including file contentOptional
modelparameter - available models:gpt-5-codex(default, optimized for coding)gpt-5(general purpose, fast reasoning)o3(smartest, deep reasoning)o4-mini(fast & efficient)codex-1(o3-based for software engineering)codex-mini-latest(low-latency code Q&A)gpt-4.1(also available)
sandbox=trueenables--full-automodechangeMode=truereturns structured OLD/NEW editsSupports approval policies and sandbox modes
Automatically includes
--skip-git-repo-checkto prevent permission errors in non-git environments
brainstorm: Generate novel ideas with structured methodologies.Multiple frameworks: divergent, convergent, SCAMPER, design-thinking, lateral
Domain-specific context (software, business, creative, research, product, marketing)
Supports same models as
ask-codex(default:gpt-5-codex)Configurable idea count and analysis depth
Includes feasibility, impact, and innovation scoring
Example:
brainstorm prompt:"ways to improve code review process" domain:"software" methodology:"scamper"
ping: A simple test tool that echoes back a message.Use to verify MCP connection is working
Example:
/codex-cli:ping (MCP) "Hello from Codex MCP!"
help: Shows the Codex CLI help text and available commands.
Advanced Tools
fetch-chunk: Retrieves cached chunks from changeMode responses.Used for paginating large structured edit responses
Requires
cacheKeyandchunkIndexparameters
timeout-test: Test tool for timeout prevention.Runs for a specified duration in milliseconds
Useful for testing long-running operations
Slash Commands (for the User)
You can use these commands directly in Claude Code's interface (compatibility with other clients has not been tested).
/analyze: Analyzes files or directories using Codex, or asks general questions.
prompt(required): The analysis prompt. Use@syntax to include files (e.g.,/analyze prompt:@src/ summarize this directory) or ask general questions (e.g.,/analyze prompt:Please use a web search to find the latest news stories).
/sandbox: Safely tests code or scripts with Codex approval modes.
prompt(required): Code testing request (e.g.,/sandbox prompt:Create and run a Python script that processes CSV dataor/sandbox prompt:@script.py Test this script safely).
/help: Displays the Codex CLI help information.
/ping: Tests the connection to the server.
message(optional): A message to echo back.
Recent Updates
v1.2.4 (2025-10-27)
🔧 Major Improvement:
Windows Compatibility Enhancement: Replaced Node.js native
spawn()with industry-standardcross-spawnpackageRoot cause: Previous
shell: truefix still failed on some Windows configurationsSolution: Use
cross-spawn(50M+ weekly downloads, used by Webpack/Jest) for automatic Windows.cmdhandlingBenefits:
Zero configuration required for Windows users
Automatic handling of
.cmd,.ps1, and.exeextensionsCompatible with both CMD and PowerShell environments
<5ms performance overhead
Dependencies: Added
cross-spawn@^7.0.6and@types/cross-spawn
🐛 Bug Fixes:
Enhanced ENOENT error diagnostics with Windows-specific 4-step troubleshooting guide
Added optional chaining for
stdout/stderrto handle null values in TypeScript strict mode
📝 Documentation:
Added comprehensive Windows troubleshooting section in docs
Documented
spawn codex ENOENTerror resolution steps
v1.2.3 (2025-10-27)
🐛 Bug Fixes:
Windows Compatibility: Fixed Codex CLI detection failing on Windows despite proper installation
Root cause:
spawn()withshell: falsecouldn't resolve.cmdextensions on WindowsSolution: Enabled shell mode for cross-platform command execution
Impact: Zero performance impact (~10ms overhead), maintains security with array-form arguments
Platforms verified: Windows, macOS, Linux via GitHub Actions CI
📝 Documentation:
Updated all package references from
@trishchuk/codex-mcp-toolto@cexll/codex-mcp-serverEnhanced cross-platform setup instructions
🔍 Testing:
CI/CD now validates on Ubuntu, macOS, and Windows across Node.js 18.x, 20.x, and 22.x
v1.2.2 & Earlier
Smart sandbox mode defaults to prevent permission errors
Enhanced debug information for troubleshooting
Automatic
--skip-git-repo-checkflag for non-git environmentsWeb search integration with feature flags
Structured change mode with pagination support
Platform Support
Platform | Status | Notes |
Windows | ✅ Fully Supported | Enhanced in v1.2.4 with cross-spawn |
macOS | ✅ Fully Supported | Tested on Darwin 23.5.0+ |
Linux | ✅ Fully Supported | Tested on Ubuntu Latest |
Minimum Requirements:
Node.js v18.0.0 or higher
Codex CLI installed and authenticated (
npm install -g @openai/codex)
Acknowledgments
This project was inspired by the excellent work from jamubc/gemini-mcp-tool. Special thanks to @jamubc for the original MCP server architecture and implementation patterns.
Contributing
Contributions are welcome! Please submit pull requests or report issues through GitHub.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Disclaimer: This is an unofficial, third-party tool and is not affiliated with, endorsed, or sponsored by OpenAI.
Available Tools
8 toolsask-codexC
Execute Codex CLI with file analysis (@syntax), model selection, and safety controls. Supports changeMode.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Task or question. Use @ to include files (e.g., '@largefile.ts explain'). | |
| model | No | Model: gpt-5-codex, gpt-5, o3, o4-mini, codex-1, codex-mini-latest, gpt-4.1. Default: gpt-5-codex | |
| sandbox | No | Quick automation mode: enables workspace-write + on-failure approval. Alias for fullAuto. | |
| fullAuto | No | Full automation mode | |
| approvalPolicy | No | Approval: never, on-request, on-failure, untrusted | |
| approval | No | Approval policy: untrusted, on-failure, on-request, never | |
| sandboxMode | No | Access: read-only, workspace-write, danger-full-access | |
| yolo | No | ⚠️ Bypass all safety (dangerous) | |
| cd | No | Working directory | |
| workingDir | No | Working directory for execution | |
| changeMode | No | Return structured OLD/NEW edits for refactoring | |
| chunkIndex | No | Chunk index (1-based) | |
| chunkCacheKey | No | Cache key for continuation | |
| image | No | Optional image file path(s) to include with the prompt | |
| config | No | Configuration overrides as 'key=value' string or object | |
| profile | No | Configuration profile to use from ~/.codex/config.toml | |
| timeout | No | Maximum execution time in milliseconds (optional) | |
| includeThinking | No | Include reasoning/thinking section in response | |
| includeMetadata | No | Include configuration metadata in response | |
| search | No | Enable web search by activating web_search_request feature flag. Requires network access - automatically sets sandbox to workspace-write if not specified. | |
| oss | No | Use local Ollama server (convenience for -c model_provider=oss). Requires Ollama running locally. Automatically sets sandbox to workspace-write if not specified. | |
| enableFeatures | No | Enable feature flags (repeatable). Equivalent to -c features.<name>=true | |
| disableFeatures | No | Disable feature flags (repeatable). Equivalent to -c features.<name>=false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'safety controls' and 'changeMode' but doesn't explain what safety controls exist, what risks are involved, what permissions are needed, or what the tool actually does behaviorally. The description is too vague about execution behavior, error handling, or output format to be helpful 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 sentence that efficiently mentions key capabilities. It's appropriately sized for a complex tool, though it could be more front-loaded with the core purpose. There's no wasted verbiage, but the structure is basic without clear separation of concerns.
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 complex tool with 23 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns, what kind of execution occurs, what safety considerations exist, or how it differs from sibling tools. The description fails to compensate for the lack of structured metadata about this significant CLI execution tool.
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 100%, so the schema already documents all 23 parameters thoroughly. The description adds minimal value beyond what's in the schema - it mentions 'file analysis (@syntax), model selection, and safety controls' which correspond to some parameters, but doesn't provide additional semantic context or usage patterns. Baseline 3 is appropriate when schema does the heavy lifting.
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 the tool 'Execute Codex CLI with file analysis (@syntax), model selection, and safety controls. Supports changeMode.' This provides a general purpose (executing Codex CLI) with some features mentioned, but it's vague about what Codex CLI actually does and doesn't distinguish it from sibling tools like 'batch-codex' or 'brainstorm'. The description mentions capabilities but lacks specificity about the core 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 provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool is appropriate compared to 'batch-codex' (presumably for batch processing) or 'brainstorm' (presumably for ideation). There's no context about prerequisites, typical use cases, or exclusions for this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch-codexB
Delegate multiple atomic tasks to Codex for batch processing. Ideal for repetitive operations, mass refactoring, and automated code transformations
| Name | Required | Description | Default |
|---|---|---|---|
| tasks | Yes | Array of atomic tasks to delegate to Codex | |
| model | No | Model to use: gpt-5-codex, gpt-5, o3, o4-mini, codex-1, codex-mini-latest, gpt-4.1 | |
| sandbox | No | Sandbox mode: read-only, workspace-write, danger-full-access | workspace-write |
| parallel | No | Execute tasks in parallel (experimental) | |
| stopOnError | No | Stop execution if any task fails | |
| timeout | No | Maximum execution time per task in milliseconds | |
| workingDir | No | Working directory for execution | |
| search | No | Enable web search for all tasks (activates web_search_request feature) | |
| oss | No | Use local Ollama server | |
| enableFeatures | No | Enable feature flags | |
| disableFeatures | No | Disable feature flags |
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 behavioral disclosure but offers minimal details. It mentions 'batch processing' and use cases but doesn't describe critical behaviors like execution flow, error handling, output format, or resource implications. For a complex tool with 11 parameters and no annotations, this is inadequate, though not contradictory.
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 extremely concise with two sentences that efficiently convey purpose and ideal use cases. Every word earns its place without redundancy, and it's front-loaded with the core function. No unnecessary elaboration or 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 complexity (11 parameters, batch processing, no annotations, no output schema), the description is insufficient. It lacks details on execution behavior, result format, error handling, and integration with sibling tools. While concise, it doesn't provide enough context for an agent to fully understand how to invoke and interpret this tool effectively.
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 100%, so the schema fully documents all 11 parameters. The description adds no specific parameter details beyond implying tasks involve 'atomic' operations and targets use '@ syntax.' This meets the baseline of 3 since the schema does the heavy lifting, but the description doesn't enhance understanding of parameter interactions or 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 clearly states the tool's purpose as 'Delegate multiple atomic tasks to Codex for batch processing' with specific use cases like 'repetitive operations, mass refactoring, and automated code transformations.' It distinguishes from sibling tools like 'ask-codex' by emphasizing batch processing rather than single interactions. However, it doesn't explicitly contrast with all siblings, preventing a perfect score.
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 implied usage context with 'Ideal for repetitive operations, mass refactoring, and automated code transformations,' which suggests when to use this tool. However, it lacks explicit guidance on when NOT to use it or clear alternatives among siblings like 'ask-codex' for single tasks. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brainstormC
Generate creative ideas using structured frameworks with domain context and feasibility analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Brainstorming challenge or question | |
| model | No | Model: gpt-5-codex (default), gpt-5, o3, o4-mini, codex-1, codex-mini-latest, gpt-4.1 | |
| approvalPolicy | No | Approval: never, on-request, on-failure, untrusted | |
| sandboxMode | No | Access: read-only, workspace-write, danger-full-access | |
| fullAuto | No | Full automation mode | |
| yolo | No | ⚠️ Bypass all safety (dangerous) | |
| cd | No | Working directory | |
| methodology | No | Framework: divergent, convergent, scamper, design-thinking, lateral, auto (default) | auto |
| domain | No | Domain: software, business, creative, research, product, marketing, etc. | |
| constraints | No | Limitations: budget, time, technical, legal, etc. | |
| existingContext | No | Background info or previous attempts | |
| ideaCount | No | Number of ideas (default: 12, range: 5-30) | |
| includeAnalysis | No | Include feasibility/impact analysis | |
| search | No | Enable web search for research (activates web_search_request feature) | |
| oss | No | Use local Ollama server | |
| enableFeatures | No | Enable feature flags | |
| disableFeatures | No | Disable feature flags |
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 behavioral disclosure. It mentions 'feasibility analysis' but lacks critical details: it doesn't specify whether this is a read-only or mutating operation, what permissions or authentication might be required, potential rate limits, or output format. For a tool with 17 parameters and no annotations, this is a significant gap in transparency.
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, efficient sentence that front-loads the core purpose without unnecessary words. Every phrase ('creative ideas', 'structured frameworks', 'domain context', 'feasibility analysis') contributes meaningfully, making it appropriately sized and well-structured for quick understanding.
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 complexity (17 parameters, no annotations, no output schema), the description is incomplete. It doesn't address behavioral aspects like safety, permissions, or output format, and while schema coverage is high, the description itself lacks depth to guide an agent in using such a multifaceted tool effectively. This is inadequate for a tool of this scope.
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 100%, meaning all parameters are documented in the schema itself. The description adds minimal value beyond the schema by hinting at 'structured frameworks' (related to 'methodology') and 'domain context' (related to 'domain'), but doesn't provide additional syntax, format, or usage details for parameters. This meets the baseline for high schema coverage.
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 as 'Generate creative ideas using structured frameworks with domain context and feasibility analysis.' It specifies the verb ('generate'), resource ('creative ideas'), and key aspects ('structured frameworks', 'domain context', 'feasibility analysis'). However, it doesn't explicitly differentiate from sibling tools like 'ask-codex' or 'batch-codex', which might also generate content, so it doesn't reach the highest score.
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. It doesn't mention sibling tools like 'ask-codex' or 'batch-codex', nor does it specify contexts or exclusions for usage. The agent must infer usage based on the purpose alone, which is insufficient for effective tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch-chunkA
Retrieves cached chunks from a changeMode response. Use this to get subsequent chunks after receiving a partial changeMode response.
| Name | Required | Description | Default |
|---|---|---|---|
| cacheKey | Yes | The cache key provided in the initial changeMode response | |
| chunkIndex | Yes | Which chunk to retrieve (1-based index) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that this is a retrieval operation for cached data, implying read-only behavior, but doesn't mention potential limitations like cache expiration, rate limits, or error conditions. The description adds some context about the tool's role in a multi-step process but lacks comprehensive behavioral details.
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?
Two sentences with zero waste - the first states the purpose, the second provides usage guidance. Every word earns its place, and the information is front-loaded with the core function stated immediately.
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 moderate complexity (2 required parameters, no output schema, no annotations), the description is reasonably complete. It explains the tool's purpose, when to use it, and its relationship to changeMode responses. However, without annotations or output schema, it could benefit from more detail about what the retrieved chunks contain or potential limitations.
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 100%, so the schema already fully documents both parameters. The description adds minimal value beyond what the schema provides - it mentions 'cache key provided in the initial changeMode response' which slightly clarifies the cacheKey parameter's origin, but doesn't add significant semantic context beyond the schema's 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 clearly states the specific action ('Retrieves cached chunks') and resource ('from a changeMode response'), distinguishing it from sibling tools like ask-codex or brainstorm. It precisely defines the tool's function as fetching subsequent data chunks after an initial partial response.
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?
Explicitly states when to use this tool ('Use this to get subsequent chunks after receiving a partial changeMode response'), providing clear context and timing guidance. It distinguishes this from initial retrieval tools, though it doesn't name specific alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
HelpC
receive help information
| Name | Required | Description | Default |
|---|---|---|---|
No 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 behavioral disclosure but provides almost none. 'receive help information' doesn't indicate whether this is a read-only operation, what format the help comes in (text, structured data, links), whether it requires authentication, or any rate limits. The description fails to compensate for the absence of annotations with meaningful behavioral context.
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 extremely concise at just three words, but this brevity comes at the cost of being under-specified rather than efficiently informative. While there's no wasted text, the description fails to provide the minimal necessary information about what the tool actually does. It's more sparse than appropriately concise.
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 complete absence of annotations and output schema, the description is inadequate for understanding this tool's functionality. 'receive help information' doesn't explain what help is provided, how it's structured, what topics it covers, or how it differs from other assistance tools in the sibling set. For a tool that presumably provides important guidance to users, this description leaves too many questions unanswered.
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 with 100% schema description coverage, so the baseline score for this dimension is 4. The description doesn't need to explain parameters since none exist, and it doesn't incorrectly suggest parameters where none are defined. This is appropriate for a parameterless tool.
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 'receive help information' is a tautology that essentially restates the tool name 'Help' without providing meaningful specificity. It doesn't explain what kind of help information is provided, in what format, or what resources it covers. While it's clear this is a help tool, it lacks the verb+resource specificity that would distinguish it from other help mechanisms.
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 about when to use this tool versus alternatives. With sibling tools like 'ask-codex', 'brainstorm', and 'fetch-chunk' that might also provide assistance or information, there's no indication whether this is a general help system, documentation lookup, or something else. The agent receives no explicit or implied context about appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingC
Echo
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | No | Message to echo |
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. 'Echo' implies a simple read-only operation that returns input unchanged, but it does not specify whether this involves network latency, error handling, or any side effects. The description fails to add context beyond the basic implication, leaving behavioral traits like performance or limitations undocumented.
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 word, 'Echo', which is extremely concise and front-loaded with no wasted text. While it may be under-specified, it efficiently communicates the core idea without unnecessary elaboration, earning full marks for brevity and structure.
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 (one optional parameter, no output schema, no annotations), the description is incomplete. It does not explain what 'Echo' entails operationally, such as whether it returns the input verbatim or processes it. For even a basic tool, more context on behavior and purpose would improve agent understanding, making the current description inadequate.
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 100%, with the parameter 'prompt' documented as 'Message to echo'. The description 'Echo' aligns with this but adds no further meaning beyond what the schema provides, such as examples or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the description does not compensate but also does not detract from parameter understanding.
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 'Echo' is a tautology that essentially restates the tool name 'ping' without adding meaningful clarification. While both terms imply returning what was sent, the description fails to specify what resource or action is involved (e.g., echoing a message parameter). It does not distinguish this tool from potential siblings like 'ask-codex' or 'fetch-chunk' that might also involve response generation.
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. There is no mention of context, prerequisites, or comparisons to sibling tools such as 'ask-codex' for queries or 'timeout-test' for testing. Without any usage instructions, the agent lacks direction on appropriate scenarios for invoking this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
timeout-testC
Test timeout prevention by running for a specified duration
| Name | Required | Description | Default |
|---|---|---|---|
| duration | Yes | Duration in milliseconds (minimum 10ms) |
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 states the tool 'runs for a specified duration' to test timeout prevention, implying it simulates a time-consuming operation. However, it lacks details on potential side effects (e.g., resource consumption), error handling, or what constitutes a successful test. For a tool with no annotations, this is a significant gap in behavioral context.
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, efficient sentence: 'Test timeout prevention by running for a specified duration.' It is front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a simple tool with one parameter. Every part of the sentence earns its place by conveying essential 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?
Given the tool's complexity (simple with one parameter) and the absence of annotations and output schema, the description is incomplete. It explains what the tool does but lacks context on how it integrates with sibling tools, what the expected outcome is (e.g., success/failure indicators), or any behavioral nuances. For a testing tool, more guidance on interpretation would be helpful.
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 100% description coverage, with the 'duration' parameter fully documented in the schema (type, minimum, description). The description adds no additional meaning beyond the schema, as it only mentions 'a specified duration' without elaborating on units or constraints. Given the high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
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: 'Test timeout prevention by running for a specified duration.' It specifies the verb ('Test timeout prevention') and resource/action ('running for a specified duration'), making it clear what the tool does. However, it doesn't explicitly distinguish itself from sibling tools like 'ping' or 'version', which might also test system 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. It doesn't mention any prerequisites, context, or exclusions, and there's no comparison to sibling tools like 'ping' (which might test connectivity) or 'ask-codex' (which might involve processing). This leaves the agent with minimal direction on appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
versionB
Display version and system information
| Name | Required | Description | Default |
|---|---|---|---|
No 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 discloses the tool's behavior as a display operation, implying it's read-only and non-destructive, but doesn't add context like output format, rate limits, or authentication needs. This is adequate for a simple tool but lacks depth for richer behavioral traits.
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, efficient sentence that front-loads the core purpose without any waste. Every word earns its place by directly conveying what the tool does, making it highly concise and well-structured for quick understanding.
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 (0 parameters, no output schema, no annotations), the description is complete enough to convey basic functionality. However, it lacks details on output format or system information specifics, which could be helpful for an agent. It's minimally viable but has clear gaps in richer context.
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 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter semantics, which is appropriate here. A baseline of 4 is applied as it meets expectations for a parameterless tool without unnecessary details.
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 with a specific verb ('Display') and resource ('version and system information'). It distinguishes this from siblings like 'ping' or 'Help' by focusing on system metadata rather than connectivity or assistance. However, it doesn't explicitly differentiate from all siblings (e.g., 'timeout-test' might also relate to system behavior).
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?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, appropriate contexts, or comparisons to sibling tools like 'ping' for basic connectivity checks or 'Help' for documentation. Usage is implied only by the tool's name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes, but there is some overlap and ambiguity. For example, 'ask-codex' and 'batch-codex' both involve executing Codex CLI operations, which could cause confusion about when to use each. However, descriptions help clarify that 'batch-codex' is for multiple tasks, while 'ask-codex' is more general. Tools like 'brainstorm' and 'fetch-chunk' are clearly distinct, but the set includes basic utilities like 'ping' and 'Help' that don't align well with the code-focused domain.
Naming conventions are inconsistent and chaotic with no discernible pattern. There is a mix of styles: 'ask-codex' and 'batch-codex' use hyphenated names, 'brainstorm' and 'fetch-chunk' are single words or hyphenated, 'Help' starts with a capital letter, and 'ping', 'timeout-test', and 'version' use different formats. This lack of consistency makes the tool set harder to navigate and predict.
With 8 tools, the count is borderline but reasonable for the apparent scope of a Codex MCP server. However, the inclusion of basic utilities like 'ping', 'Help', and 'timeout-test' alongside core code tools feels slightly over-scoped, as these utilities don't directly contribute to the main purpose. It's not extreme, but the mix reduces focus.
The tool surface has notable gaps in coverage for the Codex domain. Core operations like code execution and batch processing are covered by 'ask-codex' and 'batch-codex', but there are missing operations such as code review, error handling, or integration with version control. Tools like 'brainstorm' and 'fetch-chunk' add niche functions, but the set lacks a cohesive lifecycle for code tasks, which could lead to agent workarounds.
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
Source-checked CLI guides and model-aware planning for Claude Code, Codex, and Grok Build.
Build and supervise fleets of agents from Claude Code, Codex or Cursor. Connects over OAuth.
Live SEO workflow tools for Claude Code, Codex, and AI agents.
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI coding assistants to interact with OpenAI's Codex AI through the official CLI. Provides direct integration for code analysis, file review, and batch processing with zero API costs.3114MIT
- FlicenseBqualityDmaintenanceConnects AI assistants to a local Codex engine for performing deep, project-level code reviews and automated refactoring. It enables context-aware bug fixes and multi-file analysis through a standardized bridge between modern AI clients and local development environments.42
- AlicenseAqualityCmaintenanceBridges Claude and OpenAI's Codex CLI for AI-powered code analysis, generation, and review, with support for session management, web search, and structured output.6765628ISC
- 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/cexll/codex-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server