You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
High-performance multi-agent orchestration server in Rust
One server. Six executors. Full bidirectional control.
What It Does
agent-cli-mcp-rust is an MCP server that lets any MCP-capable orchestrator (Claude Code, Cursor, Gemini, etc.) drive multiple AI coding agents through a single unified interface — with built-in directory isolation, secret redaction, tool permission profiles, and session management.
Supported Executors
Executor
Binary
Support Level
GitHub Copilot CLI
copilot
Full — prompt, autopilot, fleet, delegate, review, keep-alive
Google Jules
jules
Full — remote sessions, plan approval, API mode, verification
Gemini CLI
gemini
Generic — prompt, interactive, run
OpenAI Codex CLI
codex
Generic — prompt, interactive, run
OpenCode CLI
opencode
Generic — prompt, interactive, run
Anthropic Claude CLI
claude
Generic — prompt, interactive, run
Architecture
graph TD
subgraph Orchestrators["MCP Clients (Orchestrators)"]
CC[Claude Code]
GEM[Gemini]
CUR[Cursor / VS Code]
COD[Codex]
end
subgraph Server["agent-cli-mcp-rust"]
MCP[MCP Transport\nJSON-RPC over stdio]
POL[Policy Engine\nDirectory Isolation]
RED[Redaction Engine\nSecret Scrubbing]
SES[Session Manager\nAsync I/O]
CAP[Capability Discovery\nFlag Probing]
end
subgraph Executors["AI Coding Agents"]
COP[Copilot CLI]
JUL[Jules CLI / API]
GEMI[Gemini CLI]
CODEX[Codex CLI]
OC[OpenCode CLI]
CLA[Claude CLI]
end
Orchestrators -->|stdio| MCP
MCP --> POL
MCP --> RED
MCP --> SES
MCP --> CAP
SES -->|stdin/stdout pipes| Executors
Loading
Security Model
flowchart LR
TC[Tool Call] --> DI{Directory\nIsolation}
DI -->|outside allowed roots| DENY[🚫 Rejected]
DI -->|within allowed roots| QC{Quarantine\nCheck}
QC -->|marker present| DENY
QC -->|clean| EX[Execute]
EX --> OUT[Raw Output]
OUT --> RED[Redaction Engine]
RED -->|scrubs API keys, tokens,\nDB credentials, JWTs| CLEAN[Clean Output]
CLEAN --> ORCH[Orchestrator]
Loading
Mandatory deny overlay — always blocked regardless of profile: