4.2 KiB
Gemini CLI Integration Guide
Overview
Gemini CLI provides automatic MCP tool discovery and execution via natural language prompts. This is the recommended primary method for executing MCP tools.
Installation
npm install -g gemini-cli
Verify installation:
gemini --version
Configuration
Symlink Setup
Gemini CLI reads MCP servers from .gemini/settings.json. Create a symlink to .claude/.mcp.json:
# Create .gemini directory
mkdir -p .gemini
# Create symlink (Unix/Linux/macOS)
ln -sf .claude/.mcp.json .gemini/settings.json
# Create symlink (Windows - requires admin or developer mode)
mklink .gemini\settings.json .claude\.mcp.json
Security
Add to .gitignore:
.gemini/settings.json
This prevents committing sensitive API keys and server configurations.
Usage
Basic Syntax
gemini [flags] -p "<prompt>"
Essential Flags
-y: Skip confirmation prompts (auto-approve tool execution)-m <model>: Model selectiongemini-2.5-flash(fast, recommended for MCP)gemini-2.5-flash(balanced)gemini-pro(high quality)
-p "<prompt>": Task description
Examples
Screenshot Capture:
gemini -y -m gemini-2.5-flash -p "Take a screenshot of https://www.google.com.vn"
Memory Operations:
gemini -y -m gemini-2.5-flash -p "Remember that Alice is a React developer working on e-commerce projects"
Web Research:
gemini -y -m gemini-2.5-flash -p "Search for latest Next.js 15 features and summarize the top 3"
Multi-Tool Orchestration:
gemini -y -m gemini-2.5-flash -p "Search for Claude AI documentation, take a screenshot of the homepage, and save both to memory"
Browser Automation:
gemini -y -m gemini-2.5-flash -p "Navigate to https://example.com, click the signup button, and take a screenshot"
How It Works
- Configuration Loading: Reads
.gemini/settings.json(symlinked to.claude/.mcp.json) - Server Connection: Connects to all configured MCP servers
- Tool Discovery: Lists all available tools from servers
- Prompt Analysis: Gemini model analyzes the prompt
- Tool Selection: Automatically selects relevant tools
- Execution: Calls tools with appropriate parameters
- Result Synthesis: Combines tool outputs into coherent response
Advanced Configuration
Trusted Servers (Skip Confirmations)
Edit .claude/.mcp.json:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"],
"trust": true
}
}
}
With trust: true, the -y flag is unnecessary.
Tool Filtering
Limit tool exposure:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"],
"includeTools": ["navigate_page", "screenshot"],
"excludeTools": ["evaluate_js"]
}
}
}
Environment Variables
Use $VAR_NAME syntax for sensitive data:
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "$BRAVE_API_KEY"
}
}
}
}
Troubleshooting
Check MCP Status
gemini
> /mcp
Shows:
- Connected servers
- Available tools
- Configuration errors
Verify Symlink
# Unix/Linux/macOS
ls -la .gemini/settings.json
# Windows
dir .gemini\settings.json
Should show symlink pointing to .claude/.mcp.json.
Debug Mode
gemini --debug -p "Take a screenshot"
Shows detailed MCP communication logs.
Comparison with Alternatives
| Method | Speed | Flexibility | Setup | Best For |
|---|---|---|---|---|
| Gemini CLI | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | All tasks |
| Direct Scripts | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | Specific tools |
| mcp-manager | ⭐ | ⭐⭐ | ⭐⭐⭐ | Fallback |
Recommendation: Use Gemini CLI as primary method, fallback to scripts/subagent when unavailable.