image-gen3-google-mcp-server
Gemini Imagen 3.0 MCP Server is an MCP server implementation leveraging Google's Imagen 3.0 model via the Gemini API for generating high-quality images. It's built with TypeScript and supports integration with AI agent hosts like Claude Desktop, featuring automatic file management and HTML preview capabilities.
Gemini Imagen 3.0 MCP Server
A professional Model Context Protocol (MCP) server implementation that harnesses Google's Imagen 3.0 model through the Gemini API for high-quality image generation. Built with TypeScript and designed for seamless integration with Claude Desktop and other MCP-compatible hosts.
🌟 Features
- Leverage Google's state-of-the-art Imagen 3.0 model via Gemini API
- Generate up to 4 high-quality images per request
- Automatic file management with intelligent naming
- HTML preview generation with file:// protocol support
- Built on MCP protocol for AI agent compatibility
- TypeScript implementation with robust error handling
🚀 Quick Start
Prerequisites
- Node.js 18 or higher
- Google Gemini API key
- Claude Desktop or another MCP-compatible host
Installation
- Clone the repository:
git clone https://github.com/yourusername/gemini-imagen-mcp-server.git
cd gemini-imagen-mcp-server
- Install dependencies:
npm install
- Build the TypeScript code:
npm run build
⚙️ Configuration
- Configure Claude Desktop by adding to
claude_desktop_config.json
:
{
"mcpServers": {
"gemini-image-gen": {
"command": "node",
"args": ["./build/index.js"],
"cwd": "<path-to-project-directory>",
"env": {
"GEMINI_API_KEY": "your-gemini-api-key"
}
}
}
}
- Replace placeholders:
<path-to-project-directory>
: Your project pathyour-gemini-api-key
: Your Gemini API key
🛠️ Available Tools
1. generate_images
Generates images using Google's Imagen 3.0 model.
Parameters:
prompt
(required): Text description of the image to generatenumberOfImages
(optional): Number of images (1-4, default: 1)
File Management:
- Images are automatically saved in
G:\image-gen3-google-mcp-server\images
- Filenames follow the pattern:
{sanitized-prompt}-{timestamp}-{index}.png
- Timestamps ensure unique filenames
- Prompts are sanitized for safe filesystem usage
Example:
Generate an image of a futuristic city at night
2. create_image_html
Creates HTML preview tags for generated images.
Parameters:
imagePaths
(required): Array of image file pathswidth
(optional): Image width in pixels (default: 512)height
(optional): Image height in pixels (default: 512)
Returns HTML tags with absolute file:// URLs for local viewing.
Example:
Create HTML tags for the generated images with width=400
🔧 Development
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run tests (when available)
npm test
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
📝 Error Handling
The server implements two main error codes:
tool_not_found
(1): When the requested tool is not availableexecution_error
(2): When image generation or HTML creation fails
📄 License
MIT License - see the file for details.
✨ Author
Falah G. Salieh
- Copyright © 2025
- GitHub: @yourgithubhandle
- Email:
🙏 Acknowledgments
- Google Gemini API and Imagen 3.0 model
- Model Context Protocol (MCP) by Anthropic
- Claude Desktop team for MCP host implementation
📌 Tags
#MCP
#Gemini
#Imagen3
#AI
#ImageGeneration
#TypeScript
#NodeJS
#GoogleAI
#ClaudeDesktop
Made with ❤️ by Falah G. Salieh