Gemini MCP Server for Claude Desktop

Integrations

  • Provides image generation capabilities using Google's Gemini AI models with customizable parameters like style and temperature

Gemini MCP Server for Claude Desktop

A Model Context Protocol (MCP) server that enables Claude Desktop to generate images using Google's Gemini AI models.

🌟 Features

  • Generate images directly from Claude Desktop using Google's Gemini models
  • Easy setup wizard for configuration
  • Customizable image generation parameters
  • Integration with Claude Desktop's MCP server system
  • Detailed logging and debugging capabilities

📋 Requirements

  • Node.js 16.x or higher
  • Claude Desktop application
  • Google Gemini API key (Get one here)

🚀 Installation

npm install -g gemini-mcp-server # Run the setup wizard npx gemini-mcp-setup

Local Installation

# Create a directory for the server mkdir gemini-mcp-server cd gemini-mcp-server # Install locally npm install gemini-mcp-server # Run the setup wizard npx gemini-mcp-setup

⚙️ Setup

The setup wizard will guide you through the configuration process:

  1. Enter your Google Gemini API key
  2. Specify the directory for saving generated images
  3. Configure logging and model settings
  4. Automatically create a wrapper script for Claude Desktop
  5. Update your Claude Desktop configuration

If you prefer manual setup, see the Manual Configuration section below.

🎨 Using the Gemini MCP Server

Once installed and configured, restart Claude Desktop to enable the Gemini MCP server. Then:

  1. Start a conversation with Claude
  2. Ask Claude to generate an image for you, for example:
    • "Generate an image of a mountain landscape at sunset"
    • "Create a picture of a futuristic city with flying cars"
    • "Make an illustration of a cat playing piano"

Claude will call the Gemini API to generate the image and provide you with the path to the saved image file.

Advanced Options

You can customize the image generation with additional parameters:

  • Style: Specify a style like "realistic", "artistic", "minimalistic", etc.
  • Temperature: Control the creativity/randomness of the generation (0.0-1.0)

Example: "Generate an image of a cyberpunk city with neon lights in a realistic style with temperature 0.7"

🔧 Manual Configuration

If you prefer not to use the setup wizard, follow these steps:

1. Create Configuration File

Create a JSON configuration file with your settings:

{ "apiKey": "YOUR_GEMINI_API_KEY_HERE", "outputDir": "/path/to/your/output/directory", "debug": true, "modelOptions": { "model": "gemini-2.0-flash-exp", "temperature": 0.4 } }

2. Create Wrapper Script

Create a bash script to run the server:

#!/bin/bash # Set environment variables export GEMINI_API_KEY="YOUR_GEMINI_API_KEY_HERE" export OUTPUT_DIR="/path/to/your/output/directory" export DEBUG="true" # Execute the server exec "$(which node)" "$(npm root -g)/gemini-mcp-server/bin/gemini-mcp-server.js"

Make the script executable:

chmod +x gemini-mcp-wrapper.sh

3. Update Claude Desktop Configuration

Edit your ~/.config/claude/claude_desktop_config.json file to add the Gemini MCP server:

{ "mcpServers": { "gemini-image": { "command": "/bin/bash", "args": [ "-c", "/path/to/your/gemini-mcp-wrapper.sh" ], "env": { "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY_HERE", "DEBUG": "true" } } } }

📚 API Documentation

Command Line Interface

gemini-mcp-server [options]

Options:

  • -k, --api-key <key>: Google Gemini API key
  • -o, --output-dir <dir>: Directory to save generated images
  • -d, --debug: Enable debug logging
  • -c, --config <path>: Path to custom configuration file
  • -r, --reset-config: Reset configuration to defaults
  • -v, --version: Display version information

Environment Variables

  • GEMINI_API_KEY: Your Google Gemini API key
  • OUTPUT_DIR: Directory to save generated images
  • DEBUG: Enable debug logging (true or false)
  • LOG_LEVEL: Set log level (ERROR, WARN, INFO, or DEBUG)
  • GEMINI_LOG_FILE: Custom log file path

Configuration Options

OptionDescriptionDefault
apiKeyGoogle Gemini API key(required)
outputDirDirectory to save generated images~/Claude/gemini-images
debugEnable debug loggingfalse
modelOptions.modelGemini model to usegemini-2.0-flash-exp
modelOptions.temperatureControl creativity/randomness0.4
modelOptions.topKTop-k sampling parameter32
modelOptions.topPTop-p sampling parameter1
modelOptions.maxOutputTokensMaximum output tokens8192

🔍 Troubleshooting

Common Issues

Server doesn't start or Claude can't connect to it

  1. Check the log file at ~/Claude/logs/gemini-image-mcp.log
  2. Verify your API key is correct
  3. Ensure all directories exist and have proper permissions
  4. Restart Claude Desktop

Images aren't being generated

  1. Verify your Google Gemini API key has the correct permissions
  2. Check if the output directory exists and is writable
  3. Examine the logs for specific error messages
  4. Try a different prompt or model

Error: "Method not found"

This usually means Claude is trying to call a method that the MCP server doesn't support. Check the logs to see what method was requested.

Debug Mode

Enable debug mode for more detailed logs:

npx gemini-mcp-server --debug

Or set the environment variable:

export DEBUG=true npx gemini-mcp-server

📝 License

MIT

🙏 Acknowledgements

ID: 4t9hlu4jo3