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