loading…
Search for a command to run...
loading…
An MCP server that generates high-quality blog cover images using Google Gemini AI and automatically uploads them to Qiniu Cloud storage. It provides automated
An MCP server that generates high-quality blog cover images using Google Gemini AI and automatically uploads them to Qiniu Cloud storage. It provides automated WebP conversion and compression to deliver optimized CDN URLs for generated images.
npm version npm downloads License: MIT Node.js Version MCP
An MCP (Model Context Protocol) server for image generation, processing, and CDN upload. Powered by Google Gemini AI, Sharp, and Qiniu Cloud.
No installation needed — configure directly in your MCP client:
{
"mcpServers": {
"banana-image": {
"command": "npx",
"args": ["-y", "banana-image-mcp"],
"env": {
"GEMINI_API_KEY": "your-gemini-api-key",
"QINIU_ACCESS_KEY": "your-qiniu-access-key",
"QINIU_SECRET_KEY": "your-qiniu-secret-key",
"QINIU_BUCKET": "your-bucket-name",
"QINIU_CDN_DOMAIN": "https://your-cdn-domain.com"
}
}
}
}
npm install -g banana-image-mcp
Then configure in your MCP client:
{
"mcpServers": {
"banana-image": {
"command": "banana-image-mcp",
"env": {
"GEMINI_API_KEY": "your-gemini-api-key",
"QINIU_ACCESS_KEY": "your-qiniu-access-key",
"QINIU_SECRET_KEY": "your-qiniu-secret-key",
"QINIU_BUCKET": "your-bucket-name",
"QINIU_CDN_DOMAIN": "https://your-cdn-domain.com"
}
}
}
}
# npx users: just clear the cache to get the latest version
npx clear-npx-cache && npx -y banana-image-mcp
# Global installation users
npm update -g banana-image-mcp
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json| Variable | Description |
|---|---|
GEMINI_API_KEY |
Google Gemini API key for image generation |
QINIU_ACCESS_KEY |
Qiniu cloud access key |
QINIU_SECRET_KEY |
Qiniu cloud secret key |
QINIU_BUCKET |
Qiniu storage bucket name |
QINIU_CDN_DOMAIN |
CDN domain for generated image URLs |
Google Gemini API Key:
Qiniu Cloud:
generate_blog_coverGenerate a blog cover image (1792x1024), convert to WebP, and upload to Qiniu CDN.
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt |
string | Yes | Text prompt describing the image to generate |
slug |
string | Yes | Slug identifier for the filename (prefixed with date) |
path |
string | No | Upload directory path (default: blog-cover) |
Returns:
{
"url": "https://your-cdn-domain.com/blog-cover/20260321-my-post.webp"
}
generate_imageGenerate an image using Gemini AI (original size), convert to WebP, and upload to Qiniu CDN.
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt |
string | Yes | Text prompt describing the image to generate |
slug |
string | Yes | Slug identifier for the filename (prefixed with date) |
path |
string | No | Upload directory path (default: aigc/image) |
Returns:
{
"url": "https://your-cdn-domain.com/aigc/image/20260321-my-image.webp"
}
upload_imageUpload a local file or remote URL image to Qiniu CDN, with automatic WebP conversion.
| Parameter | Type | Required | Description |
|---|---|---|---|
source |
string | Yes | Local file path or HTTP/HTTPS URL of the image |
slug |
string | Yes | Slug identifier for the filename (prefixed with date) |
path |
string | No | Upload directory path (default: images) |
Returns:
{
"url": "https://your-cdn-domain.com/images/20260321-my-photo.webp"
}
prompt → Google Gemini API (PNG) → Sharp (WebP) → Qiniu CDN → URL
source (local/remote) ─────────→ Sharp (WebP) → Qiniu CDN → URL
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"banana-image-mcp": {
"command": "npx",
"args": []
}
}
}