Skip to main content
Glama
Szpadel

codex-code-review

by Szpadel

Codex MCP Code Review

Run Codex app-server reviews of uncommitted changes via an MCP tool. Compared to the built-in /review, this keeps review context clean while fixes happen in the main session that retains implementation knowledge, reducing regressions and enabling longer autonomous runs with better code quality.

Requirements

  • Codex CLI installed and authenticated.

  • uv installed.

Related MCP server: copilot-mcp-server

Configure Codex (MCP)

Codex loads MCP servers from ~/.codex/config.toml and supports configuring them via the codex mcp CLI.

Profile example (gpt-5.5, medium reasoning effort):

# ~/.codex/config.toml
[profiles.review]
model = "gpt-5.5"
model_reasoning_effort = "medium"

When the MCP server is started with --profile review, it reads this profile from Codex config and applies supported review settings itself. Supported profile keys are model, model_provider, service_tier, model_reasoning_effort, and model_reasoning_summary.

AGENTS.md example instruction:

for verification call `review_uncommitted_changes: runs=1` until no issues

Tool timeout (required)

Set tool_timeout_sec for the MCP server in ~/.codex/config.toml to a value larger than the review timeout (--timeout-seconds passed to the server command). Example: if the review timeout is 2700 seconds, set tool_timeout_sec = 3000.

This registers a stdio MCP server that Codex launches when a session starts.

codex mcp add codex-code-review -- \
  uv run -m mcp_code_review.server --parallelism 1 --concurrency-mode auto --timeout-seconds 2700 \
  --profile review

The codex mcp add workflow is the supported way to add MCP servers from the CLI. After adding the server, set tool_timeout_sec in ~/.codex/config.toml (see Option B) so it is higher than --timeout-seconds.

Additional review instructions are enabled by default. Existing configurations that include --enable additional_review_instructions still work for backward compatibility.

To disable additional review instructions, add:

--disable additional_review_instructions

Option B: config.toml

Add an MCP server entry in ~/.codex/config.toml:

[mcp_servers.codex-code-review]
command = "uv"
tool_timeout_sec = 3000
args = [
  "run",
  "-m",
  "mcp_code_review.server",
  "--parallelism",
  "1",
  "--concurrency-mode",
  "auto",
  "--timeout-seconds",
  "2700",
  "--profile",
  "review"
]

Codex reads MCP server entries from the mcp_servers table in ~/.codex/config.toml.

Configure with uvx (run directly from Git)

If you prefer not to clone locally, you can run the server directly from the Git repository using uvx.

Repository: https://github.com/Szpadel/codex-mcp-code-review

Codex (CLI)

codex mcp add codex-code-review-uvx -- \
  uvx --from git+https://github.com/Szpadel/codex-mcp-code-review \
  python -m mcp_code_review.server --parallelism 1 --concurrency-mode auto --timeout-seconds 2700 \
  --profile review

Codex (config.toml)

[mcp_servers.codex-code-review-uvx]
command = "uvx"
tool_timeout_sec = 3000
args = [
  "--from",
  "git+https://github.com/Szpadel/codex-mcp-code-review",
  "python",
  "-m",
  "mcp_code_review.server",
  "--parallelism",
  "1",
  "--concurrency-mode",
  "auto",
  "--timeout-seconds",
  "2700",
  "--profile",
  "review"
]

Claude Code (.mcp.json)

{
  "mcpServers": {
    "codex-code-review-uvx": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/Szpadel/codex-mcp-code-review",
        "python",
        "-m",
        "mcp_code_review.server",
        "--parallelism",
        "1",
        "--concurrency-mode",
        "auto",
        "--timeout-seconds",
        "2700",
        "--profile",
        "review"
      ],
      "env": {}
    }
  }
}

Developer mode (run from source path)

If you want Codex to run the server directly from this source checkout, point uv at the project path.

CLI

codex mcp add codex-code-review-dev -- \
  uv run --project /absolute/path/to/codex-mcp-code-review -m mcp_code_review.server \
  --parallelism 1 --concurrency-mode auto --timeout-seconds 2700 --profile review

config.toml

[mcp_servers.codex-code-review-dev]
command = "uv"
tool_timeout_sec = 3000
args = [
  "run",
  "--project",
  "/absolute/path/to/codex-mcp-code-review",
  "-m",
  "mcp_code_review.server",
  "--parallelism",
  "1",
  "--concurrency-mode",
  "auto",
  "--timeout-seconds",
  "2700",
  "--profile",
  "review"
]

Tool behavior

  • Tool name: review_uncommitted_changes.

  • Uses the native app-server review target uncommittedChanges (includes untracked files).

  • Additional review instructions are enabled by default, exposing the additional_developer_instructions tool argument.

  • When that argument is set, the server switches that run to a custom review target prompt built from a synced copy of Codex's native uncommitted-changes instructions and appends an Additional review instructions: section.

  • Existing --enable additional_review_instructions usage is still accepted for backward compatibility.

  • When disabled with --disable additional_review_instructions, the tool schema does not advertise additional_developer_instructions, and requests that send it anyway are rejected.

  • Default runs: 4 (override by setting --parallelism on the MCP server config).

  • Sandbox: read-only; approval policy: never.

Available Tools

1 tool
review_uncommitted_changesReview uncommitted changesB

Run Codex review on uncommitted changes using the app-server review API. Returns structured results for each run.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoRepository root to review.
runsNoNumber of review runs (recommended: 4).
additional_developer_instructionsNoOptional additional information that may affect what should be considered an issue during review.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose whether the operation is read-only, if it modifies state, or any auth/rate limits. The phrase 'run review' implies a computation but no details on potential side effects or resource usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences covering purpose and output. No wasted words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 important context for a non-trivial operation. It does not mention that reviews could be time-consuming, require setup, or have failure modes. Completeness is insufficient for the task's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage with descriptions for all three parameters. The description adds minimal extra meaning beyond the schema (e.g., 'uncommitted changes' is implicit from the name). Baseline of 3 is appropriate as schema already documents parameters adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs Codex review on uncommitted changes using a specific API and returns structured results. It provides a specific verb ('Run'), resource ('uncommitted changes'), and method ('app-server review API'), leaving no ambiguity about the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 or prerequisites. No sibling tools are listed, but the description does not mention conditions like having uncommitted changes or required permissions, leaving the agent without context for appropriate invocation.

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.

  1. 1 tool updatev0.1.0
    • First observedreview_uncommitted_changes

TDQS

B3.2/5.0
Disambiguation5/5

With only one tool, there is no ambiguity. The agent will always select the same tool for the server's purpose.

Naming Consistency4/5

The single tool name follows a clear verb_noun pattern (review_uncommitted_changes), but consistency cannot be fully assessed with only one tool.

Tool Count2/5

A single tool is very thin for a server. While it may serve a narrow purpose, it feels incomplete and limits the server's usefulness.

Completeness2/5

The tool only covers reviewing uncommitted changes. Obvious gaps include reviewing committed changes, specific files, or providing review history.

Maintenance

ActivitySlowing
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Enables code review operations on GitHub and GitLab, including fetching pull/merge requests, viewing diffs, adding comments, analyzing code quality, and creating merge requests directly from your MCP client.
    15
    8
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables Grok Build to orchestrate the local Codex CLI for code reviews, adversarial reviews, task rescue, session transfer, and background job management through MCP tools.
    1
    Apache 2.0

Latest Blog Posts

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/Szpadel/codex-mcp-code-review'

If you have feedback or need assistance with the MCP directory API, please join our Discord server