PluginBench
MCP Server

io.github.qmediat/gemini-code-context-mcp MCP Server

io.github.qmediat/gemini-code-context-mcp

What is the io.github.qmediat/gemini-code-context-mcp MCP server?

Gemini 2M context cache for Claude Code — persistent; repeat queries ~8x faster, ~4x cheaper.

How to install io.github.qmediat/gemini-code-context-mcp

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • GEMINI_CREDENTIALS_PROFILE

    Profile name in ~/.config/qmediat/credentials (chmod 0600). Created by `npx @qmediat.io/gemini-code-context-mcp init`. Recommended; keeps your API key out of ~/.claude.json.

  • GEMINI_API_KEY
    secret

    Fallback Tier 3 auth. Your Gemini API key. Emits a warning at startup recommending you move it to the credentials profile via the init command.

  • GEMINI_USE_VERTEX

    Set to `true` to use Vertex AI backend via Application Default Credentials. Requires GOOGLE_CLOUD_PROJECT.

  • GOOGLE_CLOUD_PROJECT

    GCP project ID when using Vertex AI backend. Only read when GEMINI_USE_VERTEX=true.

  • GEMINI_DAILY_BUDGET_USD

    Hard daily USD cap enforced locally. Server refuses calls after the cap until UTC midnight. Unlimited if unset. Honoured by `ask`, `code`, and per-iteration by `ask_agentic`.

  • GEMINI_CODE_CONTEXT_DEFAULT_MODEL

    Model alias (`latest-pro`, `latest-pro-thinking`, `latest-flash`, `latest-lite`, `latest-vision`) or literal model ID. Default: `latest-pro`.

  • GEMINI_CODE_CONTEXT_CACHE_TTL_SECONDS

    Context Cache TTL in seconds. Default: 3600 (1 hour). Hot workspaces (<10 min since last use) auto-refresh via background watcher.

  • GEMINI_CODE_CONTEXT_LOG_LEVEL

    `debug` | `info` | `warn` | `error`. Default: `info`.

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "gemini-code-context-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@qmediat.io/gemini-code-context-mcp"
      ],
      "env": {
        "GEMINI_CREDENTIALS_PROFILE": "<YOUR_GEMINI_CREDENTIALS_PROFILE>",
        "GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
        "GEMINI_USE_VERTEX": "<YOUR_GEMINI_USE_VERTEX>",
        "GOOGLE_CLOUD_PROJECT": "<YOUR_GOOGLE_CLOUD_PROJECT>",
        "GEMINI_DAILY_BUDGET_USD": "<YOUR_GEMINI_DAILY_BUDGET_USD>",
        "GEMINI_CODE_CONTEXT_DEFAULT_MODEL": "<YOUR_GEMINI_CODE_CONTEXT_DEFAULT_MODEL>",
        "GEMINI_CODE_CONTEXT_CACHE_TTL_SECONDS": "<YOUR_GEMINI_CODE_CONTEXT_CACHE_TTL_SECONDS>",
        "GEMINI_CODE_CONTEXT_LOG_LEVEL": "<YOUR_GEMINI_CODE_CONTEXT_LOG_LEVEL>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "gemini-code-context-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@qmediat.io/gemini-code-context-mcp"
      ],
      "env": {
        "GEMINI_CREDENTIALS_PROFILE": "<YOUR_GEMINI_CREDENTIALS_PROFILE>",
        "GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
        "GEMINI_USE_VERTEX": "<YOUR_GEMINI_USE_VERTEX>",
        "GOOGLE_CLOUD_PROJECT": "<YOUR_GOOGLE_CLOUD_PROJECT>",
        "GEMINI_DAILY_BUDGET_USD": "<YOUR_GEMINI_DAILY_BUDGET_USD>",
        "GEMINI_CODE_CONTEXT_DEFAULT_MODEL": "<YOUR_GEMINI_CODE_CONTEXT_DEFAULT_MODEL>",
        "GEMINI_CODE_CONTEXT_CACHE_TTL_SECONDS": "<YOUR_GEMINI_CODE_CONTEXT_CACHE_TTL_SECONDS>",
        "GEMINI_CODE_CONTEXT_LOG_LEVEL": "<YOUR_GEMINI_CODE_CONTEXT_LOG_LEVEL>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "gemini-code-context-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@qmediat.io/gemini-code-context-mcp"
      ],
      "env": {
        "GEMINI_CREDENTIALS_PROFILE": "<YOUR_GEMINI_CREDENTIALS_PROFILE>",
        "GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
        "GEMINI_USE_VERTEX": "<YOUR_GEMINI_USE_VERTEX>",
        "GOOGLE_CLOUD_PROJECT": "<YOUR_GOOGLE_CLOUD_PROJECT>",
        "GEMINI_DAILY_BUDGET_USD": "<YOUR_GEMINI_DAILY_BUDGET_USD>",
        "GEMINI_CODE_CONTEXT_DEFAULT_MODEL": "<YOUR_GEMINI_CODE_CONTEXT_DEFAULT_MODEL>",
        "GEMINI_CODE_CONTEXT_CACHE_TTL_SECONDS": "<YOUR_GEMINI_CODE_CONTEXT_CACHE_TTL_SECONDS>",
        "GEMINI_CODE_CONTEXT_LOG_LEVEL": "<YOUR_GEMINI_CODE_CONTEXT_LOG_LEVEL>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "gemini-code-context-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@qmediat.io/gemini-code-context-mcp"
      ],
      "env": {
        "GEMINI_CREDENTIALS_PROFILE": "<YOUR_GEMINI_CREDENTIALS_PROFILE>",
        "GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
        "GEMINI_USE_VERTEX": "<YOUR_GEMINI_USE_VERTEX>",
        "GOOGLE_CLOUD_PROJECT": "<YOUR_GOOGLE_CLOUD_PROJECT>",
        "GEMINI_DAILY_BUDGET_USD": "<YOUR_GEMINI_DAILY_BUDGET_USD>",
        "GEMINI_CODE_CONTEXT_DEFAULT_MODEL": "<YOUR_GEMINI_CODE_CONTEXT_DEFAULT_MODEL>",
        "GEMINI_CODE_CONTEXT_CACHE_TTL_SECONDS": "<YOUR_GEMINI_CODE_CONTEXT_CACHE_TTL_SECONDS>",
        "GEMINI_CODE_CONTEXT_LOG_LEVEL": "<YOUR_GEMINI_CODE_CONTEXT_LOG_LEVEL>"
      }
    }
  }
}
Claude Code
claude mcp add gemini-code-context-mcp --env GEMINI_CREDENTIALS_PROFILE=<YOUR_GEMINI_CREDENTIALS_PROFILE> --env GEMINI_API_KEY=<YOUR_GEMINI_API_KEY> --env GEMINI_USE_VERTEX=<YOUR_GEMINI_USE_VERTEX> --env GOOGLE_CLOUD_PROJECT=<YOUR_GOOGLE_CLOUD_PROJECT> --env GEMINI_DAILY_BUDGET_USD=<YOUR_GEMINI_DAILY_BUDGET_USD> --env GEMINI_CODE_CONTEXT_DEFAULT_MODEL=<YOUR_GEMINI_CODE_CONTEXT_DEFAULT_MODEL> --env GEMINI_CODE_CONTEXT_CACHE_TTL_SECONDS=<YOUR_GEMINI_CODE_CONTEXT_CACHE_TTL_SECONDS> --env GEMINI_CODE_CONTEXT_LOG_LEVEL=<YOUR_GEMINI_CODE_CONTEXT_LOG_LEVEL> -- npx -y @qmediat.io/gemini-code-context-mcp

Related MCP servers

Ideogram V3 API — generate, edit, remix, reframe, replace background, upscale images

View repository →
io.github.qmediat/gemini-code-context-mcp MCP Server | PluginBench