Skip to main content
Glama

gemini-cli-mcp

npm version npm downloads license node GitHub stars

中文文档

A secure MCP server that wraps Google's Gemini CLI. It lets Claude Code (or any MCP client) call Gemini models using your local OAuth session — no API key required.

Highlights

  • Securespawn(shell:false) on Unix; controlled shell:true + arg escaping on Windows. No command injection.

  • Cross-platform — macOS, Linux, Windows. Auto-resolves .cmd wrappers and forces UTF-8.

  • Activity-based timeout — idle timer resets on each output chunk. Long thinking won't be killed; stuck 429 retries will.

  • Low token overhead — replaces Gemini's ~8 800-token default system prompt with a minimal one (~50 tokens).

  • Clean output — internally uses stream-json and parses structured responses. No stdout noise pollution.

  • 2 tools onlygemini_query + gemini_info. Minimal context-window footprint for the host AI.

Prerequisites

  1. Node.js >= 18Download

  2. Google Gemini CLI — installed globally and logged in:

npm install -g @google/gemini-cli
gemini   # run once — complete the Google OAuth login in your browser
  1. Verify it works before using this MCP server:

gemini -p "say hello" -o text
# Should print a response. If you see auth errors, re-run `gemini` to log in.

Install

npm install -g @xjoker/gemini-cli-mcp

# Register with Claude Code
claude mcp add gemini-cli -s user -- gemini-cli-mcp

From source

git clone https://github.com/xjoker/gemini-cli-mcp.git
cd gemini-cli-mcp
npm install && npm run build

claude mcp add gemini-cli -s user -- node $(pwd)/dist/index.js

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "gemini-cli": {
      "command": "gemini-cli-mcp"
    }
  }
}

Upgrade

npm update -g @xjoker/gemini-cli-mcp

Tools

gemini_query

Send a prompt to Gemini.

Parameter

Type

Required

Description

prompt

string

Yes

Prompt text. Use @file.ts to include local files.

model

string

No

Model name or alias (default: gemini-2.5-flash)

sandbox

boolean

No

Run in sandboxed environment

yolo

boolean

No

Auto-approve all tool actions

approval_mode

enum

No

default / auto_edit / yolo / plan

include_stats

boolean

No

Append token usage stats

include_directories

string[]

No

Extra workspace directories

cwd

string

No

Working directory for @file references

gemini_info

Diagnostics and metadata — most actions cost zero API calls.

Action

Description

API call?

ping

Test CLI connectivity

No

version

Get CLI version

No

list_models

Show available models and aliases

No

list_sessions

List past Gemini sessions

No

list_extensions

List installed Gemini extensions

No

Models

Model

Tier

Description

gemini-2.5-pro

stable

High reasoning & creativity

gemini-2.5-flash

stable

Fast, balanced (default)

gemini-2.5-flash-lite

stable

Fastest, lightest

gemini-3-pro-preview

preview

Gemini 3 Pro

gemini-3-flash-preview

preview

Gemini 3 Flash

gemini-3.1-pro-preview

preview

Gemini 3.1 Pro (rolling out)

gemini-3.1-flash-lite-preview

preview

Gemini 3.1 Flash Lite

Aliases: auto, pro, flash, flash-lite

Free tier quota: 60 RPM / 1 000 requests per day.

Environment Variables

Variable

Default

Description

GEMINI_MODEL

gemini-2.5-flash

Default model

GEMINI_STARTUP_TIMEOUT

15000

Phase 1 idle timeout (ms) — CLI startup and initial response

GEMINI_TIMEOUT

120000

Phase 2 idle timeout (ms) — thinking, resets on each output chunk

GEMINI_MAX_RESPONSE

100000

Max response chars before truncation

GEMINI_BIN

gemini

Path to Gemini CLI binary

GEMINI_SYSTEM_MD

(bundled minimal)

Path to custom system prompt, or "default" for Gemini built-in

Security

Platform

Strategy

Unix

child_process.spawn() with shell: false — user input never reaches a shell

Windows

shell: true (required for .cmd) with % -> %% and ! -> ^^! escaping

  • Zero usage of exec() / execSync() / template-string commands.

  • Verify: grep -rn "exec(" src/ returns nothing.

License

MIT

Install Server
A
security – no known vulnerabilities
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/xjoker/gemini-cli-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server