About Gemini MCP Rs
Gemini MCP Rs is an MCP server published by missdeer in the Developer Tools category: gemini-MCP-rs is an MCP server that encapsulates Google's Gemini CLI tool into a standard MCP protocol interface, enabling Claude Code to invoke Gemini for AI-assisted programming tasks. It has been installed 0 times through Conduid.
The repository has 10 stars and 2 forks, with the last commit 6 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.
Install
npx gemini-mcp-rsThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Gemini MCP Rs
Powered by Claude · Grounded in docs
Security checks
- ·README presentNot checked yet.
- ·License declaredNot checked yet.
- ·Tests presentNot checked yet.
- ·Dependencies pinnedNot checked yet.
- ·No dynamic code executionNot checked yet.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
gemini-mcp-rs
A high-performance Rust implementation of MCP (Model Context Protocol) server that wraps the Gemini CLI for AI-driven tasks.
Quick Start
The easiest way to use gemini-mcp-rs is via npx - no manual installation required:
npx @missdeer/gemini-mcp-rs
This command automatically installs the correct binary for your platform and runs it. To add it to Claude Code:
claude mcp add gemini-rs -s user --transport stdio -- npx @missdeer/gemini-mcp-rs
That's it! The MCP server is now available in Claude Code.
Features
- MCP Protocol Support: Implements the official Model Context Protocol using the Rust SDK
- Gemini Integration: Wraps the Gemini CLI to enable AI-driven tasks through MCP
- Session Management: Supports multi-turn conversations via session IDs
- Sandbox Safety: Configurable sandbox mode for isolated execution
- Async Runtime: Built on Tokio for efficient async I/O
- Cross-platform: Works on Windows, Linux, and macOS (x64 and arm64)
Prerequisites
- Rust 1.77.2+ (required for Windows batch file security fix, see CVE-2024-24576)
- Gemini CLI installed and configured
- Claude Code or another MCP client
Building
# Debug build
cargo build
# Release build
cargo build --release
Running
The server communicates via stdio transport:
cargo run
Or after building:
./target/release/gemini-mcp-rs
Command-Line Options
# Display help information
./target/release/gemini-mcp-rs --help
# Display version information
./target/release/gemini-mcp-rs --version
The --help flag provides comprehensive documentation including:
- Environment variables
- MCP client configuration examples
- All supported tool parameters
- GEMINI.md configuration file support
- Return structure format
- Best practices and security information
Installation
Option 1: NPX (Recommended)
Run directly using npx:
npx @missdeer/gemini-mcp-rs
npx handles everything automatically:
- Installs the platform-specific binary package
- Launches the MCP server on stdio transport
Or install globally:
npm install -g @missdeer/gemini-mcp-rs
Then add to your Claude MCP configuration:
claude mcp add gemini-rs -s user --transport stdio -- npx @missdeer/gemini-mcp-rs
Option 2: Quick Install (Linux/macOS)
Install the latest release with a single command:
curl -sSL https://raw.githubusercontent.com/missdeer/gemini-mcp-rs/master/scripts/install.sh | bash
Or install a specific version:
curl -sSL https://raw.githubusercontent.com/missdeer/gemini-mcp-rs/master/scripts/install.sh | bash -s v0.1.0
This script will:
- Detect your platform and architecture
- Download the appropriate binary from GitHub releases
- Install it to
~/.local/bin(or/usr/local/binif needed) - Automatically add it to your Claude MCP configuration
Option 3: Build from Source
git clone https://github.com/missdeer/gemini-mcp-rs.git
cd gemini-mcp-rs
cargo build --release
claude mcp add gemini-rs -s user --transport stdio -- $(pwd)/target/release/gemini-mcp-rs
Option 4: Install from Release
Download the appropriate binary for your platform from the releases page:
| Platform | Architecture | Asset |
|---|---|---|
| Linux | x64 | gemini-mcp-rs_Linux_x86_64.tar.gz |
| Linux | arm64 | gemini-mcp-rs_Linux_arm64.tar.gz |
| macOS | Universal (x64 + arm64) | gemini-mcp-rs_Darwin_universal.tar.gz |
| Windows | x64 | gemini-mcp-rs_Windows_x86_64.zip |
| Windows | arm64 | gemini-mcp-rs_Windows_arm64.zip |
Extract and add to your MCP configuration:
claude mcp add gemini-rs -s user --transport stdio -- /path/to/gemini-mcp-rs
Tool Usage
The server provides a single gemini tool with the following parameters:
Required Parameters
PROMPT(string): Instruction for the task to send to gemini
Optional Parameters
sandbox(bool): Run in sandbox mode. Defaults toFalseSESSION_ID(string): Resume the specified session of the gemini. Defaults to empty string, start a new sessionreturn_all_messages(bool): Return all messages (e.g. reasoning, tool calls, etc.) from the gemini session. Set toFalseby default, only the agent's final reply message is returnedmodel(string): The model to use for the gemini session. If not specified, usesGEMINI_FORCE_MODELenvironment variable or the Gemini CLI defaulttimeout_secs(int): Timeout in seconds for gemini execution (1-3600). Defaults toGEMINI_DEFAULT_TIMEOUTenvironment variable or 600 seconds (10 minutes)
Return Structure
Success:
{
"success": true,
"SESSION_ID": "session-uuid",
"agent_messages": "Gemini's reply content..."
}
With return_all_messages enabled:
{
"success": true,
"SESSION_ID": "session-uuid",
"agent_messages": "Gemini's reply content...",
"all_messages": [...]
}
Failure:
{
"success": false,
"error": "Error description"
}
Best Practices
- Always capture and reuse
SESSION_IDfor multi-turn interactions - Enable
sandboxmode when file modifications should be isolated - Use
return_all_messagesonly when detailed execution traces are necessary (increases payload size) - Only pass
modelwhen the user has explicitly requested a specific model
Configuration
Environment Variables
-
GEMINI_BIN: Override the Gemini CLI binary path. By default, the server usesgeminifrom your PATH. This is useful for:- Using a specific Gemini installation location
- Testing with a custom binary
- Development environments with multiple Gemini versions
Example:
export GEMINI_BIN=/usr/local/bin/gemini-custom cargo run -
GEMINI_DEFAULT_TIMEOUT: Default timeout in seconds for gemini execution (1-3600). If not set, defaults to 600 seconds (10 minutes). This can be overridden per-request using thetimeout_secsparameter.Example:
export GEMINI_DEFAULT_TIMEOUT=300 # 5 minutes cargo run -
GEMINI_FORCE_MODEL: Default model to use when nomodelparameter is provided in the request. This is overridden by explicitmodelparameters.Example:
export GEMINI_FORCE_MODEL=gemini-2.0-flash cargo run
Testing
# Run all tests
cargo test
# Run with output
cargo test -- --nocapture
# Test with a custom Gemini binary
GEMINI_BIN=/path/to/gemini cargo test
Architecture
The project follows a modular architecture:
src/main.rs: Entry point that parses CLI arguments and starts the MCP serversrc/lib.rs: Library root that exports modulessrc/server.rs: MCP server implementation and tool handlerssrc/gemini.rs: Gemini CLI execution and result parsing
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is dual-licensed:
Non-Commercial / Personal Use - GNU General Public License v3.0
Free for personal projects, educational purposes, open source projects, and non-commercial use. See LICENSE for the full GPLv3 license text.
Commercial / Workplace Use - Commercial License Required
If you use gemini-mcp-rs in a commercial environment, workplace, or for any commercial purpose, you must obtain a commercial license.
This includes but is not limited to:
- Using the software at work (any organization)
- Integrating into commercial products or services
- Using for client work or consulting
- Offering as part of a SaaS/cloud service
Contact: missdeer@gmail.com for commercial licensing inquiries.
See LICENSE-COMMERCIAL for more details.
Star History
README mirrored from the source repository yesterday. The original is authoritative.