Skip to main content

acodex

License: MIT

Local MCP automation for the Codex desktop app.

acodex gives scripts, tools, and agents a local bridge into a running Codex desktop session. It can relaunch Codex with a Chrome DevTools Protocol (CDP) port, run a managed HTTP/MCP server, and call the live codex_app.* tools that your Codex desktop build exposes.

Quick Start | CLI | Support | Contributing

Why acodex

  • Live Codex desktop access. Inspect and call the tools exposed by the running desktop renderer without writing CDP plumbing.
  • MCP-compatible local server. Expose Codex desktop tools at /mcp for local automation clients.
  • Practical CLI workflow. Check configuration, relaunch Codex with CDP, manage the bridge server, and call tools from a terminal.

Quick Start

Prerequisites:

  • Python 3.10 or newer.
  • uv; see the official install guide.
  • macOS with Codex.app installed. The relaunch flow expects /Applications/Codex.app by default; set ACODEX_CODEX_APP_PATH if yours is elsewhere.

Install the CLI:

uv tool install acodex

Initialize config, launch Codex with CDP, and start the local bridge:

acodex config init
acodex codex relaunch --yes
acodex server start

acodex codex relaunch --yes starts or restarts Codex so acodex can reach the default CDP endpoint, http://127.0.0.1:45217.

For deeper diagnostics after the server is running, use acodex doctor --deep.

List and call Codex desktop tools:

acodex tools list
acodex tools call codex_app.list_threads --limit 1

Stop the managed bridge when you are done:

acodex server stop

CLI

Common commands:

acodex config path
acodex config show
acodex doctor --deep
acodex codex status
acodex codex relaunch --yes
acodex server start
acodex server status
acodex server logs --tail 50
acodex tools list --json
acodex tools call codex_app.list_threads --help

Tool calls use the MCP schema property names. Pass simple top-level arguments as flags, or use JSON for nested input:

acodex tools call codex_app.list_threads --limit=5
acodex tools call --args-json '{"limit":5}' codex_app.list_threads
acodex tools call --output json codex_app.list_threads --limit 5

Configuration

acodex reads JSON config from ~/.acodex/config.json by default. Set ACODEX_CONFIG to use a different file. Use acodex config path and acodex config show to inspect the active path and effective values.

Essential local endpoints:

  • Codex CDP: http://127.0.0.1:45217
  • Managed server health: http://127.0.0.1:45218/healthz
  • MCP endpoint: http://127.0.0.1:45218/mcp

Configuration precedence and the full defaults matrix live in CONTRIBUTING.md.

State-changing tool calls mutate the live Codex desktop app. Use acodex tools call <tool> --help before calling unfamiliar tools.

Support

When setup fails, start with the built-in diagnostics and managed server logs:

acodex doctor
acodex server logs --tail 50

If the issue continues, open a GitHub issue with what you tried, what happened, your OS and Python version, your acodex source branch or commit, your Codex desktop/CDP setup, and relevant command output with secrets removed.

Contributing

Contributor setup, architecture notes, quality gates, and documentation rules live in CONTRIBUTING.md. Agent-specific guidance lives in AGENTS.md.

License

acodex is released under the MIT License.

acodex is independently maintained and is not affiliated with, sponsored by, or endorsed by OpenAI.

Metadata

Release files for acodex 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for acodex 1.0.1
File Size Uploaded
acodex-1.0.1.tar.gz 230.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for acodex 1.0.1
File Interpreter ABI Platform
acodex-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 301.9 kB

Release files / acodex-1.0.1.tar.gz

Download URL acodex-1.0.1.tar.gz
Size 230.8 kB
Tags Source
SHA-256 checksum
How to use checksums
89dbf80903660fe9e08edbe957b99ab716b0709ddd35c3b546ac411655783a4f
BLAKE2b-256 checksum
How to use checksums
f6972600298dd7915ce394872d9ab604dab77bd8430ce273b2273de4e2cace67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / acodex-1.0.1-py3-none-any.whl

Download URL acodex-1.0.1-py3-none-any.whl
Size 71.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5342abb7678aae296726af5f5e80afff0ed8975f4e3fbf74b51d4a9cf4d307eb
BLAKE2b-256 checksum
How to use checksums
769c1057a91ef67378c8d060ac37e00d17ad3f5ce6630005dbb8575c632ee664
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page