An MCP server that lets Claude, Gemini, and Codex call each other as tools.
Claude: "Hey Gemini, what do you think about this code?"
Gemini: "It's mass. Let me ask Codex for a second opinion."
Codex: "You're both wrong. Here's the fix."
curl -fsSL https://raw.githubusercontent.com/osanoai/multicli/main/install.sh | bashDetects which AI CLIs you have installed and configures Multi-CLI for all of them automatically. No config files, no API keys, no environment variables. If it's on your PATH, it works.
Multi-CLI sits between your AI clients and bridges them via the Model Context Protocol. Install it once, and whichever AI you're talking to gains the ability to call the others.
- Claude can ask Gemini or Codex for help
- Gemini can delegate to Claude or Codex
- Codex can consult Claude or Gemini
- Each client's own tools are hidden (no talking to yourself, that's weird)
- Auto-detects which CLIs you have installed — only shows what's available
This tool was built by the very AIs it connects.
Claude, Gemini, and Codex wrote the code. Claude, Gemini, and Codex maintain it. Every night, a CI job queries the latest stable release of each CLI for its current model list, diffs the results against what's in the repo, and automatically publishes a new version if anything changed. New model releases get picked up within 24 hours. Deprecated models get cleaned out. The repo stays current without anyone touching it.
Because all install commands use @latest, your MCP client pulls the newest version every time it starts — no manual updates, no stale model lists, no maintenance.
Most MCP tools go stale within weeks. This one is self-maintaining by design.
You need Node.js >= 20 and at least two of these CLIs installed:
| CLI | Install |
|---|---|
| Claude Code | npm install -g @anthropic-ai/claude-code |
| Gemini CLI | npm install -g @google/gemini-cli |
| Codex CLI | npm install -g @openai/codex |
Why two? Because one AI talking to itself is a monologue, not a collaboration.
Prefer to install per-client yourself? Each command is one line.
claude mcp add --scope user Multi-CLI -- npx -y @osanoai/multicli@latestClaude Desktop (JSON config)
Add to ~/Library/Application Support/Claude/claude_desktop_config.json on macOS:
{
"mcpServers": {
"Multi-CLI": {
"command": "npx",
"args": ["-y", "@osanoai/multicli@latest"]
}
}
}Restart Claude Desktop completely after saving.
gemini mcp add --scope user Multi-CLI npx -y @osanoai/multicli@latestManual config (~/.gemini/settings.json)
{
"mcpServers": {
"Multi-CLI": {
"command": "npx",
"args": ["-y", "@osanoai/multicli@latest"]
}
}
}codex mcp add Multi-CLI -- npx -y @osanoai/multicli@latestManual config (~/.codex/config.toml) or pass --mcp-config
codex --mcp-config mcp.jsonWhere mcp.json contains:
{
"mcpServers": {
"Multi-CLI": {
"command": "npx",
"args": ["-y", "@osanoai/multicli@latest"]
}
}
}Multi-CLI uses standard stdio transport. If your client supports MCP, point it at:
npx -y @osanoai/multicli@latest
Once connected, your AI client gains access to tools for the other CLIs (never its own):
| Tool | Description |
|---|---|
List Gemini Models |
List available Gemini models and their strengths |
Ask Gemini |
Ask Gemini a question or give it a task |
Fetch Chunk |
Retrieve chunked responses from Gemini |
Gemini Help |
Get Gemini CLI help info |
List Codex Models |
List available Codex models |
Ask Codex |
Ask Codex a question or give it a task |
Codex Help |
Get Codex CLI help info |
List Claude Models |
List available Claude models |
Ask Claude |
Ask Claude a question or give it a task |
Claude Help |
Get Claude Code CLI help info |
Once installed, just talk naturally to your AI:
"Ask Gemini what it thinks about this architecture"
"Have Codex review this function for performance issues"
"Get Claude's opinion on this error message"
"Use Gemini to analyze @largefile.js"
Or get a second opinion on anything:
"I want three perspectives on how to refactor this module —
ask Gemini and Codex what they'd do differently"
┌─────────────┐ MCP (stdio) ┌──────────────┐ CLI calls ┌─────────────┐
│ Your AI │ ◄──────────────────► │ Multi-CLI │ ───────────────► │ Other AIs │
│ Client │ │ server │ │ (CLI tools) │
└─────────────┘ └──────────────┘ └─────────────┘
1. Your AI client connects to Multi-CLI via MCP
2. Multi-CLI detects which CLIs are installed on your system
3. It registers tools for the OTHER clients (hides tools for the calling client)
4. When a tool is called, Multi-CLI executes the corresponding CLI command
5. Results flow back through MCP to your AI client
"No usable AI CLIs detected" Make sure at least one other CLI is installed and on your PATH:
which gemini && which codex && which claudeNo tools showing up? If only your own CLI is installed, Multi-CLI hides it (no self-calls). Install a different CLI to enable cross-model collaboration.
MCP server not responding?
- Check that Node.js >= 20 is installed
- Run
npx @osanoai/multicli@latestdirectly to see if it starts - Restart your AI client completely
git clone https://github.com/osanoai/multicli.git
cd multicli
npm install
npm run build
npm run dev