Unified MCP server for Gemini, Codex, Claude, Grok, Ollama, and Antigravity
Connect Runs on your machine
claude mcp add ask-llm -e XAI_API_KEY=<XAI_API_KEY> -e ASK_GROK_HARNESS=<ASK_GROK_HARNESS> -e ASK_GROK_MODEL=<ASK_GROK_MODEL> -e ASK_GROK_REASONING_EFFORT=<ASK_GROK_REASONING_EFFORT> -e ASK_GROK_MAX_OUTPUT_TOKENS=<ASK_GROK_MAX_OUTPUT_TOKENS> -e ASK_GROK_TIMEOUT_MS=<ASK_GROK_TIMEOUT_MS> -e CURSOR_API_KEY=<CURSOR_API_KEY> -e ASK_CURSOR_TIMEOUT_MS=<ASK_CURSOR_TIMEOUT_MS> -e ASK_CLAUDE_MODEL=<ASK_CLAUDE_MODEL> -e ASK_CLAUDE_FALLBACK_MODEL=<ASK_CLAUDE_FALLBACK_MODEL> -e ASK_CLAUDE_TIMEOUT_MS=<ASK_CLAUDE_TIMEOUT_MS> -e OLLAMA_HOST=<OLLAMA_HOST> -e ASK_ANTIGRAVITY_TIMEOUT_MS=<ASK_ANTIGRAVITY_TIMEOUT_MS> -e ASK_ANTIGRAVITY_SANDBOX=<ASK_ANTIGRAVITY_SANDBOX> -e GMCPT_TIMEOUT_MS=<GMCPT_TIMEOUT_MS> -e GMCPT_LOG_LEVEL=<GMCPT_LOG_LEVEL> -- npx -y @ask-llm/[email protected]
{
"mcpServers": {
"ask-llm": {
"command": "npx",
"args": [
"-y",
"@ask-llm/[email protected]"
],
"env": {
"XAI_API_KEY": "<XAI_API_KEY>",
"ASK_GROK_HARNESS": "<ASK_GROK_HARNESS>",
"ASK_GROK_MODEL": "<ASK_GROK_MODEL>",
"ASK_GROK_REASONING_EFFORT": "<ASK_GROK_REASONING_EFFORT>",
"ASK_GROK_MAX_OUTPUT_TOKENS": "<ASK_GROK_MAX_OUTPUT_TOKENS>",
"ASK_GROK_TIMEOUT_MS": "<ASK_GROK_TIMEOUT_MS>",
"CURSOR_API_KEY": "<CURSOR_API_KEY>",
"ASK_CURSOR_TIMEOUT_MS": "<ASK_CURSOR_TIMEOUT_MS>",
"ASK_CLAUDE_MODEL": "<ASK_CLAUDE_MODEL>",
"ASK_CLAUDE_FALLBACK_MODEL": "<ASK_CLAUDE_FALLBACK_MODEL>",
"ASK_CLAUDE_TIMEOUT_MS": "<ASK_CLAUDE_TIMEOUT_MS>",
"OLLAMA_HOST": "<OLLAMA_HOST>",
"ASK_ANTIGRAVITY_TIMEOUT_MS": "<ASK_ANTIGRAVITY_TIMEOUT_MS>",
"ASK_ANTIGRAVITY_SANDBOX": "<ASK_ANTIGRAVITY_SANDBOX>",
"GMCPT_TIMEOUT_MS": "<GMCPT_TIMEOUT_MS>",
"GMCPT_LOG_LEVEL": "<GMCPT_LOG_LEVEL>"
}
}
}
}
{
"mcpServers": {
"ask-llm": {
"command": "npx",
"args": [
"-y",
"@ask-llm/[email protected]"
],
"env": {
"XAI_API_KEY": "<XAI_API_KEY>",
"ASK_GROK_HARNESS": "<ASK_GROK_HARNESS>",
"ASK_GROK_MODEL": "<ASK_GROK_MODEL>",
"ASK_GROK_REASONING_EFFORT": "<ASK_GROK_REASONING_EFFORT>",
"ASK_GROK_MAX_OUTPUT_TOKENS": "<ASK_GROK_MAX_OUTPUT_TOKENS>",
"ASK_GROK_TIMEOUT_MS": "<ASK_GROK_TIMEOUT_MS>",
"CURSOR_API_KEY": "<CURSOR_API_KEY>",
"ASK_CURSOR_TIMEOUT_MS": "<ASK_CURSOR_TIMEOUT_MS>",
"ASK_CLAUDE_MODEL": "<ASK_CLAUDE_MODEL>",
"ASK_CLAUDE_FALLBACK_MODEL": "<ASK_CLAUDE_FALLBACK_MODEL>",
"ASK_CLAUDE_TIMEOUT_MS": "<ASK_CLAUDE_TIMEOUT_MS>",
"OLLAMA_HOST": "<OLLAMA_HOST>",
"ASK_ANTIGRAVITY_TIMEOUT_MS": "<ASK_ANTIGRAVITY_TIMEOUT_MS>",
"ASK_ANTIGRAVITY_SANDBOX": "<ASK_ANTIGRAVITY_SANDBOX>",
"GMCPT_TIMEOUT_MS": "<GMCPT_TIMEOUT_MS>",
"GMCPT_LOG_LEVEL": "<GMCPT_LOG_LEVEL>"
}
}
}
}
{
"servers": {
"ask-llm": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@ask-llm/[email protected]"
],
"env": {
"XAI_API_KEY": "<XAI_API_KEY>",
"ASK_GROK_HARNESS": "<ASK_GROK_HARNESS>",
"ASK_GROK_MODEL": "<ASK_GROK_MODEL>",
"ASK_GROK_REASONING_EFFORT": "<ASK_GROK_REASONING_EFFORT>",
"ASK_GROK_MAX_OUTPUT_TOKENS": "<ASK_GROK_MAX_OUTPUT_TOKENS>",
"ASK_GROK_TIMEOUT_MS": "<ASK_GROK_TIMEOUT_MS>",
"CURSOR_API_KEY": "<CURSOR_API_KEY>",
"ASK_CURSOR_TIMEOUT_MS": "<ASK_CURSOR_TIMEOUT_MS>",
"ASK_CLAUDE_MODEL": "<ASK_CLAUDE_MODEL>",
"ASK_CLAUDE_FALLBACK_MODEL": "<ASK_CLAUDE_FALLBACK_MODEL>",
"ASK_CLAUDE_TIMEOUT_MS": "<ASK_CLAUDE_TIMEOUT_MS>",
"OLLAMA_HOST": "<OLLAMA_HOST>",
"ASK_ANTIGRAVITY_TIMEOUT_MS": "<ASK_ANTIGRAVITY_TIMEOUT_MS>",
"ASK_ANTIGRAVITY_SANDBOX": "<ASK_ANTIGRAVITY_SANDBOX>",
"GMCPT_TIMEOUT_MS": "<GMCPT_TIMEOUT_MS>",
"GMCPT_LOG_LEVEL": "<GMCPT_LOG_LEVEL>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
XAI_API_KEYOptional, secret | xAI API key for metered Grok requests; Ask LLM never enables billing or credits |
ASK_GROK_HARNESSOptional | Explicit Grok harness: xai-api (default) or grok-cli; no failover |
ASK_GROK_MODELOptional | Exact selected-harness model override (API default grok-4.7; CLI default grok-4.7; no fallback) |
ASK_GROK_REASONING_EFFORTOptional | Grok reasoning effort: low, medium, high, or xhigh (default: high) |
ASK_GROK_MAX_OUTPUT_TOKENSOptional | xAI API output-token ceiling to bound accidental spend (default: 16384) |
ASK_GROK_TIMEOUT_MSOptional | Timeout for xAI API requests in milliseconds (default: 600000) |
CURSOR_API_KEYOptional, secret | Optional Cursor CLI credential for ask-cursor-agent; alternative to agent login |
ASK_CURSOR_TIMEOUT_MSOptional | Timeout for model-neutral Cursor Agent harness calls (default: 600000) |
ASK_CLAUDE_MODELOptional | Default Claude model alias or full model name (default: opus) |
ASK_CLAUDE_FALLBACK_MODELOptional | Claude CLI fallback when Opus is overloaded or unavailable (default: sonnet) |
ASK_CLAUDE_TIMEOUT_MSOptional | Timeout for Claude CLI execution in milliseconds (default: 600000 = 10 minutes) |
OLLAMA_HOSTOptional | Ollama server address (default: http://localhost:11434) |
ASK_ANTIGRAVITY_TIMEOUT_MSOptional | Timeout for Antigravity (agy) execution in milliseconds (default: 300000 = 5 minutes) |
ASK_ANTIGRAVITY_SANDBOXOptional | Set to '0' to drop agy's --sandbox flag if it blocks --add-dir context reads (default: sandbox on) |
GMCPT_TIMEOUT_MSOptional | Timeout for CLI execution in milliseconds (default: 300000 = 5 minutes) |
GMCPT_LOG_LEVELOptional | Log verbosity: debug, info, warn, error (default: warn) |
Details
| Package | @ask-llm/[email protected] (NPM, stdio) |
| First published | 10 Nov 2026 |
| Last updated | 10 Nov 2026 |
| Registry name | io.github.Lykhoyda/ask-llm |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
