{"_id":"@ansonzeng/nano-banana-mcp-server","_rev":"4-c73f2bf3b948de9219b23dcb93d0ddf8","name":"@ansonzeng/nano-banana-mcp-server","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@ansonzeng/nano-banana-mcp-server","version":"1.0.0","keywords":["mcp","model-context-protocol","gemini","ai","image-generation","image-editing","google-ai","promptx","typescript"],"author":{"name":"Anson","email":"anson@example.com"},"license":"MIT","_id":"@ansonzeng/nano-banana-mcp-server@1.0.0","maintainers":[{"name":"zengxisheng","email":"zengxisheng@gmail.com"}],"homepage":"https://github.com/yourusername/nano-banana-mcp-server#readme","bugs":{"url":"https://github.com/yourusername/nano-banana-mcp-server/issues"},"bin":{"nano-banana-mcp":"dist/bin/mcp-server.js"},"dist":{"shasum":"b6d82e010ec2b91110df1bc410037b8f83502105","tarball":"https://registry.npmjs.org/@ansonzeng/nano-banana-mcp-server/-/nano-banana-mcp-server-1.0.0.tgz","fileCount":7,"integrity":"sha512-QMBcMzewBEmmsAPEA4Ughn6c1h8uPVZIL1NyjeOTlW9filUpSCB6e23IAaOyFqZd11/0k7ULBozrtqWWvEHSyg==","signatures":[{"sig":"MEQCIGyzTsr11WijzaaJUT069EMzrlnFVPsK21a2a0Alc3UDAiAiDysNC4zpIUqBd9XId5E/pTJBe9N9Y7rP4DeJ2AUDlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76814},"main":"./dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"4dd00a70813a14eddb61cdd0f7db7ddd6f245668","scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup","clean":"rimraf dist","start":"npm run build && node ./dist/bin/mcp-server.js","prepack":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build && npm run typecheck"},"_npmUser":{"name":"zengxisheng","email":"zengxisheng@gmail.com"},"repository":{"url":"git+https://github.com/yourusername/nano-banana-mcp-server.git","type":"git"},"_npmVersion":"10.9.3","description":"with the support of the 3rd party nano banana api provider , A professional MCP Server for generating and editing images with Google Gemini AI. Supports image generation from text, image editing with text instructions, and image composition.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"dotenv":"^16.4.5","express":"^4.19.2","commander":"^12.1.0","chrome-devtools-mcp":"^0.2.6","@google/generative-ai":"^0.12.0","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","rimraf":"^5.0.7","vitest":"^1.6.0","typescript":"^5.4.5","@types/node":"^20.14.2","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/nano-banana-mcp-server_1.0.0_1758810240984_0.18156442911162474","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ansonzeng/nano-banana-mcp-server","version":"1.0.1","keywords":["mcp","model-context-protocol","gemini","ai","image-generation","image-editing","google-ai","promptx","typescript"],"author":{"name":"Anson","email":"anson@example.com"},"license":"MIT","_id":"@ansonzeng/nano-banana-mcp-server@1.0.1","maintainers":[{"name":"zengxisheng","email":"zengxisheng@gmail.com"}],"homepage":"https://github.com/yourusername/nano-banana-mcp-server#readme","bugs":{"url":"https://github.com/yourusername/nano-banana-mcp-server/issues"},"bin":{"nano-banana-mcp":"dist/bin/mcp-server.js"},"dist":{"shasum":"c714a8e72dc7cfe4bfc6d88bb954e217ccab7500","tarball":"https://registry.npmjs.org/@ansonzeng/nano-banana-mcp-server/-/nano-banana-mcp-server-1.0.1.tgz","fileCount":7,"integrity":"sha512-WuDezjoAKZ884Kj4eqUpEfveuxtspezCZHkzyfuJD5pNmH92jIJH0Oh3kISP3jT5XKlw1pcfUufdp2Guaz4LhQ==","signatures":[{"sig":"MEUCIQCnoytTB1n3vq6iMDlgeyZyFF56FEOjxA3Q/s+hadxbKAIgQToD2CAhNhbxNKCcQhRAyJ70/7VE5BiXUQJOJN94sdc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84194},"main":"./dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"5d0a43ba52ad1cecb9e1b5d03a1ec8f2e47e3b31","scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup","clean":"rimraf dist","start":"npm run build && node ./dist/bin/mcp-server.js","prepack":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build && npm run typecheck"},"_npmUser":{"name":"zengxisheng","email":"zengxisheng@gmail.com"},"repository":{"url":"git+https://github.com/yourusername/nano-banana-mcp-server.git","type":"git"},"_npmVersion":"10.9.3","description":"with the support of the 3rd party nano banana api provider , A professional MCP Server for generating and editing images with Google Gemini AI. Supports image generation from text, image editing with text instructions, and image composition.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"dotenv":"^16.4.5","express":"^4.19.2","commander":"^12.1.0","chrome-devtools-mcp":"^0.2.6","@google/generative-ai":"^0.12.0","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","rimraf":"^5.0.7","vitest":"^1.6.0","typescript":"^5.4.5","@types/node":"^20.14.2","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/nano-banana-mcp-server_1.0.1_1760609174209_0.7223602503561168","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@ansonzeng/nano-banana-mcp-server","version":"1.1.0","keywords":["mcp","model-context-protocol","gemini","ai","image-generation","image-editing","google-ai","promptx","typescript"],"author":{"name":"Anson","email":"anson@example.com"},"license":"MIT","_id":"@ansonzeng/nano-banana-mcp-server@1.1.0","maintainers":[{"name":"zengxisheng","email":"zengxisheng@gmail.com"}],"homepage":"https://github.com/yourusername/nano-banana-mcp-server#readme","bugs":{"url":"https://github.com/yourusername/nano-banana-mcp-server/issues"},"bin":{"nano-banana-mcp":"dist/bin/mcp-stdio-server.js","nano-banana-mcp-http":"dist/bin/mcp-http-server.js"},"dist":{"shasum":"6c03a7021ab65e85af17bede30baafa18e65686e","tarball":"https://registry.npmjs.org/@ansonzeng/nano-banana-mcp-server/-/nano-banana-mcp-server-1.1.0.tgz","fileCount":9,"integrity":"sha512-3WTCSmc6zLtCukvpJE2z+HYd0RNiWbYWdVYFWHw31b0BI3Vfp/Fzx4bg60yliDil8ojBbAarLYzPBZpo2y+9lw==","signatures":[{"sig":"MEUCIQC9kH7fWzTYta3/RdzcNF6RKZECz9VfzJltd+O0pSOj/wIgMvrIWYMaKr/J5ii9P11g/ng51QRZJ5mbeP7feJDd/ZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157736},"main":"./dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"5d0a43ba52ad1cecb9e1b5d03a1ec8f2e47e3b31","scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup","clean":"rimraf dist","start":"npm run build && node ./dist/bin/mcp-stdio-server.js","prepack":"npm run build","typecheck":"tsc --noEmit","start:http":"npm run build && node ./dist/bin/mcp-http-server.js","prepublishOnly":"npm run clean && npm run build && npm run typecheck"},"_npmUser":{"name":"zengxisheng","email":"zengxisheng@gmail.com"},"repository":{"url":"git+https://github.com/yourusername/nano-banana-mcp-server.git","type":"git"},"_npmVersion":"10.9.3","description":"with the support of the 3rd party nano banana api provider , A professional MCP Server for generating and editing images with Google Gemini AI. Supports image generation from text, image editing with text instructions, and image composition.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"dotenv":"^16.4.5","express":"^4.19.2","commander":"^12.1.0","chrome-devtools-mcp":"^0.2.6","@google/generative-ai":"^0.12.0","@modelcontextprotocol/sdk":"^1.11.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","rimraf":"^5.0.7","vitest":"^1.6.0","typescript":"^5.4.5","@types/node":"^20.14.2","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/nano-banana-mcp-server_1.1.0_1760619506680_0.7209328653255673","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@ansonzeng/nano-banana-mcp-server","version":"1.2.0","description":"with the support of the 3rd party nano banana api provider , A professional MCP Server for generating and editing images with Google Gemini AI. Supports image generation from text, image editing with text instructions, and image composition.","type":"module","main":"./dist/index.js","bin":{"nano-banana-mcp-server":"dist/bin/mcp-stdio-server.js","nano-banana-mcp":"dist/bin/mcp-stdio-server.js","nano-banana-mcp-http":"dist/bin/mcp-http-server.js"},"scripts":{"build":"tsup","dev":"tsup --watch","start":"npm run build && node ./dist/bin/mcp-stdio-server.js","start:http":"npm run build && node ./dist/bin/mcp-http-server.js","clean":"rimraf dist","test":"vitest","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build && npm run typecheck","prepack":"npm run build"},"keywords":["mcp","model-context-protocol","gemini","ai","image-generation","image-editing","google-ai","promptx","typescript"],"author":{"name":"Anson","email":"anson@example.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/yourusername/nano-banana-mcp-server.git"},"homepage":"https://github.com/yourusername/nano-banana-mcp-server#readme","bugs":{"url":"https://github.com/yourusername/nano-banana-mcp-server/issues"},"engines":{"node":">=18.0.0"},"dependencies":{"@google/generative-ai":"^0.12.0","@modelcontextprotocol/sdk":"^1.11.4","chrome-devtools-mcp":"^0.2.6","commander":"^12.1.0","dotenv":"^16.4.5","express":"^4.19.2"},"devDependencies":{"@types/express":"^4.17.21","@types/node":"^20.14.2","rimraf":"^5.0.7","tsup":"^8.1.0","typescript":"^5.4.5","vitest":"^1.6.0"},"_id":"@ansonzeng/nano-banana-mcp-server@1.2.0","gitHead":"121b913d47808f86cff93f183a8ea1e6abac379d","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-Z5QUZbiKwXA4tQy1Fq8J+GiHcxiMm68hrtg9FoehBC7E1PDJUY9m+t6obl9aBwf264/vcHsKuZDKJ5ejrlmgRw==","shasum":"1464cd92a24040df70874e04a13b32d2e11443b3","tarball":"https://registry.npmjs.org/@ansonzeng/nano-banana-mcp-server/-/nano-banana-mcp-server-1.2.0.tgz","fileCount":9,"unpackedSize":158055,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCHLzt8muKk9EKiaZ0uXfCXQaCEvekwwd5wqyiiURdAfwIgZ1ceBezxiE/hErvGCbHMXsrD0wl+NrmzXyDrtXNLcc0="}]},"_npmUser":{"name":"zengxisheng","email":"zengxisheng@gmail.com"},"directories":{},"maintainers":[{"name":"zengxisheng","email":"zengxisheng@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nano-banana-mcp-server_1.2.0_1760621356782_0.7530976156829223"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-25T14:24:00.872Z","modified":"2025-10-16T13:29:17.157Z","1.0.0":"2025-09-25T14:24:01.192Z","1.0.1":"2025-10-16T10:06:14.426Z","1.1.0":"2025-10-16T12:58:26.873Z","1.2.0":"2025-10-16T13:29:16.986Z"},"bugs":{"url":"https://github.com/yourusername/nano-banana-mcp-server/issues"},"author":{"name":"Anson","email":"anson@example.com"},"license":"MIT","homepage":"https://github.com/yourusername/nano-banana-mcp-server#readme","keywords":["mcp","model-context-protocol","gemini","ai","image-generation","image-editing","google-ai","promptx","typescript"],"repository":{"type":"git","url":"git+https://github.com/yourusername/nano-banana-mcp-server.git"},"description":"with the support of the 3rd party nano banana api provider , A professional MCP Server for generating and editing images with Google Gemini AI. Supports image generation from text, image editing with text instructions, and image composition.","maintainers":[{"name":"zengxisheng","email":"zengxisheng@gmail.com"}],"readme":"# Nano Banana MCP Server 🍌🤖\n\nA professional MCP (Model Context Protocol) Server for generating and editing images with Google Gemini AI. Built with PromptX architecture for robust image generation, editing, and composition workflows.\n\n## Features\n\n🎨 **Image Generation from Text**: Create stunning images from detailed text descriptions\n✏️ **Image Editing with Text**: Modify existing images using natural language instructions\n🎯 **Image Composition**: Combine multiple images into new compositions\n⚡ **High Performance**: Built with TypeScript and optimized for speed\n🔒 **Secure**: Sandboxed execution environment with proper error handling\n\n## Quick Start\n\n### 方式 1: Stdio 传输 (推荐)\n\n这是最简单也是推荐的使用方式,适合与 Claude Code CLI 等 MCP 客户端集成使用。\n\n#### 安装和运行\n\n```bash\n# 通过 npx 直接运行 (无需安装)\nnpx -y @ansonzeng/nano-banana-mcp-server\n\n# 或者使用简短命令名\nnpx -y @ansonzeng/nano-banana-mcp-server nano-banana-mcp\n```\n\n#### Claude Code CLI 配置\n\n在 Claude Code CLI 中添加 MCP 服务器:\n\n```bash\nclaude mcp add --scope user nano-banana '{\n  \"command\": \"npx\",\n  \"args\": [\"-y\", \"@ansonzeng/nano-banana-mcp-server\"],\n  \"env\": {\n    \"GEMINI_BASE_URL\": \"https://your-api-provider.com\",\n    \"GEMINI_API_KEY\": \"your_api_key_here\",\n    \"IMAGE_OUTPUT_DIR\": \"/path/to/your/output/folder\"\n  }\n}'\n```\n\n或者直接编辑配置文件 (`~/.claude/mcp.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"nano-banana\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@ansonzeng/nano-banana-mcp-server\"],\n      \"env\": {\n        \"GEMINI_BASE_URL\": \"https://your-api-provider.com\",\n        \"GEMINI_API_KEY\": \"your_api_key_here\",\n        \"IMAGE_OUTPUT_DIR\": \"/path/to/your/output/folder\"\n      }\n    }\n  }\n}\n```\n\n### 方式 2: HTTP 传输 (可选)\n\n如果你需要将服务器部署为独立的 HTTP 服务,可以使用 HTTP 传输模式。\n\n#### 安装并运行\n\n```bash\n# 方式 1: 通过 npx 运行 HTTP 模式\nnpx -y @ansonzeng/nano-banana-mcp-server nano-banana-mcp-http\n\n# 方式 2: 全局安装后运行\nnpm install -g @ansonzeng/nano-banana-mcp-server\nnano-banana-mcp-http\n```\n\n或使用环境变量:\n\n```bash\nPORT=3000 HOST=localhost nano-banana-mcp-http\n```\n\n#### Claude Code CLI 配置 (HTTP 模式)\n\n```bash\nclaude mcp add --scope user --transport http nano-banana http://localhost:8080/mcp\n```\n\n### 环境变量说明\n\n- `GEMINI_API_KEY`: 你的 API 供应商提供的 API 密钥 (必填)\n- `GEMINI_BASE_URL`: 你的 API 供应商的基础 URL (必填)\n- `GEMINI_MODEL_NAME`: 模型名称 (可选,默认: gemini-2.5-flash-image-preview)\n- `IMAGE_OUTPUT_DIR`: 图片输出目录 (可选,默认: ./outputs)\n- `PORT`: HTTP 服务器端口 (仅 HTTP 模式,默认: 8080)\n- `HOST`: HTTP 服务器监听地址 (仅 HTTP 模式,默认: 0.0.0.0)\n\n## Available Tools\n\n### 1. `createImageFromText`\nGenerate images from text descriptions.\n\n**Parameters:**\n- `prompt` (string): Detailed description of the image you want to generate\n\n**Example:**\n```json\n{\n  \"prompt\": \"A cat wearing an astronaut helmet, cartoon style\"\n}\n```\n\n### 2. `editImageWithText`\nEdit existing images with text instructions.\n\n**Parameters:**\n- `prompt` (string): What modifications you want to make\n- `inputImage` (string): Image file path or Base64 data\n\n**Example:**\n```json\n{\n  \"prompt\": \"Add a party hat to this cat\",\n  \"inputImage\": \"/path/to/image.jpg\"\n}\n```\n\n### 3. `compositeImagesWithText`\nCombine multiple images into new compositions.\n\n**Parameters:**\n- `prompt` (string): How you want to combine the images\n- `inputImages` (array): Array of Base64 image data\n\n## Development\n\n### 本地开发\n\n```bash\n# 克隆仓库\ngit clone https://github.com/yourusername/nano-banana-mcp-server.git\ncd nano-banana-mcp-server\n\n# 安装依赖\nnpm install\n\n# 构建项目\nnpm run build\n\n# 运行 Stdio 模式 (默认)\nnpm start\n\n# 或运行 HTTP 模式\nnpm run start:http\n```\n\n### 测试本地构建\n\n```bash\n# 链接到全局\nnpm link\n\n# 在其他项目中使用\nnano-banana-mcp-server  # Stdio 模式 (默认)\nnano-banana-mcp         # Stdio 模式 (简短名)\nnano-banana-mcp-http    # HTTP 模式\n```\n\n## File Output\n\nGenerated and edited images are saved to an `outputs/` directory in your current working directory with timestamps to prevent overwrites.\n\n## Technical Details\n\n- **Built with**: TypeScript, Node.js 18+\n- **Architecture**: PromptX-based modular design\n- **Protocol**: Model Context Protocol (MCP)\n- **AI Provider**: Google Gemini AI\n- **Output Format**: PNG images with Base64 encoding\n\n## Error Handling\n\nThe server includes comprehensive error handling for:\n- Invalid API keys or network issues\n- File reading/writing permissions\n- Image format validation\n- API response parsing\n\n## Requirements\n\n- Node.js 18.0.0 or higher\n- Valid Google Gemini API key\n- Network access to API provider\n\n## Contributing\n\nThis project follows the PromptX architecture principles. See [CLAUDE.md](./CLAUDE.md) for development guidelines.\n\n## License\n\nMIT License - see [LICENSE](./LICENSE) for details.\n\n---\n\nMade with ❤️ using Claude Code and PromptX architecture.","readmeFilename":"README.md"}