{"_id":"@aiondadotcom/mcp-gemini-image","_rev":"4-69af85d22c48aff0097e66aa2c3acdf0","name":"@aiondadotcom/mcp-gemini-image","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@aiondadotcom/mcp-gemini-image","version":"1.0.0","keywords":["mcp","google","gemini","imagen","image-generation","ai","typescript"],"author":"","license":"MIT","_id":"@aiondadotcom/mcp-gemini-image@1.0.0","maintainers":[{"name":"stephanferraro","email":"stephan.ferraro@aionda.com"}],"dist":{"shasum":"a277535557ec0740087c3611ce6fbbf0cb7e14a6","tarball":"https://registry.npmjs.org/@aiondadotcom/mcp-gemini-image/-/mcp-gemini-image-1.0.0.tgz","fileCount":48,"integrity":"sha512-xWyumJuhQW3kXmjXKLJdG40+QwuinTdEcNixUSLuEJMcclodFbfzUPvmhOzXFTfZm3w44r14zN7sX9FKlj2eLw==","signatures":[{"sig":"MEQCIEqCDFDqcYYfOyuMyhc79q7WOoQHZ2Pp6kCi6mDodal6AiAX+axWLkzBj8mcwxbjJaN0TAhrL09VO9aHz0zCZJOhJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":900514},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"2f5d500a784651e77c16d9f8c2e8fee64cd11a87","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","package":"npm run build && dxt pack","test:ci":"jest --coverage --ci --watchAll=false --passWithNoTests","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"stephanferraro","email":"stephan.ferraro@aionda.com"},"_npmVersion":"10.9.2","description":"MCP server for Google Gemini image generation with Imagen 4 support","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@google/generative-ai":"^0.21.0","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gemini-image_1.0.0_1752613281717_0.5696256846560426","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@aiondadotcom/mcp-gemini-image","version":"1.1.0","keywords":["mcp","google","gemini","imagen","image-generation","ai","typescript"],"author":"","license":"MIT","_id":"@aiondadotcom/mcp-gemini-image@1.1.0","maintainers":[{"name":"stephanferraro","email":"stephan.ferraro@aionda.com"}],"dist":{"shasum":"e905b0338945f7ae22bb79d5ae392bd760d799bd","tarball":"https://registry.npmjs.org/@aiondadotcom/mcp-gemini-image/-/mcp-gemini-image-1.1.0.tgz","fileCount":48,"integrity":"sha512-2E3uV5jLcW7caa8iKiHXTv+gQ/A9tbyt+edCdV+SIPjLZlTH82e782hBTtooXg2sRL52nY/uI5C7vtDwnafm9w==","signatures":[{"sig":"MEYCIQDBkp6I6Ugh9flbkCnHN6Y3LXUV9x+OL4t0ZDRe1yURagIhAPyHoInmoyXPpL+JVpBAVdVwdtcJebdh42JolI+o5eVw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":906755},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"778d8b77c4b28bcc1773611329df22b21363423f","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","package":"npm run build && dxt pack","test:ci":"jest --coverage --ci --watchAll=false --passWithNoTests","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"stephanferraro","email":"stephan.ferraro@aionda.com"},"_npmVersion":"10.9.2","description":"MCP server for Google Gemini image generation with Imagen 4 support","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@google/generative-ai":"^0.21.0","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gemini-image_1.1.0_1752614116142_0.13008276508534178","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@aiondadotcom/mcp-gemini-image","version":"1.1.1","keywords":["mcp","google","gemini","imagen","image-generation","ai","typescript"],"author":"","license":"MIT","_id":"@aiondadotcom/mcp-gemini-image@1.1.1","maintainers":[{"name":"stephanferraro","email":"stephan.ferraro@aionda.com"}],"dist":{"shasum":"215e4028336ddb6fc288f8b621beeeb693570730","tarball":"https://registry.npmjs.org/@aiondadotcom/mcp-gemini-image/-/mcp-gemini-image-1.1.1.tgz","fileCount":48,"integrity":"sha512-nJA4eVuiVPqTHJRjuZGYR4842uEjQ5vgxrYSMoCcwbW+16yGlFa6WmSQYAanTD/fdsZE+NyfdeeO612HobFEQw==","signatures":[{"sig":"MEYCIQD9HJZn0MKuPvZHkPdtt7ymjk1HHABgv5Ut78K86TFVwwIhALfmrDhNUrYcYV5hIdTzMMxlvKhJBP5RI3up6azkGoOx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":907072},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"35071dda9313cfadff2c5ac720eb9798d9db51b9","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","package":"npm run build && dxt pack","test:ci":"jest --coverage --ci --watchAll=false --passWithNoTests","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"stephanferraro","email":"stephan.ferraro@aionda.com"},"_npmVersion":"10.9.2","description":"MCP server for Google Gemini image generation with Imagen 4 support","directories":{},"_nodeVersion":"22.16.0","dependencies":{"@google/generative-ai":"^0.21.0","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gemini-image_1.1.1_1752614512166_0.30091427345577837","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@aiondadotcom/mcp-gemini-image","version":"1.2.0","description":"MCP server for Google Gemini image generation with Imagen 4 support","type":"module","main":"dist/index.js","scripts":{"build":"tsc","dev":"tsc --watch","start":"node dist/index.js","clean":"rm -rf dist","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","test:ci":"jest --coverage --ci --watchAll=false --passWithNoTests","package":"npm run build && dxt pack"},"keywords":["mcp","google","gemini","imagen","image-generation","ai","typescript"],"author":"","license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^0.5.0","@google/generative-ai":"^0.21.0"},"devDependencies":{"@types/node":"^18.0.0","@types/jest":"^29.5.0","jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.0.0"},"engines":{"node":">=18.0.0"},"_id":"@aiondadotcom/mcp-gemini-image@1.2.0","gitHead":"3400a8e40d2b060634735ad4657b3921d72c2d3c","types":"./dist/index.d.ts","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-gp9PVDLV71tJmTbpCqQQOT0os92+NhJEC0gh2VCCdDkElZjyg4WHV/re8m+60ouUFkNs4wXKUzrStinv53Hjew==","shasum":"a5695e0237dd062c0880d9cb15843f1989f0a14a","tarball":"https://registry.npmjs.org/@aiondadotcom/mcp-gemini-image/-/mcp-gemini-image-1.2.0.tgz","fileCount":48,"unpackedSize":908768,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDmONWbaLUhos0WKkP5+RX840WBbq58A33EYcYqUwxq+gIhAItSz1cHnQvvvccEUPjQcuul6clGn+XoYtRsCOMt2Jth"}]},"_npmUser":{"name":"stephanferraro","email":"stephan.ferraro@aionda.com"},"directories":{},"maintainers":[{"name":"stephanferraro","email":"stephan.ferraro@aionda.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-gemini-image_1.2.0_1752615848344_0.22085656147888266"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-15T21:01:21.543Z","modified":"2025-07-15T21:44:08.767Z","1.0.0":"2025-07-15T21:01:21.915Z","1.1.0":"2025-07-15T21:15:16.418Z","1.1.1":"2025-07-15T21:21:52.385Z","1.2.0":"2025-07-15T21:44:08.538Z"},"license":"MIT","keywords":["mcp","google","gemini","imagen","image-generation","ai","typescript"],"description":"MCP server for Google Gemini image generation with Imagen 4 support","maintainers":[{"name":"stephanferraro","email":"stephan.ferraro@aionda.com"}],"readme":"# MCP Google Gemini Image Generation Server\n\n<div align=\"center\">\n  <img src=\"./assets/mcp-gemini-image-logo.png\" alt=\"MCP Gemini Image Logo\" width=\"400\">\n  <p><em>Logo generated using Google Gemini via this MCP server</em></p>\n</div>\n\n[![CI/CD Pipeline](https://github.com/AiondaDotCom/mcp-gemini-image/actions/workflows/ci.yml/badge.svg)](https://github.com/AiondaDotCom/mcp-gemini-image/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen)](https://nodejs.org/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.0.0-blue)](https://www.typescriptlang.org/)\n\nA Model Context Protocol (MCP) server that provides Google Gemini image generation capabilities, specifically supporting the Imagen 4 model for high-quality image generation with enhanced text rendering and detailed imagery.\n\n## Features\n\n- **Imagen 4 Support**: Generate high-quality images using Google's latest Imagen 4 model\n- **Multiple Models**: Support for both standard and ultra versions of Imagen 4\n- **Flexible Parameters**: Configurable aspect ratios, number of images, and person generation settings\n- **Automatic File Management**: Images are automatically saved to your Desktop\n- **TypeScript**: Full TypeScript support with proper type definitions\n- **MCP Protocol**: Seamless integration with MCP-compatible clients\n\n## Installation\n\n1. Clone this repository\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n3. Build the project:\n   ```bash\n   npm run build\n   ```\n\n## Configuration\n\n### API Key Setup\n\n1. Get a Google API key from the [Google Cloud Console](https://console.cloud.google.com/)\n2. Enable the Generative AI API for your project\n3. Start the MCP server\n4. Use the `configure-server` tool to set your API key before generating images\n   - **Note**: Your API key will be automatically saved to `~/.mcp-gemini-image.json` for future use\n\n## Usage\n\n### Running the Server\n\n```bash\nnpm start\n```\n\n### Available Tools\n\n#### 1. `generate-image`\nGenerate images using Google Gemini Imagen 4.\n\n**Parameters:**\n- `prompt` (required): Text description of the desired image\n- `model` (optional): Choose between `imagen-4.0-generate-preview-06-06` (default) or `imagen-4.0-ultra-generate-preview-06-06`\n- `aspect_ratio` (optional): `square`, `portrait`, or `landscape` (default: `square`)\n- `num_images` (optional): Number of images to generate (1-4 for standard, 1 for ultra) (default: 1)\n- `person_generation` (optional): `dont_allow`, `allow_adult`, or `allow_all` (default: `allow_adult`)\n- `filename` (optional): Custom filename for the saved image\n\n**Example:**\n```json\n{\n  \"prompt\": \"A serene mountain landscape with a crystal clear lake reflecting the snow-capped peaks at sunset\",\n  \"model\": \"imagen-4.0-generate-preview-06-06\",\n  \"aspect_ratio\": \"landscape\",\n  \"num_images\": 2\n}\n```\n\n#### 2. `configure-server`\nConfigure Google API credentials.\n\n**Parameters:**\n- `api_key` (required): Your Google API key\n- `project_id` (optional): Your Google Cloud project ID\n\n**Note**: Credentials are automatically saved to `~/.mcp-gemini-image.json` and will persist between server restarts.\n\n**Example:**\n```json\n{\n  \"api_key\": \"your-google-api-key\"\n}\n```\n\n#### 3. `get-config-status`\nCheck the current configuration status of the server.\n\n**Returns:**\n- Configuration status\n- Available models\n- Image save directory\n\n#### 4. `list-supported-models`\nList all supported Google Gemini image generation models with their capabilities.\n\n**Returns:**\n- Model details\n- Maximum number of images per model\n- Model features\n\n## Model Comparison\n\n### Imagen 4 Standard (`imagen-4.0-generate-preview-06-06`)\n- **Max Images**: 1-4 per request\n- **Features**: High-quality, detailed images with good lighting\n- **Best for**: General image generation, multiple variations\n\n### Imagen 4 Ultra (`imagen-4.0-ultra-generate-preview-06-06`)\n- **Max Images**: 1 per request\n- **Features**: Enhanced quality and detail, premium version\n- **Best for**: High-quality single images, professional use\n\n## File Management\n\nImages are automatically saved to:\n- **Directory**: `~/Desktop/gemini-images/`\n- **Format**: PNG files with timestamp\n- **Metadata**: JSON files with generation parameters\n\n## Error Handling\n\nThe server provides comprehensive error handling for:\n- Invalid API credentials\n- Model parameter validation\n- Network connectivity issues\n- File system errors\n\n## Development\n\n### Scripts\n\n- `npm run build`: Build the TypeScript project\n- `npm run dev`: Watch mode for development\n- `npm run clean`: Clean build directory\n\n### Project Structure\n\n```\nsrc/\n├── index.ts            # Main entry point\n├── server.ts           # MCP server implementation\n├── config-manager.ts   # Configuration management\n├── image-generator.ts  # Google Gemini API integration\n├── file-manager.ts     # File operations\n└── types.ts           # TypeScript definitions\n```\n\n## Requirements\n\n- Node.js 18.0.0 or later\n- Google API key with Generative AI API enabled\n- TypeScript 5.0.0 or later\n\n## License\n\nMIT License\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch\n3. Commit your changes\n4. Push to the branch\n5. Create a Pull Request\n\n## Support\n\nFor issues and questions, please open an issue on the GitHub repository.\n\n## Changelog\n\n### v1.0.0\n- Initial release with Imagen 4 support\n- Basic image generation functionality\n- Configuration management\n- File management system","readmeFilename":"README.md"}