
Gives Claude access to multiple LLM providers through a single MCP interface. Auto-detects what you have installed (Gemini CLI, Codex CLI, or local Ollama) and registers the appropriate tools. You can ask Gemini for 1M+ token context reviews, hit Codex for GPT-5.5 responses, or keep everything local with Ollama. Ships with ask-gemini, ask-codex, ask-ollama, and ask-llm tools that handle prompts and structured edits. The multi-llm tool fans out to all providers in parallel for side-by-side comparisons. Supports session continuity with sessionId parameters for multi-turn conversations. Useful when you want a second AI opinion on architecture, code reviews, or need to leverage different model strengths without switching contexts.
| Package | Type | Version | Downloads |
|---|---|---|---|
@ask-llm/gemini-mcp | MCP Server | ||
@ask-llm/codex-mcp | MCP Server | ||
@ask-llm/claude-mcp | MCP Server | ||
@ask-llm/grok-mcp | MCP Server | ||
@ask-llm/ollama-mcp | MCP Server | ||
@ask-llm/antigravity-mcp | MCP Server | ||
@ask-llm/mcp | MCP Server | ||
@ask-llm/plugin | Claude Code + Cursor Agent + Pi Host Package |
MCP servers + Claude Code/Cursor Agent/Pi host package for AI-to-AI collaboration
Get a second opinion before you ship. Ask LLM lets your AI assistant — Claude Code, Codex CLI, Cursor, Claude Desktop, or any of 40+ MCP clients — consult a second model to review your code, debate a plan, or catch a bug it might have missed. Pick the reviewer that fits: OpenAI Codex (GPT-5.6 Sol → Terra), Anthropic Claude (Opus → Sonnet), xAI Grok 4.6 via API or Grok CLI (no fallback), Google Antigravity (agy), a local Ollama model, or Gemini (1M+ token context). Standard MCP, no prompt hacks.
⚠️ Gemini CLI goes enterprise-only on 2026-06-18: From that date Google restricts Gemini CLI to Gemini Code Assist Standard/Enterprise seats, and free, Google AI Pro, and Ultra accounts lose access.
@ask-llm/gemini-mcpstill installs, but a non-enterprise account then surfaces actionable guidance instead of output. Free/Pro users: switch toask-antigravity(the Google-sanctioned successor, subscription-backed via Google AI Pro/Ultra),ask-codex,ask-claude, orask-ollama. Announcement
Your primary AI is confident — but confidence isn't correctness. A second model, with no stake in the first one's answer, catches what it missed.
You: ask codex to review src/auth.ts for security issues
Codex: ⚠ verifyToken() compares tokens with === — not timing-safe (line 42)
⚠ the session cookie is missing a SameSite attribute
Claude: Good catches — applying both fixes to src/auth.ts.
One prompt. A second model reviews independently; your assistant applies the fix — no copy-paste between tools.
# All-in-one — auto-detects installed providers
claude mcp add --scope user ask-llm -- npx -y @ask-llm/mcp
claude mcp add --scope user gemini -- npx -y @ask-llm/gemini-mcp
claude mcp add --scope user codex -- npx -y @ask-llm/codex-mcp
claude mcp add --scope user grok -e XAI_API_KEY="$XAI_API_KEY" -- npx -y @ask-llm/grok-mcp
claude mcp add --scope user ollama -- npx -y @ask-llm/ollama-mcp
claude mcp add --scope user antigravity -- npx -y @ask-llm/antigravity-mcp
Pi is a host harness, not another consulted provider. Install the canonical multi-host package; it exposes the shared skills plus native provider tools because Pi intentionally has no built-in MCP client:
pi install npm:@ask-llm/plugin
pi list
Invoke /skill:codex-review, /skill:multi-review, /skill:compare, /skill:brainstorm, or describe the workflow naturally. The package registers ask-codex, ask-gemini, ask-grok, ask-ollama, ask-antigravity, model-neutral ask-cursor-agent, and deterministic concurrent ask-multi tools. Provider CLI authentication is unchanged and separate from Pi's host-model login.
Pi codex-pair requires the repository marker, Pi project trust, and interactive user-owned consent via /codex-pair; a committed marker alone never authorizes source transfer or cost. Pi surfaces findings non-blockingly and does not claim Claude's blocking Stop-gate or one-shot print parity. Independent fable-review remains Claude Code-only and is excluded from Pi.
Update/remove with pi update npm:@ask-llm/plugin and pi remove npm:@ask-llm/plugin. See the Pi host guide for temporary/project-local installs, trust, data transfer, troubleshooting, and the full compatibility matrix.
Add to claude_desktop_config.json:
{
"mcpServers": {
"ask-llm": {
"command": "npx",
"args": ["-y", "@ask-llm/mcp"]
}
}
}
{
"mcpServers": {
"gemini": {
"command": "npx",
"args": ["-y", "@ask-llm/gemini-mcp"]
},
"codex": {
"command": "npx",
"args": ["-y", "@ask-llm/codex-mcp"]
},
"ollama": {
"command": "npx",
"args": ["-y", "@ask-llm/ollama-mcp"]
}
}
}
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"ask-llm": { "command": "npx", "args": ["-y", "@ask-llm/mcp"] }
}
}
Codex CLI (~/.codex/config.toml):
[mcp_servers.ask-llm]
command = "npx"
args = ["-y", "@ask-llm/mcp"]
For the focused Codex → Claude second-opinion path:
codex mcp add claude -- npx -y @ask-llm/claude-mcp
Any MCP Client (STDIO transport):
{ "command": "npx", "args": ["-y", "@ask-llm/mcp"] }
Replace @ask-llm/mcp with @ask-llm/codex-mcp, @ask-llm/claude-mcp, @ask-llm/grok-mcp, @ask-llm/antigravity-mcp, @ask-llm/ollama-mcp, or @ask-llm/gemini-mcp for a single provider.
All public MCP packages now live in the @ask-llm npm organization. The old
package names are deprecated, but their executable names are unchanged. Update
the package argument in your MCP config; commands such as ask-codex-mcp and
ask-llm-mcp doctor keep working after a global install.
| Old package | Use instead |
|---|---|
ask-gemini-mcp | @ask-llm/gemini-mcp |
ask-codex-mcp | @ask-llm/codex-mcp |
@anton-lykhoyda/ask-claude-mcp | @ask-llm/claude-mcp |
ask-ollama-mcp | @ask-llm/ollama-mcp |
ask-antigravity-mcp | @ask-llm/antigravity-mcp |
ask-llm-mcp | @ask-llm/mcp |
See the installation guide for the complete package-to-executable mapping.
| Provider | Best for | Model (default → fallback) | Notes |
|---|---|---|---|
| Codex | Code reasoning, targeted reviews, architecture critique | gpt-5.6-sol → gpt-5.6-terra | Requires an OpenAI/Codex account |
| Claude | Independent review from Codex or another non-Claude host | opus → sonnet | Claude Code CLI; native sessions; read-only tools |
| Grok | Grok 4.6 critique through xAI API or official Grok CLI | API grok-4.6, reasoning high (no fallback) | Harness selected separately; exact harness catalog ID sent unchanged |
| Antigravity | A subscription-backed second opinion; larger-context reads | gemini-3.1-pro → gemini-3.5-flash (both at --effort high) | Google AI Pro/Ultra plan; one-shot, experimental |
| Ollama | Private/local review, zero cost, offline | qwen3.8:27b (no auto-fallback) | Runs entirely on your machine |
| Gemini | Whole-codebase reads (1M+ tokens) | gemini-3.1-pro-preview → gemini-3.6-flash | ⚠️ Enterprise-gated from 2026-06-18 |
Unified (ask-llm) | One install for all of the above; fan out in parallel | routes per call | Recommended |
@ask-llm/plugin is one package, version, release lifecycle, and canonical skill corpus. Claude Code loads its existing marketplace agents/hooks; Cursor Agent loads the adapted /codex-pair and /grok-pair skills through its Agent Skills surface plus mcp.json (agent --plugin-dir ./packages/claude-plugin; see the Cursor Agent host guide); Pi loads explicit native tools, portable skill adapters, and a thin lifecycle extension.
| Capability | Claude Code | Cursor Agent | Codex CLI host | Pi |
|---|---|---|---|---|
| Provider transport | MCP | MCP (mcp.json, unified ask-llm only) | MCP | native Ask LLM tools (no built-in MCP) |
| Review/compare/brainstorm skills | yes | Agent Skills | tools only | /skill:<name> + natural language |
| Isolated reviewer contexts / Fable | yes | no; fable-review excluded | no | no; fable-review excluded |
| codex-pair | hooks | on-demand persisted session | no | lifecycle extension |
/grok-pair | yes (explicit Cursor/xAI/CLI route) | direct xAI/CLI routes via pinned unified ask-llm (or user-installed ask-grok) | no | excluded |
| Blocking HIGH Stop gate | opt-in | no | no | no; surfaced non-blockingly |
| Async pairing in one-shot print | n/a | on-demand skill | no | unsupported |
The Ask LLM plugin adds multi-provider code review, brainstorming, and automated hooks directly into Claude Code:
/plugin marketplace add Lykhoyda/ask-llm
/plugin install ask-llm@ask-llm-plugins
| Feature | Description |
|---|---|
/multi-review | Parallel Antigravity + Codex review with 4-phase validation pipeline and consensus highlighting (gemini via /gemini-review) |
/gemini-review | Gemini-only review with confidence filtering |
/codex-review | Codex-only review with confidence filtering |
/fable-review | Isolated, read-only review that requests the native Fable model and discloses runtime verification limits |
/sol-review | Model-pinned GPT-5.6 Sol review through Codex |
/grok-review | Metered Grok review through xAI with exact model attribution and no fallback |
/ollama-review | Local review — no data leaves your machine |
/antigravity-review | Subscription-backed review via Google Antigravity (agy) — experimental |
/brainstorm | Multi-LLM brainstorm: Claude Opus researches the topic against real files in parallel with external providers (Gemini/Codex/Grok/Ollama/Antigravity), then synthesizes all findings with verified findings weighted higher; also supports an exact no-Gemini Grok + GPT-5.6 Sol panel routed through Cursor Agent |
/compare | Side-by-side raw responses from multiple providers, no synthesis — for when you want to see how each provider phrases the same answer |
codex-pair hook | Opt-in continuous review — runs Codex against every Edit/Write/MultiEdit when a .codex-pair/context.md marker is present in the project |
The review agents use a 4-phase pipeline inspired by Anthropic's code-review plugin: context gathering, prompt construction with explicit false-positive exclusions, synthesis, and source-level validation of each finding.
See the plugin docs for details.
XAI_API_KEY for the default metered Grok harness; or install/authenticate official Grok Build (pin harness: "grok-cli" per request, or set ASK_GROK_HARNESS=grok-cli as the default; no failover)agent --list-modelsagy) >=1.1.5 — installed and logged in once (Google AI Pro/Ultra); verify with agy --versionollama pull qwen3.8:27b)npm install -g @google/gemini-cli && gemini login (enterprise-gated from 2026-06-18)| Tool | Package | Purpose |
|---|---|---|
ask-gemini | @ask-llm/gemini-mcp | Send prompts to Gemini CLI with @ file syntax. 1M+ token context. Live progressive output via stream-json |
ask-gemini-edit | @ask-llm/gemini-mcp | Get structured OLD/NEW code edit blocks from Gemini |
fetch-chunk | @ask-llm/gemini-mcp | Retrieve chunks from cached large responses |
ask-codex | @ask-llm/codex-mcp | Send prompts to Codex CLI. GPT-5.6 Sol with Terra fallback; omit sessionId for ephemeral use, or pass sessionId: "" first to persist and resume |
ask-claude | @ask-llm/claude-mcp | Send prompts to Claude Code CLI. Opus with Sonnet fallback; native sessions; Read/Glob/Grep-only workspace access |
ask-grok | @ask-llm/grok-mcp | Send a one-shot Grok prompt through explicit xai-api (default) or grok-cli; exact harness model ID; no harness/model fallback |
ask-cursor-agent | @ask-llm/mcp | Model-neutral Cursor Agent harness: separate provider (claude, codex, gemini, grok) + exact Cursor catalog model verified against that family, read-only ask mode, no force/trust/spend changes/fallback |
ask-ollama | @ask-llm/ollama-mcp | Send prompts to local Ollama. Fully private, zero cost. Server-side conversation replay via sessionId |
ask-antigravity | @ask-llm/antigravity-mcp | Send a prompt to Google Antigravity (agy) for a subscription-backed second opinion. Experimental; one-shot |
ask-llm | @ask-llm/mcp | Unified orchestrator — pick provider per call. Fan out to all installed providers |
multi-llm | @ask-llm/mcp | Dispatch the same prompt to multiple providers in parallel; returns per-provider responses + usage in one call |
get-usage-stats | all | Per-session token totals, fallback counts, breakdowns by provider/model — all in-memory, no persistence |
diagnose | @ask-llm/mcp | Self-diagnosis: Node version, PATH resolution, provider CLI presence + versions. Read-only |
ping | all | Connection test — verify MCP setup |
Session-capable ask-* tools accept an optional sessionId parameter and return a structured AskResponse (provider, response, model, sessionId, usage) via MCP outputSchema alongside the human-readable text. Codex requires sessionId: "" on the first call for a resumable thread; omitting it makes that call ephemeral. The orchestrator (@ask-llm/mcp) also exposes usage://current-session as an MCP Resource for live JSON snapshots.
ask codex to review the changes in src/auth.ts for security issues
ask claude for an independent opinion on this architecture (from Codex or another MCP client)
ask antigravity to debate this architecture plan in docs/design.md
ask ollama to explain src/config.ts (runs locally, no data sent anywhere)
ask gemini to summarize @. the current directory (1M+ context, @ is Gemini-only)
use multi-llm to compare what codex and gemini think about this approach
The orchestrator binary (@ask-llm/mcp, installed as ask-llm-mcp) starts the MCP server only when run with no arguments. ask-llm-mcp --help is the canonical command reference (--version prints the package version; unsupported commands or arguments print usage and exit nonzero). The two most common commands:
# Interactive multi-provider REPL — switch providers, persist sessions, see usage live
npx @ask-llm/mcp repl
# Diagnose your setup — Node version, PATH, provider CLI versions, env vars
npx @ask-llm/mcp doctor # human-readable
npx @ask-llm/mcp doctor --json # established full JSON, exit 1 on error
npx @ask-llm/mcp doctor --format toon # bounded, versioned agent-facing TOON pilot
npx @ask-llm/mcp doctor --format toon --full # full TOON escape hatch
The REPL ships sessions per provider (/provider gemini, /provider codex, /new, /sessions, /usage) and inherits all the executor behavior (quota fallback, stream-json output for Gemini, native session resume).
| Provider | Default | Fallback |
|---|---|---|
| Gemini | gemini-3.1-pro-preview | gemini-3.6-flash (on quota) |
| Codex | gpt-5.6-sol | gpt-5.6-terra (on quota) |
| Claude | opus | sonnet (on overload/unavailability) |
| Grok | API: grok-4.6; CLI: exact grok models ID (effort high) | — (explicit harness/model selection; no fallback) |
| Antigravity | gemini-3.1-pro (--effort high) | gemini-3.5-flash (on rate limit); model-less recovery if a shipped slug is rejected |
| Ollama | qwen3.8:27b | — (local; errors if the model isn't pulled) |
Gemini, Codex, Claude, and Antigravity automatically fall back under their documented provider-specific conditions. Grok and Ollama never substitute a model: Grok preserves the explicit API/CLI harness catalog selection, while Ollama preserves the locally pulled model — if the requested model isn't pulled, it returns a clear ollama pull error.
Contributions are welcome! See open issues for things to work on.
MIT License. See LICENSE for details.
Disclaimer: This is an unofficial, third-party tool and is not affiliated with, endorsed, or sponsored by Anthropic, Google, OpenAI, or xAI.
ASK_ANTIGRAVITY_TIMEOUT_MSdefault: 300000Timeout for Antigravity (agy) execution in milliseconds (default: 300000 = 5 minutes)
ASK_ANTIGRAVITY_SANDBOXdefault: 1Set to '0' to drop agy's --sandbox flag if it blocks --add-dir context reads (default: sandbox on)
GMCPT_LOG_LEVELdefault: warnLog verbosity: debug, info, warn, error (default: warn)