Gemini CLI
Status: 🟡 Documented, not yet verified end-to-end Promote to ✅ once a maintainer has walked the Phase 5.5 loop with this client.
Topology
Gemini CLI is Topology B — runs on the user's host alongside a local helmdeck stack. Connection options:
- streamable-http via
httpUrl(recommended, since T302a) — Gemini CLI connects directly tohttp://localhost:3000/api/v1/mcp/ssewith no bridge subprocess. - stdio bridge via
command(universal fallback) — Gemini CLI spawnshelmdeck-mcp.
Source: https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md
Prerequisites
- Node.js ≥ 18
- A running helmdeck stack
- Gemini CLI installed
- A Gemini API key from https://aistudio.google.com/apikey
- Helmdeck JWT from the API Tokens panel
1. Install Gemini CLI
npm install -g @google/gemini-cli
# Or via Homebrew
brew install gemini-cli
# Or run without installing
npx @google/gemini-cli
Set the API key:
export GEMINI_API_KEY="<your-key>"
2. Configure helmdeck as an MCP server
Edit ~/.gemini/settings.json and add an entry under mcpServers. Pick one of the two transports.
2a. Streamable HTTP (recommended)
{
"mcpServers": {
"helmdeck": {
"httpUrl": "http://localhost:3000/api/v1/mcp/sse",
"headers": {
"Authorization": "Bearer <your-jwt>"
}
}
}
}
2b. Stdio bridge (fallback)
brew install tosin2013/helmdeck/helmdeck-mcp
{
"mcpServers": {
"helmdeck": {
"command": "helmdeck-mcp",
"env": {
"HELMDECK_URL": "http://localhost:3000",
"HELMDECK_TOKEN": "<your-jwt>"
}
}
}
}
Run gemini and the helmdeck packs appear in the tool catalog.
3. (LLM gateway) — not supported
Gemini CLI is hard-wired to Google's Gemini API and Vertex AI. There is no documented escape hatch for an OpenAI-compatible base URL. Helmdeck-as-LLM-gateway is not applicable — Gemini CLI will always call Google directly, and helmdeck only sees the MCP tool calls.
4. Walk the Phase 5.5 code-edit loop
Prompt Gemini CLI:
Use the helmdeck packs to:
repo.fetchgit@github.com:<me>/<fixture-repo>.gitusing vault credentialgh-deploy-key.fs.listthe clone for*.mdfiles.fs.readthe README and propose a one-line edit.fs.patchto apply the edit.cmd.rungo test ./...in the clone.git.commitwith messagechore: helmdeck integration smoke.repo.pushback toorigin.
Pass criteria:
- New commit lands on the remote branch.
- Helmdeck Audit Logs panel shows one entry per pack call.
- SSH private key never appears in the Gemini CLI session output.
Troubleshooting
tools/listempty — verify connectivity:curl -H "Authorization: Bearer $JWT" http://localhost:3000/api/v1/mcp/sseshould return the SSE handshake frame within 1s.401 unauthorized— JWT expired or scoped wrong. Mint a new one.- Stdio path:
helmdeck-mcp: command not found— bridge not onPATH. Use the absolute path in thecommandfield.