- Free Image Generation MCP Server
Free Image Generation MCP Server
# Image Generation MCP Server
A Model Context Protocol (MCP) server that enables seamless generation of high-quality images using the Flux.1 Schnell model via Together AI. This server provides a standardized interface to specify image generation parameters.
Features
- High-quality image generation powered by the Flux.1 Schnell model
- Support for customizable dimensions (width and height)
- Clear error handling for prompt validation and API issues
- Easy integration with MCP-compatible clients
- Optional image saving to disk in PNG format
Installation
```bash npm install together-mcp ```
Or run directly:
```bash npx together-mcp@latest ```
Configuration
Add to your MCP server configuration:
Configuration Example
```json { "mcpServers": { "together-image-gen": { "command": "npx", "args": ["together-mcp@latest -y"], "env": { "TOGETHER_API_KEY": "" } } } } ```
Usage
The server provides one tool: `generate_image`
Using generate_image
This tool has only one required parameter - the prompt. All other parameters are optional and use sensible defaults if not provided.
Parameters
```typescript { // Required prompt: string; // Text description of the image to generate
// Optional with defaults model?: string; // Default: "black-forest-labs/FLUX.1-schnell-Free" width?: number; // Default: 1024 (min: 128, max: 2048) height?: number; // Default: 768 (min: 128, max: 2048) steps?: number; // Default: 1 (min: 1, max: 100) n?: number; // Default: 1 (max: 4) response_format?: string; // Default: "b64_json" (options: ["b64_json", "url"]) image_path?: string; // Optional: Path to save the generated image as PNG } ```
Minimal Request Example
Only the prompt is required:
```json { "name": "generate_image", "arguments": { "prompt": "A serene mountain landscape at sunset" } } ```
Full Request Example with Image Saving
Override any defaults and specify a path to save the image:
```json { "name": "generate_image", "arguments": { "prompt": "A serene mountain landscape at sunset", "width": 1024, "height": 768, "steps": 20, "n": 1, "response_format": "b64_json", "model": "black-forest-labs/FLUX.1-schnell-Free", "image_path": "/path/to/save/image.png" } } ```
Response Format
The response will be a JSON object containing:
```json { "id": string, // Generation ID "model": string, // Model used "object": "list", "data": [ { "timings": { "inference": number // Time taken for inference }, "index": number, // Image index "b64_json": string // Base64 encoded image data (if response_format is "b64_json") // OR "url": string // URL to generated image (if response_format is "url") } ] } ```
If image_path was provided and the save was successful, the response will include confirmation of the save location.
Default Values
If not specified in the request, these defaults are used:
- model: "black-forest-labs/FLUX.1-schnell-Free"
- width: 1024
- height: 768
- steps: 1
- n: 1
- response_format: "b64_json"
Important Notes
- Only the `prompt` parameter is required
- All optional parameters use defaults if not provided
- When provided, parameters must meet their constraints (e.g., width/height ranges)
- Base64 responses can be large - use URL format for larger images
- When saving images, ensure the specified directory exists and is writable
Prerequisites
- Node.js >= 16
- Together AI API key
- Sign in at [api.together.xyz](https://api.together.xyz/)
- Navigate to [API Keys settings](https://api.together.xyz/settings/api-keys)
- Click "Create" to generate a new API key
- Copy the generated key for use in your MCP configuration
Dependencies
```json { "@modelcontextprotocol/sdk": "0.6.0", "axios": "^1.6.7" } ```
Development
Clone and build the project:
```bash git clone https://github.com/manascb1344/together-mcp-server cd together-mcp-server npm install npm run build ```
Available Scripts
- `npm run build` - Build the TypeScript project
- `npm run watch` - Watch for changes and rebuild
- `npm run inspector` - Run MCP inspector
Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a new branch (`feature/my-new-feature`)
- Commit your changes
- Push the branch to your fork
- Open a Pull Request
Feature requests and bug reports can be submitted via GitHub Issues. Please check existing issues before creating a new one.
For significant changes, please open an issue first to discuss your proposed changes.
License
This project is licensed under the MIT License. See the LICENSE file for details.