Give your AI coding assistant a second opinion — from a different model.
Claude Code, Codex CLI, Cursor, Claude Desktop, or any of 40+ MCP clients can call Codex, Claude, Grok, Antigravity, Ollama, or Gemini to review a diff, debate a plan, or catch the bug the first model missed. Standard MCP; no prompt hacks.
Quick Start · Choose a reviewer · Claude Code plugin · Docs · Packages
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-pasting between tools.
Your primary AI is confident, but confidence isn't correctness. A second model with no stake in the first answer catches what it glossed over.
| You want to… | Ask LLM does |
|---|---|
| Review a diff | A different model analyzes your changes and surfaces issues your primary AI missed |
| Debate a plan | Send an architecture proposal for critique, alternatives, and trade-off analysis |
| Get a second opinion on code | Have another model review an approach independently before you commit to it |
| Read more than fits | Gemini and Antigravity ingest whole codebases in one call (1M+ tokens) |
| Keep it local | Route reviews through Ollama when nothing can leave your machine |
| Compare models side by side | multi-llm fans one prompt out to several providers in parallel |
Prerequisites: Node.js 24+ (the current LTS), on Linux or macOS, and at least one provider CLI installed and authenticated (see Provider setup).
# One install, every provider — auto-detects what you have
claude mcp add --scope user ask-llm -- npx -y @ask-llm/mcp
# first-class alternative after `npm install -g @ask-llm/mcp`:
# claude mcp add --scope user ask-llm -- ask-llm-mcpThen try: ask codex to review my last commit. Run npx @ask-llm/mcp doctor if anything looks off.
Advanced: install split provider packages instead
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 antigravity -- npx -y @ask-llm/antigravity-mcp
claude mcp add --scope user ollama -- npx -y @ask-llm/ollama-mcp
claude mcp add --scope user gemini -- npx -y @ask-llm/gemini-mcpAdd to .cursor/mcp.json (project) or ~/.cursor/mcp.json (user):
{
"mcpServers": {
"ask-llm": { "command": "npx", "args": ["-y", "@ask-llm/mcp"] }
}
}# ~/.codex/config.toml
[mcp_servers.ask-llm]
command = "npx"
args = ["-y", "@ask-llm/mcp"]Want Codex to consult Claude specifically? codex mcp add claude -- npx -y @ask-llm/claude-mcp
Add to claude_desktop_config.json:
{
"mcpServers": {
"ask-llm": { "command": "npx", "args": ["-y", "@ask-llm/mcp"] }
}
}Pi has no built-in MCP client, so it installs the host package instead, which registers native ask-* tools plus the shared skills:
pi install npm:@ask-llm/pluginThen use /skill:codex-review, /skill:multi-review, /skill:compare, /skill:brainstorm, or just describe what you want. See the Pi host guide for trust, data-transfer, and compatibility details.
Any other MCP client (STDIO)
{ "command": "npx", "args": ["-y", "@ask-llm/mcp"] }Swap @ask-llm/mcp for @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 to install a single provider.
The unified @ask-llm/mcp server is the recommended install: one registration, every provider you have, and parallel fan-out via multi-llm. Each provider is also available standalone.
| Provider | Best for | Model (default → fallback) | Requires |
|---|---|---|---|
| Codex | Code reasoning, targeted reviews, architecture critique | gpt-6-astra → gpt-5.6-terra |
OpenAI/Codex account |
| Claude | An independent Claude opinion from Codex or another non-Claude host | opus (Opus 5.5) → sonnet |
Claude Code CLI; read-only workspace tools |
| Grok | Grok 4.7 critique via xAI API or the official Grok CLI | grok-4.7, reasoning high (no fallback) |
XAI_API_KEY or Grok CLI; one explicit harness per call |
| Antigravity | Subscription-backed second opinion; large-context reads | gemini-3.1-pro → gemini-3.8-flash (--effort high) |
Google AI Pro/Ultra; agy CLI. Experimental, one-shot; MCP execution requires unisolated opt-in |
| Ollama | Private, offline, zero-cost review | qwen3.8:27b (no auto-fallback) |
Ollama running locally |
| Gemini | Whole-codebase reads (1M+ tokens) | gemini-3.1-pro-preview → gemini-3.8-flash |
Enterprise Gemini seat (see note) |
Gemini CLI is enterprise-only since 2026-06-18. Google restricted Gemini CLI to Gemini Code Assist Standard/Enterprise seats; free, Google AI Pro, and Ultra accounts lost access.
@ask-llm/gemini-mcpstill installs, but non-enterprise accounts get actionable guidance instead of output. On a subscription plan, use Antigravity (Google's sanctioned successor, covered by AI Pro/Ultra), Codex, Claude, or Ollama. Announcement
Fallbacks fire only under each provider's documented conditions (quota for Gemini/Codex, overload for Claude, rate limit for Antigravity). Grok and Ollama never substitute a model: Grok sends the exact harness catalog ID unchanged, and Ollama returns a clear ollama pull error if the requested model isn't local. Full details in Model Selection.
MCP gives your assistant the tools. The plugin, @ask-llm/plugin, adds the workflows: slash-command reviews with a validation pipeline, multi-model brainstorming, and opt-in continuous pair review.
/plugin marketplace add Lykhoyda/ask-llm
/plugin install ask-llm@ask-llm-plugins
| Command | What it does |
|---|---|
/multi-review |
Parallel Antigravity + Codex review with a 4-phase validation pipeline and consensus highlighting |
/codex-review · /gemini-review · /ollama-review · /antigravity-review |
Single-provider reviews with confidence filtering |
/sol-review |
Model-pinned GPT-6 Sol review through Codex |
/grok-review |
Metered Grok review through xAI with exact model attribution and no fallback |
/fable-review |
Isolated, read-only review that requests the native Fable model and discloses runtime verification limits |
/brainstorm |
Claude Opus researches your real files in parallel with external providers, then synthesizes, weighting verified findings higher. Also supports an exact no-Gemini Grok + GPT-6 Sol panel routed through Cursor Agent |
/compare |
Raw side-by-side answers from multiple providers, no synthesis |
codex-pair |
Opt-in continuous review on gpt-6-sol at medium effort: Codex checks every Edit/Write/MultiEdit when a .codex-pair/context.md marker is present |
Review agents follow 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.
Host support matrix
@ask-llm/plugin is one package, one version, one release lifecycle, and one canonical skill corpus. Claude Code loads its marketplace agents and hooks; Cursor Agent loads the adapted /codex-pair and /grok-pair skills through Agent Skills 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 |
Pi specifics: 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. fable-review is Claude Code-only. Provider CLI authentication is separate from Pi's host-model login. Update or remove with pi update npm:@ask-llm/plugin / pi remove npm:@ask-llm/plugin.
See the plugin docs for hooks, agents, and configuration.
| Tool | Package | Purpose |
|---|---|---|
ask-llm |
@ask-llm/mcp |
Unified orchestrator: pick a provider per call, or fan out to every installed provider |
multi-llm |
@ask-llm/mcp |
Send one prompt to multiple providers in parallel; returns per-provider responses and usage in one call |
ask-codex |
@ask-llm/codex-mcp |
Codex CLI. GPT-6 Astra with Terra fallback. Omit sessionId for ephemeral use, or pass sessionId: "" first to persist and resume |
ask-claude |
@ask-llm/claude-mcp |
Claude Code CLI. opus (Opus 5.5) with Sonnet fallback; native sessions; Read/Glob/Grep-only workspace access |
ask-grok |
@ask-llm/grok-mcp |
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 or fallback |
ask-antigravity |
@ask-llm/antigravity-mcp |
Google Antigravity (agy) for a subscription-backed second opinion. Experimental; one-shot |
ask-ollama |
@ask-llm/ollama-mcp |
Local Ollama. Fully private, zero cost. Server-side conversation replay via sessionId |
ask-gemini |
@ask-llm/gemini-mcp |
Gemini CLI with @ file syntax. 1M+ token context. Live progressive output via stream-json |
ask-gemini-edit |
@ask-llm/gemini-mcp |
Structured OLD/NEW code edit blocks from Gemini |
fetch-chunk |
@ask-llm/gemini-mcp |
Retrieve chunks from cached large responses |
get-usage-stats |
all | Per-session token totals, fallback counts, breakdowns by provider/model. In-memory only |
diagnose |
@ask-llm/mcp |
Self-diagnosis: Node version, PATH resolution, provider CLI presence and versions. Read-only |
ping |
all | Connection test |
Session-capable ask-* tools accept an optional sessionId 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. The orchestrator 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 non-Claude client)
ask antigravity to debate the plan in docs/design.md
ask ollama to explain src/config.ts (runs locally, nothing leaves your machine)
ask gemini to summarize @. the current directory (1M+ context; @ syntax is Gemini-only)
use multi-llm to compare what codex and grok think about this approach
More patterns in How to Ask and Multi-Turn Sessions.
The @ask-llm/mcp binary (ask-llm-mcp) starts the MCP server when run with no arguments. With arguments it's a CLI; ask-llm-mcp --help is the canonical reference.
# Diagnose your setup: Node version, PATH, provider CLI versions, env vars
npx @ask-llm/mcp doctor # human-readable
npx @ask-llm/mcp doctor --json # 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
# Interactive multi-provider REPL: switch providers, persist sessions, watch usage live
npx @ask-llm/mcp replThe REPL keeps a session per provider (/provider codex, /new, /sessions, /usage) and inherits all executor behavior: quota fallback, stream-json output for Gemini, native session resume.
Install and authenticate whichever providers you want to consult. The unified server detects what's present.
| Provider | Setup |
|---|---|
| Codex CLI | Install and sign in |
| Claude Code CLI | Install and sign in (for Codex or other clients consulting Claude) |
| xAI API / Grok CLI | Set XAI_API_KEY for the default metered harness, or install and authenticate official Grok Build and pin harness: "grok-cli" per request (or set ASK_GROK_HARNESS=grok-cli). No failover between harnesses |
| Cursor CLI | Optional model-neutral harness. Authenticate and pick an exact ID from agent --list-models |
Antigravity CLI (agy) |
Version >= 1.1.5, logged in once (Google AI Pro/Ultra). Verify with agy --version |
| Ollama | Running locally with a model pulled: ollama pull qwen3.8:27b |
| Gemini CLI | npm install -g @google/gemini-cli && gemini login. Enterprise-gated since 2026-06-18 |
| Package | What it is | Version | Downloads |
|---|---|---|---|
@ask-llm/mcp |
Unified MCP server (recommended): all providers, multi-llm, ask-cursor-agent, doctor, REPL |
||
@ask-llm/plugin |
Claude Code + Cursor Agent + Pi host package (skills, agents, hooks) | ||
@ask-llm/codex-mcp |
Codex-only MCP server | ||
@ask-llm/claude-mcp |
Claude-only MCP server | ||
@ask-llm/grok-mcp |
Grok-only MCP server | ||
@ask-llm/antigravity-mcp |
Antigravity-only MCP server | ||
@ask-llm/ollama-mcp |
Ollama-only MCP server | ||
@ask-llm/gemini-mcp |
Gemini-only MCP server |
Migrating from the old package names
All public MCP packages now live in the @ask-llm npm organization. The old names are deprecated, but executable names are unchanged: update the package argument in your MCP config and commands such as ask-codex-mcp and ask-llm-mcp doctor keep working after a global install.
| Old package | Use instead |
|---|---|
ask-llm-mcp |
@ask-llm/mcp |
ask-codex-mcp |
@ask-llm/codex-mcp |
@anton-lykhoyda/ask-claude-mcp |
@ask-llm/claude-mcp |
ask-antigravity-mcp |
@ask-llm/antigravity-mcp |
ask-ollama-mcp |
@ask-llm/ollama-mcp |
ask-gemini-mcp |
@ask-llm/gemini-mcp |
The installation guide has the complete package-to-executable mapping.
- Docs site: lykhoyda.github.io/ask-llm — Getting Started, How It Works, Troubleshooting
- For AI agents: llms.txt · llms-full.txt
Contributions are welcome. Start with the open issues and CONTRIBUTING.md.
MIT. See LICENSE.
Disclaimer: Ask LLM is an unofficial, third-party tool and is not affiliated with, endorsed, or sponsored by Anthropic, Google, OpenAI, or xAI.