2Bot
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., "@2BotCreate a new Python script that prints 'Hello, World!'"
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.
2Bot
2Bot is a FastMCP server that lets ChatGPT (or any MCP client) call your local Codex CLI through a controlled MCP tool.
MCP server name is fixed to
2Bot.Local mode uses stdio.
Remote mode uses HTTP (Streamable HTTP) for ChatGPT-compatible deployments.
What 2Bot does
2Bot exposes a single typed tool, run_codex_prompt, which runs codex exec --json - safely:
no
shell=Trueprompt passed via stdin
timeout handling
working-directory validation and allowlist support
JSON-serializable structured output
Related MCP server: codex-chatgpt-bridge
Installation
python -m venv .venv
source .venv/bin/activate
pip install -e .For tests:
pip install -e .[dev]
pytestConfiguration
2Bot is environment-driven.
Variable | Default | Description |
|
|
|
|
| HTTP bind host |
|
| HTTP bind port |
| unset | Optional public HTTPS URL for docs/ops |
|
| Logging level |
|
| Enable no-auth mode for initial ChatGPT testing |
| unset | Optional cwd allowlist ( |
Authentication note: for first connection tests, use no auth. For production, prefer standards-based MCP-compatible auth in front of or integrated with this service.
Local mode (stdio)
Run with stdio (default):
2bot-mcp
# or
python -m twobot_codex_mcp.serverYou can also force stdio:
TWOBOT_TRANSPORT=stdio 2bot-mcpRemote mode (HTTP / Streamable HTTP)
Run HTTP mode locally on loopback:
TWOBOT_TRANSPORT=http TWOBOT_HOST=127.0.0.1 TWOBOT_PORT=9000 2bot-mcpOr with explicit CLI flags:
2bot-mcp --transport http --host 127.0.0.1 --port 9000Expose via HTTPS for ChatGPT
ChatGPT must reach a public HTTPS URL. Typical setup:
Run 2Bot in HTTP mode on
127.0.0.1:9000.Put a reverse proxy or tunnel in front (Nginx, Caddy, Cloudflare Tunnel, etc.).
Publish a TLS endpoint like
https://mcp.example.comforwarding tohttp://127.0.0.1:9000.Configure ChatGPT custom MCP connection to that public URL.
ChatGPT connection notes
ChatGPT connects to the remote HTTPS MCP endpoint, not to stdio.
High-level flow:
Start 2Bot in HTTP mode.
Expose the endpoint at a public HTTPS URL.
Create/connect the custom MCP app in ChatGPT pointing at that URL.
Use URL pattern:
https://<your-public-hostname>/(or the exact path your reverse proxy maps to the FastMCP HTTP app)
Security notes (important)
Exposing a tool that can execute local Codex workflows is sensitive.
Recommendations:
Restrict
CODEX_ALLOWED_ROOTSto minimal directories.Keep conservative defaults (
sandbox=read-only,allow_edits=false).Avoid
danger-full-accessunless absolutely necessary and trusted.Prefer private deployments (VPN, private network, authenticated gateway).
Do not expose an unrestricted instance on the public internet casually.
Example deployment notes
1) Local-only HTTP bind
TWOBOT_TRANSPORT=http TWOBOT_HOST=127.0.0.1 TWOBOT_PORT=9000 2bot-mcp2) Reverse proxy / tunnel
Proxy
https://mcp.example.com->http://127.0.0.1:9000Keep TLS at the edge
Keep 2Bot private behind the proxy where possible
3) Keep stdio mode for local MCP clients
TWOBOT_TRANSPORT=stdio 2bot-mcpTool reference: run_codex_prompt
Parameters:
prompt: strcwd: str | None = Nonemodel: str | None = Noneprofile: str | None = Nonesandbox: "read-only" | "workspace-write" | "danger-full-access" = "read-only"approval_policy: "untrusted" | "on-request" | "never" | None = Noneallow_edits: bool = Falseskip_git_repo_check: bool = Falseadd_dirs: list[str] | None = Nonetimeout_sec: int = 1800ephemeral: bool = Trueinclude_event_log: bool = False
Behavior is preserved from local mode while adding transport/config flexibility.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceStreamable HTTP MCP bridge that allows ChatGPT to delegate code execution requests to a local official Codex MCP server with configurable safety policies.2MIT
- AlicenseNot gradedqualityBmaintenanceLocal MCP bridge enabling ChatGPT web to access approved local files and execute tasks via local Codex.1MIT
- AlicenseNot gradedqualityDmaintenanceIntegrates OpenAI Codex CLI with Claude Code via MCP, enabling code execution, analysis, fixing, and web search within Claude Code.2,5591ISC
- AlicenseNot gradedqualityAmaintenanceEnables ChatGPT to inspect and edit local projects through a secure MCP interface, offering workspace management, file operations, git integration, and safe command execution.4MIT
Related MCP Connectors
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
A paid remote MCP for OpenAI Codex memory MCP, built to return verdicts, receipts, usage logs, and a
A paid remote MCP for OpenAI Codex harness MCP, built to return verdicts, receipts, usage logs, and
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/charlesmichaelbaird/2bot-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server