2Bot
БесплатноНе проверенEnables ChatGPT to execute Codex CLI prompts locally through a secure MCP tool, with support for both local stdio and remote HTTP modes.
Описание
Enables ChatGPT to execute Codex CLI prompts locally through a secure MCP tool, with support for both local stdio and remote HTTP modes.
README
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=True - prompt passed via stdin
- timeout handling
- working-directory validation and allowlist support
- JSON-serializable structured output
Installation
python -m venv .venv
source .venv/bin/activate
pip install -e .
For tests:
pip install -e .[dev]
pytest
Configuration
2Bot is environment-driven.
| Variable | Default | Description |
|---|---|---|
TWOBOT_TRANSPORT |
stdio |
stdio or http |
TWOBOT_HOST |
127.0.0.1 |
HTTP bind host |
TWOBOT_PORT |
9000 |
HTTP bind port |
TWOBOT_BASE_URL |
unset | Optional public HTTPS URL for docs/ops |
TWOBOT_LOG_LEVEL |
INFO |
Logging level |
TWOBOT_ENABLE_NO_AUTH |
true |
Enable no-auth mode for initial ChatGPT testing |
CODEX_ALLOWED_ROOTS |
unset | Optional cwd allowlist (:-separated on macOS/Linux) |
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.server
You can also force stdio:
TWOBOT_TRANSPORT=stdio 2bot-mcp
Remote mode (HTTP / Streamable HTTP)
Run HTTP mode locally on loopback:
TWOBOT_TRANSPORT=http TWOBOT_HOST=127.0.0.1 TWOBOT_PORT=9000 2bot-mcp
Or with explicit CLI flags:
2bot-mcp --transport http --host 127.0.0.1 --port 9000
Expose 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-mcp
2) Reverse proxy / tunnel
- Proxy
https://mcp.example.com->http://127.0.0.1:9000 - Keep TLS at the edge
- Keep 2Bot private behind the proxy where possible
3) Keep stdio mode for local MCP clients
TWOBOT_TRANSPORT=stdio 2bot-mcp
Tool 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.
Установка 2Bot
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/charlesmichaelbaird/2bot-mcpFAQ
2Bot MCP бесплатный?
Да, 2Bot MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для 2Bot?
Нет, 2Bot работает без API-ключей и переменных окружения.
2Bot — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить 2Bot в Claude Desktop, Claude Code или Cursor?
Открой 2Bot на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare 2Bot with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
