llm-cli-gateway
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEBUG | No | Enable debug logging (set to any value) | |
| GEMINI_MODELS | No | Additional models for Gemini (JSON object of model->description). | |
| CODEX_CONFIG_PATH | No | Path to Codex config file. | |
| VIBE_ACTIVE_MODEL | No | Override active model for Mistral Vibe. | |
| LLM_GATEWAY_CONFIG | No | Path to gateway TOML config (default: ~/.llm-cli-gateway/config.toml) | |
| CODEX_DEFAULT_MODEL | No | Explicit default model for Codex. | |
| GEMINI_HISTORY_ROOT | No | Path to Gemini history root directory. | |
| LLM_GATEWAY_JOBS_DB | No | Deprecated legacy env var. Use config.toml instead. | |
| LLM_GATEWAY_LOGS_DB | No | Deprecated: override persistence path. Use config.toml instead. | |
| CLAUDE_DEFAULT_MODEL | No | Explicit default model for Claude. | |
| CLAUDE_SETTINGS_PATH | No | Path to Claude settings file. | |
| GEMINI_DEFAULT_MODEL | No | Explicit default model for Gemini. | |
| GEMINI_MODEL_ALIASES | No | Aliases for Gemini models. | |
| GEMINI_SETTINGS_PATH | No | Path to Gemini settings file. | |
| GROK_CODE_XAI_API_KEY | No | API key for Grok CLI (alternative to OAuth login). | |
| LLM_GATEWAY_AUTH_TOKEN | No | Bearer token for HTTP transport authentication. | |
| LLM_GATEWAY_MODEL_ALIASES | No | Global model aliases for all CLIs. | |
| CLAUDE_SETTINGS_LOCAL_PATH | No | Path to Claude local settings file. | |
| LLM_GATEWAY_APPROVAL_POLICY | No | Default approval policy (strict, balanced, permissive) | |
| LLM_GATEWAY_DEDUP_WINDOW_MS | No | Override dedupWindowMs for async job deduplication. | |
| LLM_GATEWAY_JOB_RETENTION_DAYS | No | Override retentionDays for job persistence. | |
| LLM_GATEWAY_ACKNOWLEDGE_EPHEMERAL | No | Set to 1/true/yes to acknowledge ephemeral backend for async tools. | |
| LLM_GATEWAY_DISABLE_MODEL_DISCOVERY | No | Set to 1 to disable local model-history discovery. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| review_changes | Capture one complete, immutable Git evidence artifact, fence it as untrusted data, and start independent read-only provider reviews. Includes committed, staged, unstaged, and untracked changes without truncation. |
| validate_with_models | Ask two or more provider CLIs to independently validate a question. Starts validation jobs — poll with job_status, collect with job_result (not llm_job_*). |
| second_opinion | Ask one provider CLI to review an answer (starts a validation job; poll job_status, collect job_result). |
| compare_answers | Summarize agreement/differences between caller-provided answers LOCALLY — does not call any provider. |
| red_team_review | Challenge a plan, answer, or document for risks and failure modes via provider CLIs (starts validation jobs). |
| consensus_check | Ask provider CLIs whether they agree or disagree with a claim (starts validation jobs). |
| ask_model | Ask one provider CLI a question through the simplified validation surface (starts a validation job). |
| synthesize_validation | Run an explicit judge model over validation results. General validation uses caller-supplied terminal results; review_changes rebuilds its question and results from the owned durable run. |
| list_available_models | List models and capabilities for every available provider CLI (takes no arguments; complements per-provider list_models). |
| job_status | Check a VALIDATION job's status (jobs started by validate_with_models/ask_model/etc.) — distinct from llm_job_status, which tracks provider request jobs. |
| job_result | Collect a VALIDATION job's normalized provider output — distinct from llm_job_result, which returns raw provider request job output. |
| validation_receipt | Retrieve the canonically hashed immutable receipt of a terminal cross-LLM validation run by validationId. Returns minted | pending | expired_unminted (no receipt exists and none can be minted) | verification_failed (a stored receipt does not verify against its run) | not_found (own-or-not-found). |
| workspace_list | List registered workspace aliases for remote HTTP/OAuth provider calls. Does not browse files. Stdio/local callers should not use workspace_* tools to fix provider path access; pass local workingDir/addDir/includeDirs directly. |
| workspace_getA | Inspect a registered remote HTTP/OAuth workspace alias. Does not list files. Not needed for stdio/local provider calls; do not use workspace_* tools to fix local path access. |
| workspace_create | Create a remote HTTP/OAuth workspace alias by creating a new local folder or git repo under a configured allowed root. Not for stdio/local provider path access. Requires LLM_GATEWAY_WORKSPACE_ADMIN=1 and OAuth scope workspace:admin. |
| workspace_register_existing_repo | Register an existing local Git repo as a remote HTTP/OAuth workspace alias. Not for stdio/local provider path access. Requires LLM_GATEWAY_WORKSPACE_ADMIN=1 and OAuth scope workspace:admin. |
| config_init | Initialize or clone the local Personal Agent Config baseline. This never activates a release by itself. |
| config_publish | Push the clean local Personal Agent Config baseline to its configured Git upstream without force-pushing. |
| config_syncA | Synchronize, verify, compile, and atomically activate a Personal Agent Config release. It never pushes. |
| config_statusA | Show Personal Agent Config state without exposing baseline paths or local machine binding values. |
| config_rollback | Atomically activate an already verified retained Personal Agent Config release. |
| config_ack_stale | Acknowledge the current stale Personal Agent Config release for at most 24 hours. |
| config_recover_kit_attemptA | Fence and release one exact unadmitted durable Kit attempt after the previous gateway process has been stopped. Copy the execution and attempt identity from local session_get output. This action is local-only and cannot recover an existing durable job. |
| explain_effective_configB | Explain the selected Personal Agent Config release and context provenance without returning local paths or instruction text. |
| provider_admin_list | List provider CLI admin operations (auth status, model list, mcp list, plugin list, doctor, etc.) available on the installed CLIs, projected from runtime discovery. Read-only. |
| provider_admin_run | Execute a READ-ONLY provider CLI admin operation (from provider_admin_list) and return redacted output. Rejects mutating operations. |
| provider_admin_mutate | Execute a MUTATING provider CLI admin operation (mcp add/remove, login/logout, plugin install/remove, session delete/archive, ...). Disabled unless [admin] allow_mutating_cli_admin_ops=true; routed through approval and audited. |
| claude_request | Run a Claude Code CLI request synchronously (when async jobs are enabled, auto-defers to a pollable job past the sync deadline; otherwise runs to completion). Requires exactly one of prompt or promptParts. |
| codex_request | Run an OpenAI Codex CLI request synchronously (when async jobs are enabled, auto-defers to a pollable job past the sync deadline; otherwise runs to completion). Requires exactly one of prompt or promptParts. |
| codex_fork_session | Fork an existing Codex session into a new branch (codex fork <ID|--last>) without mutating the original. This prompt remains argv-bound and rejects oversized UTF-8 input as non-retryable input_too_large. |
| gemini_request | Run a Google Antigravity CLI ( |
| grok_request | Run an xAI Grok CLI request synchronously (when async jobs are enabled, auto-defers to a pollable job past the sync deadline; otherwise runs to completion). Requires exactly one of prompt or promptParts. |
| devin_request | Run a Cognition Devin CLI request synchronously (auto-defers to a pollable job past the sync deadline when async jobs are enabled; otherwise runs to completion). Headless print mode ( |
| cursor_request | Run a Cursor Agent request synchronously (auto-defers to a pollable job past the sync deadline when async jobs are enabled; otherwise runs to completion). Default |
| mistral_request | Run a Mistral Vibe CLI request synchronously (when async jobs are enabled, auto-defers to a pollable job past the sync deadline; otherwise runs to completion). Requires exactly one of prompt or promptParts. Defaults to --agent accept-edits (auto-accepts file edits; dangerous ops such as shell stay gated). |
| claude_request_async | Start a Claude Code CLI request as a durable background job. Poll with llm_job_status, collect with llm_job_result. |
| codex_request_async | Start an OpenAI Codex CLI request as a durable background job. Poll with llm_job_status, collect with llm_job_result. |
| gemini_request_async | Start a Google Antigravity CLI ( |
| grok_request_async | Start an xAI Grok CLI request as a durable background job. Poll with llm_job_status, collect with llm_job_result. |
| devin_request_async | Start a Cognition Devin CLI request as a durable background job. Poll with llm_job_status, collect with llm_job_result. |
| cursor_request_async | Start a Cursor Agent CLI request as a durable background job. Poll with llm_job_status, collect with llm_job_result. |
| mistral_request_async | Start a Mistral Vibe CLI request as a durable background job. Poll with llm_job_status, collect with llm_job_result. |
| llm_job_status | Check lifecycle status and bounded privacy-safe normalized progress for a gateway async or deferred-sync job by jobId. |
| llm_job_watch | Wait briefly for privacy-safe normalized progress on an owned async job. When the MCP request carries a progress token, notifications are emitted only while this watch request remains active. |
| llm_job_resultA | Retrieve captured stdout/stderr for a gateway async or deferred-sync job by jobId. Use rawOutput:true with independent stream offsets for resumable pages. |
| llm_job_cancelA | Cancel a running gateway async or deferred-sync job by jobId. |
| llm_request_result | Read back any persisted request (sync or async) from the flight recorder by correlationId, including prompt and response. |
| llm_process_health | Report gateway process health: async-job manager state plus the resolved persistence configuration and paths. |
| approval_list | List recent MCP-managed approval decisions recorded by the gateway (approvalStrategy: mcp_managed). |
| list_models | List models, aliases, and defaults for one provider (claude|codex|gemini|grok|mistral|devin|cursor, or an enabled API provider name), or omit cli to list all providers. API providers are returned under an |
| provider_tool_capabilitiesA | Report provider tool/feature capabilities and discovered local skill/tool integrations for claude|codex|gemini|grok|mistral|devin|cursor|grok_api, or an enabled API provider name. |
| cli_versions | Report installed provider CLI versions, availability, and login status for all registered CLI providers (claude|codex|gemini|grok|mistral|devin|cursor) or one. |
| upstream_contracts | Return the gateway's declared provider CLI contracts; with probeInstalled true, diff against installed --help surfaces to detect flag drift. |
| provider_subcommands_list | Return a compact, filterable read-only catalog of declared provider CLI subcommands without flags or raw help. |
| provider_subcommand_contract | Return the detailed read-only contract for exactly one declared provider CLI subcommand. |
| provider_subcommand_drift | Probe declared provider subcommand --help surfaces and return compact drift rows without raw help output. |
| cli_upgrade | Plan (dryRun, default true) or execute an upgrade for one provider CLI using its native update mechanism. |
| session_create | Create a gateway session record for a provider. NOTE: this is gateway bookkeeping (a plain UUID), not a provider-native session; Codex resume needs a real Codex UUID. |
| session_list | List gateway session records and the active session per provider, optionally filtered by provider. |
| session_set_active | Set or clear the active session for a provider; the active session is used when a request omits sessionId. |
| session_delete | Delete a gateway session record by ID (also removes any gateway-owned worktree attached to it). |
| session_get | Get one gateway session record by session ID, including recent request history when available. |
| session_clear_allA | Delete all gateway session records, optionally scoped to one provider. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| skill-async-job-orchestration | Manage long-running async LLM jobs across Claude, Codex, Gemini, Grok, Mistral, Devin, and Cursor. Use for parallel or non-blocking execution. Covers backend-qualified durability, cache-aware `promptParts`, `cache-state://` MCP resources, and the Claude `cache_ttl_expiring_soon` warning. |
| skill-implement-review-fix | Implement a change, obtain complete evidence-backed review through the local stdio gateway, fix findings, and repeat without arbitrary review limits. Use for features, bugs, or refactoring. |
| skill-least-cost-routing | Route a model-agnostic request to the cheapest capable (provider, model) via route_request, subject to a quality-tier floor and a hard budget cap. Use when you do not care WHICH model runs a task, only that it is cheap enough and good enough. |
| skill-multi-llm-review | Run complete, evidence-backed code reviews through the local stdio gateway across the seven canonical CLI providers: Claude, Codex, Gemini, Grok, Mistral, Devin, and Cursor. Use for quality, security, correctness, or release validation that requires independent reviewers. |
| skill-personal-agent-config-kit | Synchronize a single developer's verified agent instructions and bounded preferences across local workstations and repositories. Use when setting up, publishing, syncing, inspecting, rolling back, or recovering Personal Agent Config Kit state. |
| skill-provider-claude | Track and maintain the upstream Claude Code CLI contract. Use when Anthropic ships a Claude Code release, when a `claude` flag/output/permission/subcommand behaviour changes, or when an upstream scan flags drift. Process guidance only; `src/upstream-contracts.ts` is the mechanical source of truth. |
| skill-provider-codex | Track and maintain the upstream OpenAI Codex CLI contract. Use when OpenAI ships a Codex release, when a `codex exec` flag/sandbox/approval/resume/subcommand behaviour changes, or when an upstream scan flags drift. Process guidance only; `src/upstream-contracts.ts` is the mechanical source of truth. |
| skill-provider-cursor | Track and maintain the upstream Cursor Agent CLI contract. Use when Cursor ships a CLI release, when a `cursor-agent` flag, execution mode, session command, ACP entrypoint, or subcommand changes, or when an upstream scan flags drift. Process guidance only: `src/upstream-contracts.ts` is the mechanical source of truth. |
| skill-provider-devin | Track and maintain the upstream Devin CLI contract. Use when Devin ships a CLI release, when a `devin` flag, permission mode, ACP entrypoint, or subcommand changes, or when an upstream scan flags drift. Process guidance only: `src/upstream-contracts.ts` is the mechanical source of truth. |
| skill-provider-gemini | Track and maintain the gateway's Gemini-compatible Google Antigravity CLI contract. Use when Google ships an Antigravity CLI release, when an `agy` flag/permission/session/subcommand behaviour changes, or when an upstream scan flags drift. Process guidance only; `src/upstream-contracts.ts` is the mechanical source of truth. |
| skill-provider-grok | Track and maintain the upstream xAI Grok CLI contract. Use when xAI ships a Grok CLI release, when a `grok` flag/permission-mode/sandbox/output-format/resume/subcommand behaviour changes, or when an upstream scan flags drift. Process guidance only; `src/upstream-contracts.ts` is the mechanical source of truth. |
| skill-provider-mistral | Track and maintain the upstream Mistral Vibe CLI contract. Use when Mistral ships a Vibe release, when a `vibe` flag/agent-mode/output-format/session-logging/env-model/subcommand behaviour changes, or when an upstream scan flags drift. Process guidance only; `src/upstream-contracts.ts` is the mechanical source of truth. |
| skill-public-demo-session | Prepare and drive clean public llm-cli-gateway demo sessions for recordings, README demos, screenshots, or transcripts. Use when the user needs a redacted path, compact Codex output, direct provider calls, or a demo-safe Codex environment. |
| skill-retrospective-walk | Walk a human or agent through a diff, worktree, commit range, gateway job, or episode reference as a structured retrospective. Use after implement-review-fix or multi-LLM review cycles, when reviewing prior jobs or uncommitted work, or when durable evidence is needed for what changed, why it changed, who/when contributed, and captured human or model comments. |
| skill-secure-orchestration | Orchestrate security-sensitive LLM work with the gateway's Claude-managed approval boundary, provider-native legacy controls, evidence-aware auditing, and complete no-limit review handling. |
| skill-session-workflow | Manage gateway bookkeeping and provider-native conversation continuity across Claude, Codex, Gemini, Grok, Mistral, Devin, and Cursor. Use for multi-turn work, session inspection, and safe resume decisions. |
| all-sessions | All conversation sessions across CLIs |
| claude-sessions | Anthropic Claude Code conversation sessions |
| claude-models | Anthropic Claude Code models and capabilities |
| codex-sessions | OpenAI Codex CLI conversation sessions |
| codex-models | OpenAI Codex CLI models and capabilities |
| gemini-sessions | Google Antigravity CLI conversation sessions |
| gemini-models | Google Antigravity CLI models and capabilities |
| grok-sessions | xAI Grok Build conversation sessions |
| grok-models | xAI Grok Build models and capabilities |
| mistral-sessions | Mistral Vibe conversation sessions |
| mistral-models | Mistral Vibe models and capabilities |
| devin-sessions | Cognition Devin CLI conversation sessions |
| devin-models | Cognition Devin CLI models and capabilities |
| cursor-sessions | Cursor Agent CLI conversation sessions |
| cursor-models | Cursor Agent CLI models and capabilities |
| performance-metrics | Request counts, latency, success/failure rates |
| cache-state-global | Aggregate cache hit/miss/savings across all CLIs in the flight recorder. Tokens/hashes only — no prompt text. |
| provider-subcommands-catalog | Compact read-only catalog of declared provider CLI subcommands |
| provider-tools-catalog | Read-only catalog of gateway tool controls and discovered provider skills |
| grok-provider-acp | Native ACP entrypoint, negotiated capabilities, supported session methods, and host-service policy for xAI Grok Build |
| mistral-provider-acp | Native ACP entrypoint, negotiated capabilities, supported session methods, and host-service policy for Mistral Vibe |
| devin-provider-acp | Native ACP entrypoint, negotiated capabilities, supported session methods, and host-service policy for Cognition Devin CLI |
| cursor-provider-acp | Native ACP entrypoint, negotiated capabilities, supported session methods, and host-service policy for Cursor Agent CLI |
| process-health | Async job health (CPU, memory, zombie detection) |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/verivus-oss/llm-cli-gateway'
If you have feedback or need assistance with the MCP directory API, please join our Discord server