Chitta Bridge
MCP server for multi-model AI discussions — works with Claude Code and Codex. Connect to any AI backend: cloud providers, agentic CLIs, and local GPU models.
Quick Start
uv pip install git+https://github.com/genomewalker/chitta-bridge.git
chitta-bridge-install # both Claude Code + Codex
chitta-bridge-install claude-code # Claude Code only
chitta-bridge-install codex # Codex CLI only
Skills (Codex): /review, /rescue, /room, /soul — plus all mcp__chitta_bridge__* tools.
Features
- Multiple backends: OpenCode, Codex CLI, and local GPU models (Ollama/vLLM)
- Continuous sessions: Conversation history persists across messages
- Session warmup: background ping captures session ID — subsequent calls skip cold start
- Multiple models: OpenCode (GPT-5.x, Claude, Gemini) + Codex (o3, o4-mini, gpt-4.1)
- Agent support: plan, build, explore, general agents (OpenCode)
- Agentic execution: Full-auto mode with sandboxed file operations (Codex)
- Variant control: Set reasoning effort (minimal to max)
- File/image attachment: Share code files and images for context
- Session continuity: Conversations continue across tool calls
- Discussion rooms: async multi-agent roundtables — any mix of backends respond in parallel, see the full thread, synthesize into one answer
Installation
With uv (recommended)
uv pip install git+https://github.com/genomewalker/chitta-bridge.git
With pip
pip install git+https://github.com/genomewalker/chitta-bridge.git
From source
git clone https://github.com/genomewalker/chitta-bridge.git
cd chitta-bridge
pip install -e .
Register
chitta-bridge-install # install for both Claude Code and Codex
chitta-bridge-install claude-code # Claude Code only (registers MCP server)
chitta-bridge-install codex # Codex CLI only (plugin + skills + MCP)
chitta-bridge-uninstall # uninstall from both
chitta-bridge-uninstall codex # uninstall from Codex only
Verify: claude mcp list (Claude Code) or check ~/.codex/plugins/ (Codex)
Shared With cc-soul
When cc-soul is installed on the same machine, chitta-bridge should be treated as a frontend adapter, not a separate memory stack:
cc-soul owns the shared backend: chittad, chitta, chitta-mcp, and ~/.claude/mind
chitta-bridge adds Codex- and MCP-facing tools on top of that backend
- updating
chitta-bridge changes frontend glue, not the shared daemon or memory store
For a dual-frontend setup, install the shared backend first, then add adapters:
cd cc-soul
./scripts/shared-stack.sh install all
OpenCode Backend
| Tool | Description |
|---|
opencode_start | Start a new session (auto-warms up, captures session ID) |
opencode_discuss | Send a message |
opencode_plan | Start planning discussion |
opencode_brainstorm | Open-ended brainstorming |
opencode_review | Review code |
opencode_ping | Check if model is reachable |
opencode_models | List available models |
opencode_agents | List available agents |
opencode_model | Change session model |
opencode_agent | Change session agent |
opencode_variant | Change reasoning effort |
opencode_config | Show current configuration |
opencode_configure | Set defaults (persisted) |
opencode_history | Show conversation history |
opencode_sessions | List all sessions |
opencode_switch | Switch to another session |
opencode_end | End current session |
opencode_health | Server health check |
Discussion Rooms
Async multi-agent roundtable with agent souls — participants get persistent identity, memory, tools, and structured challenge rounds.
Basic Room
room_create(
room_id="my-room",
topic="What's the best way to design a cache invalidation strategy?",
participants='[
{"name":"Codex","backend":"codex","session_id":"codex-1"},
{"name":"Gemini","backend":"opencode","session_id":"gemini-1"},
{"name":"Llama","backend":"local","model":"qwen2.5:32b","base_url":"http://gpunode:11434/v1"}
]'
)
room_run(room_id="my-room", rounds=2)
room_synthesize(room_id="my-room")
Soul-Powered Room
Each participant can have a soul — a system prompt, memory namespace, tools, challenge bias, and response format: