Planned integration with Baidu's ERNIE-ViLG image generation API (currently in roadmap).
Provides access to ByteDance's Doubao image generation API, offering 12 artistic styles including anime, Chinese painting, and cyberpunk, with support for various resolutions from 512x512 to 1024x576.
Enables AI image generation using OpenAI's DALL-E 3 API, supporting multiple styles, high-resolution output up to 1792x1024, and automatic prompt optimization for high-quality image creation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Multi-Provider Image Generation Servergenerate a fantasy landscape with mountains and a waterfall, style: hunyuan:shuimo"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Image Generation Server
A Model Context Protocol (MCP) server for image generation using multiple AI providers including Tencent Hunyuan, OpenAI DALL-E 3, and Doubao APIs.
Version: 0.2.0
Features
π― Multi-API Provider Support
Tencent Hunyuan: 18 artistic styles with Chinese optimization
OpenAI DALL-E 3: High-quality image generation with English optimization
Doubao (ByteDance): Balanced quality and speed with 12 styles
π Core Features
Generate images from text descriptions
Support for multiple image styles across different providers
Support for different image resolutions
Negative prompts for excluding unwanted elements
Intelligent provider selection and management
Unified parameter format with provider-specific options
π Transport Modes (New in v0.2.0)
stdio Transport: Local IDE integration (Cursor, Windsurf)
HTTP Transport: Remote access and enterprise deployment
Multi-client concurrent connections
Bearer Token authentication
Session management
RESTful API endpoints
Suitable for cloud deployment and remote access
Why HTTP Transport? Version 0.2.0 adds Streamable HTTP support (MCP's official standard as of 2024-11-05) to enable:
Remote Access: Claude remote MCP requires public HTTP endpoints (stdio only works locally)
Enterprise Deployment: Centralized service deployment with multiple concurrent clients
Cloud Native: Compatible with containers, Kubernetes, and load balancers
Note: This uses Streamable HTTP (POST/GET/DELETE), not the deprecated SSE-only approach. SSE is retained for compatibility but Streamable HTTP is the recommended standard.
π§ Smart Provider Management
Automatic detection of available API providers
Support for specifying particular providers or automatic selection
Unified error handling and retry mechanisms
Flexible parameter formats:
provider:styleandprovider:resolution
Installation
Using UV (Recommended)
UV is a fast, modern Python package manager. Recommended usage:
Using Traditional pip
If you prefer traditional pip:
Environment Setup
Create a .env file in the project root. See .env.example for all available options.
Basic Configuration
Transport Configuration (Optional)
Usage
π Transport Modes
This server supports two transport modes:
Feature | stdio Transport | HTTP Transport |
Use Case | Local IDE integration | Remote access, enterprise deployment |
Connection | Subprocess communication | HTTP/HTTPS network |
Multi-client | β Single client | β Multiple concurrent clients |
Remote Access | β Not supported | β Supported |
Authentication | Not needed | Bearer Token |
Deployment | Simple | Cloud-ready |
π Quick Start
Unified Entry Point (Recommended)
The unified server will automatically use the transport mode specified in your .env file:
MCP_TRANSPORT=stdioβ Local stdio mode for IDE integrationMCP_TRANSPORT=httpβ HTTP server mode for remote access
Legacy Examples
π‘ HTTP Transport Mode
For remote access and enterprise deployment, use HTTP transport:
1. Configure HTTP Mode
2. Start HTTP Server
Server will start on http://127.0.0.1:8000 with endpoints:
GET /health- Health checkPOST /mcp/v1/messages- Send JSON-RPC messagesGET /mcp/v1/messages- Subscribe to SSE eventsDELETE /mcp/v1/sessions- Close session
3. Test HTTP Server
4. Use HTTP Client
For detailed HTTP transport documentation, see HTTP_TRANSPORT_GUIDE.md
Screenshot of MCP server running successfully:

Connecting to the Server
You can connect from MCP-compatible client(recommand cursor now). The server provides the following features:
Resources
styles://list- List all available image stylesresolutions://list- List all available image resolutions
Tools
generate_image- Generate images based on prompt, style, and resolution
Prompts
image_generation_prompt- Create image generation prompt templates
π¨ Multi-API Usage Examples
Basic Usage
Advanced Parameter Usage
π Supported Providers and Parameters
Tencent Hunyuan
Styles: 18 options including
riman,xieshi,shuimo,saibopengke,youhuaResolutions: 8 options from
768:768to1280:720Specialty: Chinese-optimized, rich artistic styles
OpenAI DALL-E 3
Styles: 12 options including
natural,vivid,realistic,artistic,animeResolutions: 7 options including ultra-high resolution
1792x1024Specialty: High-quality output, English optimization
Doubao (ByteDance)
Styles: 12 options including
general,anime,chinese_painting,cyberpunkResolutions: 9 options from
512x512to1024x576Specialty: Balanced quality and speed
Cursor Integration
To add this MCP server in Cursor:
Open Cursor
Go to Settings > Features > MCP
Click "+ Add New MCP Server"
Fill in the configuration:
Name:
Multi-API Image Generator(or any descriptive name)Type:
stdioCommand: Full command, must include the absolute path to Python and the script
Single API Configuration (Original)
π Note: For detailed VS Code integration guide, see docs/VSCODE_INTEGRATION.md
Environment Variables
When configuring the MCP server in Cursor, set the following environment variables:
For Single API (Hunyuan only):
TENCENT_SECRET_ID: Your Tencent Cloud API Secret IDTENCENT_SECRET_KEY: Your Tencent Cloud API Secret KeyMCP_IMAGE_SAVE_DIR: Your save image dir, e.g.: D:\data\mcp_img
For Multi-API (All providers):
TENCENT_SECRET_ID: Your Tencent Cloud API Secret IDTENCENT_SECRET_KEY: Your Tencent Cloud API Secret KeyOPENAI_API_KEY: Your OpenAI API KeyDOUBAO_ACCESS_KEY: Your Doubao Access KeyDOUBAO_SECRET_KEY: Your Doubao Secret KeyMCP_IMAGE_SAVE_DIR: Your save image dir, e.g.: D:\data\mcp_imgOPENAI_BASE_URL: (Optional) Custom OpenAI endpointDOUBAO_ENDPOINT: (Optional) Custom Doubao endpoint
Note: You only need to configure the API keys for the providers you want to use. The system will automatically detect available providers.
π― Multi-API Usage in Cursor
With the multi-API server, you can use natural language in Cursor to specify different providers:
Verification
Save the configuration
Restart Cursor
Start a new chat and enter: "Generate a mountain landscape image"
If everything is set up correctly, the AI will use your MCP server to generate the image
Note: The first time you use it, Cursor may ask for permission to use this MCP server.
Let's look at the steps in Cursor:
step_1: types your generate command in cursor

step_2: after your approval it will call the mcp image-gen tool and save it

Step 3: View or use the image saved in the directory (MCP_IMAGE_SAVE_DIR) you have set in the .env file

You can also ask Cursor to design images for your website β¨. Cursor can use the MCP tool to generate images that match your specific layout requirements π¨. Perfect for creating beautiful web designs!
Tip: You don't need to manually move the generated images from the save directory to your project directory. Cursor will handle this automatically after your approval. This is one of the main advantages of using Cursor.
Planning the move

Executing the move

Example Performance
Original web design:

New design after generating and moving the image to the project using Cursor:

π§ͺ Testing
The project includes comprehensive testing tools:
Protocol Tests (No API Key Required)
This tests:
β Health check endpoint
β MCP initialization handshake
β Tools listing
β Resources listing and reading
β Prompts listing
β Session management
Functional Tests (API Key Required)
This additionally tests:
β Real image generation with OpenAI
β Real image generation with Hunyuan
β Real image generation with Doubao
Note: At least one API key must be configured in .env to run functional tests.
Troubleshooting
General Issues
Ensure environment variables are set correctly
Check for spaces in paths; use quotes if needed
Ensure the virtual environment is activated (if using one)
Try running the server script directly to check for errors
Check UV environment with
uv --version
HTTP Transport Issues
Connection refused: Ensure server is running on correct host/port
401 Unauthorized: Check
MCP_AUTH_TOKENconfiguration404 Session not found: Re-initialize connection to get new session ID
No provider available: Configure at least one API provider in
.env
For detailed troubleshooting, see HTTP_TRANSPORT_GUIDE.md
Front-end Demo
For a front-end integration example, see web-design-demo/.
This example demonstrates how to develop a real project using Cursor IDE, where you can generate and manage images directly within your development environment using our MCP tool π οΈ. No need to switch between different image generation tools or leave your IDE - everything can be done right in your development workflow β¨.
screenshot of the demo web

API Reference
Multi-API Architecture
The project now supports multiple image generation APIs through a unified interface:
Supported APIs
Tencent Hunyuan Image Generation API (Original)
OpenAI DALL-E 3 API (New)
Doubao Image Generation API (New)
Unified MCP Resources
providers://list- List all available providersstyles://list- List all styles from all providersresolutions://list- List all resolutions from all providersstyles://provider/{provider_name}- Get styles for specific providerresolutions://provider/{provider_name}- Get resolutions for specific provider
Enhanced MCP Tools
generate_image- Multi-provider image generation with intelligent routing
Tencent Hunyuan Image Generation API
The project originally used and continues to support Tencent Hunyuan Image Generation API. Here are the key details:
API Endpoints
Domain:
hunyuan.tencentcloudapi.comRegion:
ap-guangzhou(Currently only supports Guangzhou region)Default API Rate Limit: 20 requests/second
Concurrent Tasks: Default 1 task at a time
Task Flow
Submit Task: Submit an asynchronous image generation task with text description
Query Task: Get task status and results using task ID
Result URL: Generated image URLs are valid for 1 hour
For detailed API documentation and pricing, please refer to:
OpenAI DALL-E 3 API
API Features
High-quality image generation
Automatic prompt optimization
Multiple style options
High-resolution output support
Doubao API (ByteDance)
API Features
ByteDance's proprietary image generation model
Balanced quality and speed
Chinese and English prompt support
Multiple artistic styles
RoadMap
Version 0.2.0 (Current)
β Tencent Hunyuan image generation API
β OpenAI DALL-E 3 API integration
β Doubao API integration
β Multi-provider management system
β Intelligent provider selection
β Unified parameter interface
β HTTP transport with Streamable HTTP protocol
β Remote access support
β Multi-client concurrent connections
β Bearer Token authentication
β Session management
β Comprehensive testing suite
Future Plans
Support more mainstream text-to-image model APIs, including:
Alibaba Tongyi Wanxiang
Baidu ERNIE-ViLG
Stable Diffusion API
Advanced features:
Image editing and modification
Batch image generation
Style transfer capabilities
Custom model fine-tuning support
Enhanced MCP integration:
Real-time generation progress
Image history and management
Advanced prompt templates
Community contributions for more model integrations and new features are welcome!
Compatibility
Local IDE Integration (stdio): Verified to work with Cursor and Windsurf IDE
Remote Access (HTTP): Compatible with any MCP client supporting HTTP transport
Claude Remote MCP: HTTP transport enables connection to Claude with public HTTP endpoint
windsurf is also supported to integrated now
screenshot of mcp tool call in windsurf

and the result as follows

Future plans include supporting more IDEs and development environments compatible with the Model Context Protocol (MCP).
Acknowledgments
This project is built with FastMCP as the core framework, a powerful implementation of the Model Context Protocol. The MCP integration is based on:
FastMCP: A fast, Pythonic way to build MCP servers
MCP Python SDK: The official Python SDK for Model Context Protocol
We also use these excellent open-source projects:
UV: A fast Python package installer and resolver
Python-dotenv: Reads key-value pairs from .env file
Tencentcloud-sdk-python: Official Tencent Cloud SDK for Python
Contributing
We welcome contributions of all kinds! Here are some ways you can help:
π Report bugs and issues
π‘ Suggest new features or improvements
π§ Submit pull requests
π¨ Add support for more image generation models
Getting Started with Contributing
Fork the repository
Create your feature branch (
git checkout -b feature/AmazingFeature)Commit your changes (
git commit -m 'feat: add some AmazingFeature')Push to the branch (
git push origin feature/AmazingFeature)Open a Pull Request
Please make sure to update tests as appropriate and follow the existing coding style.
We appreciate your interest in making this project better!