Skip to content
VS Code

gemini mcp for VS Code

io.github.chrischall/gemini-mcp

Generate and edit images with Google Gemini (Nano Banana / Nano Banana Pro) image models.

client:VS Code transport:stdio runtime:npm

Install gemini mcp in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "gemini-api-key",
      "description": "GEMINI_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "gemini-image-model",
      "description": "GEMINI_IMAGE_MODEL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "gemini-output-dir",
      "description": "GEMINI_OUTPUT_DIR",
      "password": true
    },
    {
      "type": "promptString",
      "id": "gemini-input-dir",
      "description": "GEMINI_INPUT_DIR",
      "password": true
    },
    {
      "type": "promptString",
      "id": "gemini-upload-dir",
      "description": "GEMINI_UPLOAD_DIR",
      "password": true
    },
    {
      "type": "promptString",
      "id": "gemini-reference-dir",
      "description": "GEMINI_REFERENCE_DIR",
      "password": true
    },
    {
      "type": "promptString",
      "id": "gemini-timeout-ms",
      "description": "GEMINI_TIMEOUT_MS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "gemini-heartbeat-ms",
      "description": "GEMINI_HEARTBEAT_MS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "gemini-chain-retry-ms",
      "description": "GEMINI_CHAIN_RETRY_MS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "gemini-debug",
      "description": "GEMINI_DEBUG",
      "password": true
    },
    {
      "type": "promptString",
      "id": "gemini-rate-card",
      "description": "GEMINI_RATE_CARD",
      "password": true
    }
  ],
  "servers": {
    "gemini-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@chrischall/gemini-mcp"
      ],
      "env": {
        "GEMINI_API_KEY": "${input:gemini-api-key}",
        "GEMINI_IMAGE_MODEL": "${input:gemini-image-model}",
        "GEMINI_OUTPUT_DIR": "${input:gemini-output-dir}",
        "GEMINI_INPUT_DIR": "${input:gemini-input-dir}",
        "GEMINI_UPLOAD_DIR": "${input:gemini-upload-dir}",
        "GEMINI_REFERENCE_DIR": "${input:gemini-reference-dir}",
        "GEMINI_TIMEOUT_MS": "${input:gemini-timeout-ms}",
        "GEMINI_HEARTBEAT_MS": "${input:gemini-heartbeat-ms}",
        "GEMINI_CHAIN_RETRY_MS": "${input:gemini-chain-retry-ms}",
        "GEMINI_DEBUG": "${input:gemini-debug}",
        "GEMINI_RATE_CARD": "${input:gemini-rate-card}"
      }
    }
  }
}

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

gemini mcp in other clients