gemini-cli-mcp-slim
gemini-cli-mcp-slim
A thin, auditable MCP server wrapping the Gemini CLI.
Why
Existing Gemini MCP servers tend to either hide the underlying CLI behind opaque parameters or hard-code the supported flags so new gemini CLI options require code changes. This project takes a different approach:
Single file, ~290 lines — auditable in one sitting
One third-party dependency (
mcp) — minimal supply-chain surfaceForward-compatible — any new or uncommon gemini CLI flag is reachable via
extra_argswithout touching this serverConfigurable binary path —
$GEMINI_CMDlets you swap or wrap the gemini binaryWorkspace-aware — first-class
include_directoriesso you can analyze multiple repositories from one invocationTransparent — every invocation logs the exact argv to stderr
Installation
Requires the gemini CLI to be installed and on $PATH (or pointed to via $GEMINI_CMD).
# Run directly without installing
uvx gemini-cli-mcp-slim
# Install from PyPI
pip install gemini-cli-mcp-slim
# Run from GitHub HEAD
uvx --from git+https://github.com/tksfjt1024/gemini-cli-mcp-slim gemini-cli-mcp-slimUsage as an MCP server
Claude Code
claude mcp add gemini-cli-mcp-slim uvx gemini-cli-mcp-slimOr manually in ~/.claude.json:
{
"mcpServers": {
"gemini-cli-mcp-slim": {
"type": "stdio",
"command": "uvx",
"args": ["gemini-cli-mcp-slim"]
}
}
}Other MCP clients
Any MCP-compatible client can launch the server via stdio:
uvx gemini-cli-mcp-slimTools
consult_gemini
Run a single Gemini CLI invocation with full forward-compatibility.
Parameter | Type | Description |
| string | Prompt sent verbatim to the gemini CLI |
| string | Working directory (gemini cwd, defines the default workspace root) |
| string | Model alias ( |
| enum |
|
| string[] | Extra workspace directories (mapped to gemini |
| bool | Pass |
| bool | Pass |
| string[] | Raw CLI flags appended verbatim. Use to access new/uncommon gemini flags |
| object | Extra environment variables for the gemini subprocess |
| int | Subprocess timeout in seconds (default 600) |
consult_gemini_with_files
Same parameters as consult_gemini plus a files: string[] parameter. File paths are appended to the prompt as @path tokens (gemini's file reference syntax). Absolute paths inside directory are converted to relative @-paths.
web_search
Convenience wrapper that prepends a "use your built-in web search" instruction to the query.
Configuration
Environment variable | Default | Purpose |
|
| Path to the gemini CLI binary |
|
| Default subprocess timeout in seconds |
|
| Logging level for stderr diagnostics |
Cross-repository analysis example
The killer feature: analyze multiple repositories from a single MCP invocation.
{
"name": "consult_gemini",
"arguments": {
"query": "Compare the API surface between these services",
"directory": "/path/to/service-a",
"include_directories": [
"/path/to/service-b",
"/path/to/service-c"
],
"model": "flash",
"approval_mode": "plan"
}
}This launches gemini with --include-directories=/path/to/service-b,/path/to/service-c, giving the model read access to all three workspaces in one session.
Forward-compatibility example
If a future gemini CLI release adds a new flag (say --super-mode), you can use it immediately without updating this server:
{
"name": "consult_gemini",
"arguments": {
"query": "...",
"directory": "...",
"extra_args": ["--super-mode", "--some-other-new-flag"]
}
}Comparison with alternatives
Project | Lines | Deps |
|
|
gemini-cli-mcp-slim (this) | ~290 | 1 ( | yes | yes |
eLyiN/gemini-bridge | ~400 | 1 ( | no | no |
jamubc/gemini-mcp-tool | (TS) | many | no | partial |
Development
# Install dev dependencies
pip install -e ".[test,dev]"
# Lint
ruff check .
# Test
pytestLicense
MIT © tksfjt1024
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/tksfjt1024/gemini-cli-mcp-slim'
If you have feedback or need assistance with the MCP directory API, please join our Discord server