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.
- 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
npm install together-mcp
Or run directly:
npx together-mcp@latest
Add to your MCP server configuration:
{
"mcpServers": {
"together-image-gen": {
"command": "npx",
"args": ["together-mcp@latest -y"],
"env": {
"TOGETHER_API_KEY": "<API KEY>"
}
}
}
}
The server provides one tool: generate_image
This tool has only one required parameter - the prompt. All other parameters are optional and use sensible defaults if not provided.
{
// 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
}
Only the prompt is required:
{
"name": "generate_image",
"arguments": {
"prompt": "A serene mountain landscape at sunset"
}
}
Override any defaults and specify a path to save the image:
{
"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"
}
}
The response will be a JSON object containing:
{
"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.
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"
- 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
- Node.js >= 16
- Together AI API key
- Sign in at api.together.xyz
- Navigate to API Keys settings
- Click "Create" to generate a new API key
- Copy the generated key for use in your MCP configuration
{
"@modelcontextprotocol/sdk": "0.6.0",
"axios": "^1.6.7"
}
Clone and build the project:
git clone https://github.com/manascb1344/together-mcp-server
cd together-mcp-server
npm install
npm run build
npm run build
- Build the TypeScript projectnpm run watch
- Watch for changes and rebuildnpm run inspector
- Run MCP inspector
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.
This project is licensed under the MIT License. See the LICENSE file for details.