Skip to content
VS Code

ask llm for VS Code

io.github.lykhoyda/ask-llm

Unified MCP server for Gemini, Codex, Claude, Grok, Ollama, and Antigravity

client:VS Code transport:stdio runtime:npm

Install ask llm in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "xai-api-key",
      "description": "XAI_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ask-grok-harness",
      "description": "ASK_GROK_HARNESS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ask-grok-model",
      "description": "ASK_GROK_MODEL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ask-grok-reasoning-effort",
      "description": "ASK_GROK_REASONING_EFFORT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ask-grok-max-output-tokens",
      "description": "ASK_GROK_MAX_OUTPUT_TOKENS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ask-grok-timeout-ms",
      "description": "ASK_GROK_TIMEOUT_MS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "cursor-api-key",
      "description": "CURSOR_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ask-cursor-timeout-ms",
      "description": "ASK_CURSOR_TIMEOUT_MS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ask-claude-model",
      "description": "ASK_CLAUDE_MODEL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ask-claude-fallback-model",
      "description": "ASK_CLAUDE_FALLBACK_MODEL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ask-claude-timeout-ms",
      "description": "ASK_CLAUDE_TIMEOUT_MS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ollama-host",
      "description": "OLLAMA_HOST",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ask-antigravity-timeout-ms",
      "description": "ASK_ANTIGRAVITY_TIMEOUT_MS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ask-antigravity-sandbox",
      "description": "ASK_ANTIGRAVITY_SANDBOX",
      "password": true
    },
    {
      "type": "promptString",
      "id": "gmcpt-timeout-ms",
      "description": "GMCPT_TIMEOUT_MS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "gmcpt-log-level",
      "description": "GMCPT_LOG_LEVEL",
      "password": true
    }
  ],
  "servers": {
    "ask-llm": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@ask-llm/mcp"
      ],
      "env": {
        "XAI_API_KEY": "${input:xai-api-key}",
        "ASK_GROK_HARNESS": "${input:ask-grok-harness}",
        "ASK_GROK_MODEL": "${input:ask-grok-model}",
        "ASK_GROK_REASONING_EFFORT": "${input:ask-grok-reasoning-effort}",
        "ASK_GROK_MAX_OUTPUT_TOKENS": "${input:ask-grok-max-output-tokens}",
        "ASK_GROK_TIMEOUT_MS": "${input:ask-grok-timeout-ms}",
        "CURSOR_API_KEY": "${input:cursor-api-key}",
        "ASK_CURSOR_TIMEOUT_MS": "${input:ask-cursor-timeout-ms}",
        "ASK_CLAUDE_MODEL": "${input:ask-claude-model}",
        "ASK_CLAUDE_FALLBACK_MODEL": "${input:ask-claude-fallback-model}",
        "ASK_CLAUDE_TIMEOUT_MS": "${input:ask-claude-timeout-ms}",
        "OLLAMA_HOST": "${input:ollama-host}",
        "ASK_ANTIGRAVITY_TIMEOUT_MS": "${input:ask-antigravity-timeout-ms}",
        "ASK_ANTIGRAVITY_SANDBOX": "${input:ask-antigravity-sandbox}",
        "GMCPT_TIMEOUT_MS": "${input:gmcpt-timeout-ms}",
        "GMCPT_LOG_LEVEL": "${input:gmcpt-log-level}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

ask llm in other clients