MCP server to run Claude, Codex, and Gemini CLI agents in the background from any MCP client.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
claude mcp add ai-cli-mcp -- npx -y in{
"mcpServers": {
"ai-cli-mcp": {
"command": "npx",
"args": ["-y", "in"]
}
}
}MCP Servers overview
# AI CLI MCP Server
[](https://www.npmjs.com/package/ai-cli-mcp)
[](/CHANGELOG.md)
[🇯🇵 日本語のREADMEはこちら](./README.ja.md)
> **📦 Package Migration Notice**: This package was formerly `@mkxultra/claude-code-mcp` and has been renamed to `ai-cli-mcp` to reflect its expanded support for multiple AI CLI tools.
An MCP (Model Context Protocol) server that allows running AI CLI tools (Claude, Codex, Gemini, Forge, and OpenCode) in background processes with automatic permission handling.
Did you notice that Cursor sometimes struggles with complex, multi-step edits or operations? This server, with its powerful unified `run` tool, enables multiple AI agents to handle your coding tasks more effectively.
## Demo
[](https://github.com/mkXultra/ai-cli-mcp/releases/download/v2.11.0/demo.mp4)
## Overview
This MCP server provides tools that can be used by LLMs to interact with AI CLI tools. When integrated with MCP clients, it allows LLMs to:
- Run Claude CLI with all permissions bypassed (using `--dangerously-skip-permissions`)
- Execute Codex CLI with approvals and sandbox bypassed (using `--dangerously-bypass-approvals-and-sandbox`)
- Execute Gemini CLI with automatic approval mode (using `-y`)
- Execute Forge CLI in non-interactive mode (using `forge -C <workFolder> -p <prompt>`)
- Execute OpenCode in non-interactive JSON mode (using `opencode run --format json --dir <workFolder> <prompt>`)
- Support multiple AI models: Claude (sonnet, sonnet[1m], opus, opusplan, fable, haiku), Codex (gpt-5.4, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5, gpt-5.4-mini, gpt-5.3-codex, gpt-5.3-codex-spark, gpt-5.2), Gemini (gemini-2.5-pro, gemini-2.5-flash, gemini-3.1-pro-preview, gemini-3-pro-preview, gemini-3-flash-preview), Forge (`forge`), and OpenCode (`opencode` plus explicit `oc-<provider/model>` wrappers such as `oc-openai/gpt-5.4`)
- Manage background processes with PID tracking
- Parse and return structured outputs from both tools
### Usage Example (Advanced Parallel Processing)
You can instruct your main agent to run multiple tasks in parallel like this:
> Launch agents for the following 3 tasks using acm mcp run:
> 1. Refactor `src/backend` code using `sonnet`
> 2. Create unit tests for `src/frontend` using `gpt-5.3-codex`
> 3. Update docs in `docs/` using `gemini-2.5-pro`
>
> While they run, please update the TODO list. Once done, use the `wait` tool to wait for all completions and report the results together.
### Usage Example (Context Caching & Sharing)
You can reuse heavy context (like large codebases) using session IDs to save costs while running multiple tasks.
> 1. First, use `acm mcp run` with `opus` to read all files in `src/` and understand the project structure.
> 2. Use the `wait` tool to wait for completion and retrieve the `session_id` from the result.
> 3. Using that `session_id`, run the following two tasks in parallel with `acm mcp run`:
> - Create refactoring proposals for `src/utils` using `sonnet`
> - Add architecture documentation to `README.md` using `gpt-5.3-codex`
> 4. Finally, `wait` again to combine both results.
[](https://github.com/mkXultra/ai-cli-mcp/releases/download/v2.11.0/demo-resume.mp4)
## Benefits
- **True Async Multitasking**: Agent execution happens in the background, returning control immediately. The calling AI can proceed with the next task or invoke another agent without waiting for completion.
- **CLI in CLI (Agent in Agent)**: Directly invoke powerful CLI tools like Claude Code or Codex from any MCP-supported IDE or CLI. This enables broader, more complex system operations and automation beyond host environment limitations.
- **Freedom from Model/Provider Constraints**: Freely select and combine the "strongest" or "most cost-effective" models from Claude, Codex (GPT), Gemini, and Forge without being tied to a specific ecosystem.
## Prerequisites
The only prerequisite is that the AI CLI tools you want to use are locally installed and correctly configured.
- **Claude Code**: `claude doctor` passes, and execution with `--dangerously-skip-permissions` is approved (you must run it manually once to login and accept terms).
- **Codex CLI** (Optional): Installed and initial setup (login etc.) completed.
- **Gemini CLI** (Optional): Installed and initial setup (login etc.) completed.
- **Forge CLI** (Optional): Installed and initial setup completed.
- **OpenCode** (Optional): Installed and configured. This integration uses `opencode run --format json`, and explicit provider/model selection follows the `oc-<provider/model>` wrapper syntax exposed by `ai-cli models`.
## Installation & Usage
There are now two primary ways to use this package:
- `ai-cli-mcp`: MCP server entrypoint
- `ai-cli`: human-facing CLI for background AI runs
### MCP usage with `npx`
The recommended way to use the MCP server is via `npx`.
#### Using npx in your MCP configuration:
```json
"ai-cli-mcp": {
"command": "npx",
"args": [
"-y",
"ai-cli-mcp@latest"
]
},
```
#### Using Claude CLI mcp add command:
```bash
claude mcp add ai-cli '{"name":"ai-cli","command":"npx","args":["-y","ai-cli-mcp@latest"]}'
```
### Human CLI usage with global install
If you want to use the production CLI directly from your shell, install the package globally:
```bash
npm install -g ai-cli-mcp
```
This exposes both commands:
- `ai-cli`
- `ai-cli-mcp`
Examples:
```bash
ai-cli doctor
ai-cli models
ai-cli run --cwd "$PWD" --model sonnet --prompt "summarize this repository"
ai-cli run --cwd "$PWD" --model opencode --prompt "summarize this repository with OpenCode defaults"
ai-cli run --cwd "$PWD" --model oc-openai/gpt-5.4 --session-id ses_123 --prompt "continue this session with an explicit OpenCode model"
ai-cli ps
ai-cli result 12345
ai-cli result 12345 --verbose
ai-cli peek 12345 --time 10
ai-cli wait 12345 --timeout 300
ai-cli wait 12345 --verbose
ai-cli kill 12345
ai-cli cleanup
ai-cli-mcp
```
### Human CLI usage with `npx`
Because the published package name is still `ai-cli-mcp`, the shortest `npx` form for the CLI is:
```bash
npx -y --package ai-cli-mcp@latest ai-cli run --cwd "$PWD" --model sonnet --prompt "hello"
npx -y --package ai-cli-mcp@latest ai-cli run --cwd "$PWD" --model oc-openai/gpt-5.4 --prompt "hello from OpenCode"
```
## Important First-Time Setup
### For Claude CLI:
**Before the MCP server can use Claude, you must first run the Claude CLI manually once with the `--dangerously-skip-permissions` flag, login and accept the terms.**
```bash
npm install -g @anthropic-ai/claude-code
claude --dangerously-skip-permissions
```
Follow the prompts to accept. Once this is done, the MCP server will be able to use the flag non-interactively.
### For Codex CLI:
**For Codex, ensure you're logged in and have accepted any necessary terms:**
```bash
codex login
```
### For Gemini CLI:
**For Gemini, ensure you're logged in and have configured your credentials:**
```bash
gemini auth login
```
macOS might ask for folder permissions the first time any of these tools run. If the first run fails, subsequent runs should work.
## CLI Commands
`ai-cli` currently supports:
- `run`
- `ps`
- `result`
- `peek`
- `wait`
- `kill`
- `cleanup`
- `doctor`
- `models`
- `mcp`
Example flow:
```bash
ai-cli doctor
ai-cli models
ai-cli run --cwd "$PWD" --model gpt-5.4 --prompt "use the default Codex model"
ai-cli run --cwd "$PWD" --model codex-ultra --prompt "fix failing tests"
ai-cli run --cwd "$PWD" --model opencode --session-id ses_existing --prompt "continue this OpenCode session"
ai-cli run --cwd "$PWD" --model oc-openai/gpt-5.4 --prompt "run with an explicit OpenCode backend model"
ai-cli ps
ai-cli peek 12345 --time 10
ai-cli peek 12345 12346 --time 10
ai-cli wait 12345
ai-cli wait 12345 --verbose
ai-cli result 12345
ai-cli result 12345 --verbose
ai-cli cleanup
```
`run` accepts `--cwd` as the primary working-directory flag and also accepts the older aliases `--workFolder` / `--work-folder` for compatibility.
OpenCode model selection accepts either:
- `opencode` for the CLI's configured default model
- `oc-<provider/model>` for an explicit OpenCode provider/model, for example `oc-openai/gpt-5.4`
`ai-cli models` exposes OpenCode machine-readably via `opencode: ["opencode"]` plus `dynamicModelBackends.opencode`, which points users to `opencode models` for backend-native discovery.
Codex model selection uses `gpt-5.4` as the default advertised model.
`doctor` checks only binary availability and path resolution. Its JSON output includes a `checks` block that marks login state and terms acceptance as unchecked.
## CLI State Storage
Background CLI runs are stored under:
```text
~/.local/state/ai-cli/cwds/<normalized-cwd>/<pid>/
```
Each PID directory contains:
- `meta.json`
- `stdout.log`
- `stderr.log`
- `exit-status.json` for detached runs
Use `ai-cli cleanup` to remove completed and failed runs. Running processes are preserved.
## Exit Status Tracking
Detached `ai-cli` runs persist natural exit status for all supported backends through `exit-status.json`. Non-zero exits are surfaced as `failed` with the recorded `exitCode`; zero exits are surfaced as `completed` with `exitCode: 0`. `ai-cli kill` records SIGTERM termination as a failed exit, and a tracked process that disappears without exit metadata is treated as `failed` rather than assumed successful.
## Connecting to Your MCP Client
After setting up the server, add the configuration to your MCP client's settings file (e.g., `mcp.json` for Cursor, `mcp_config.json` for Windsurf).
If the file doesn't exist, create it and add the `ai-cli-mcp` configuration.
## Tools Provided
This server exposes the following tools:
### `run`
Executes a prompt using Claude CLI, Codex CLI, Gemini CLIWhat people ask about ai-cli-mcp
What is mkXultra/ai-cli-mcp?
+
mkXultra/ai-cli-mcp is mcp servers for the Claude AI ecosystem. MCP server to run Claude, Codex, and Gemini CLI agents in the background from any MCP client. It has 21 GitHub stars and was last updated today.
How do I install ai-cli-mcp?
+
You can install ai-cli-mcp by cloning the repository (https://github.com/mkXultra/ai-cli-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is mkXultra/ai-cli-mcp safe to use?
+
Our security agent has analyzed mkXultra/ai-cli-mcp and assigned a Trust Score of 87/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains mkXultra/ai-cli-mcp?
+
mkXultra/ai-cli-mcp is maintained by mkXultra. The last recorded GitHub activity is from today, with 14 open issues.
Are there alternatives to ai-cli-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy ai-cli-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/mkxultra-ai-cli-mcp)<a href="https://claudewave.com/repo/mkxultra-ai-cli-mcp"><img src="https://claudewave.com/api/badge/mkxultra-ai-cli-mcp" alt="Featured on ClaudeWave: mkXultra/ai-cli-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface