No project description provided
Project description
acodex
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
/mcpfor 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.appby default; setACODEX_CODEX_APP_PATHif 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file acodex-1.0.1.tar.gz.
File metadata
- Download URL: acodex-1.0.1.tar.gz
- Upload date:
- Size: 230.8 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89dbf80903660fe9e08edbe957b99ab716b0709ddd35c3b546ac411655783a4f
|
|
| MD5 |
2d15a40ec3611e81d2f7f08cebfab973
|
|
| BLAKE2b-256 |
f6972600298dd7915ce394872d9ab604dab77bd8430ce273b2273de4e2cace67
|
File details
Details for the file acodex-1.0.1-py3-none-any.whl.
File metadata
- Download URL: acodex-1.0.1-py3-none-any.whl
- Upload date:
- Size: 71.1 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5342abb7678aae296726af5f5e80afff0ed8975f4e3fbf74b51d4a9cf4d307eb
|
|
| MD5 |
f500786d3803f97f0b2ca04857526de0
|
|
| BLAKE2b-256 |
769c1057a91ef67378c8d060ac37e00d17ad3f5ce6630005dbb8575c632ee664
|