The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Ideogram MCP listing page.
MCP server for the Ideogram V3 API — generate, edit, remix, upscale, and describe images from Claude Code, Claude Desktop, or any MCP client.
@modelcontextprotocol/sdk + zod. No axios, no form-data, no HTTP librariesOr use directly:
Requires IDEOGRAM_API_KEY — get one at ideogram.ai/manage-api.
Add to ~/.claude.json → mcpServers:
Add to claude_desktop_config.json:
| Variable | Required | Default | Description |
|---|---|---|---|
IDEOGRAM_API_KEY | Yes | — | Your Ideogram API key (get one here) |
IDEOGRAM_OUTPUT_DIR | No | /tmp/ideogram-output | Any folder where you want images saved. Use absolute paths (e.g. /home/user/images/ideogram) |
| Tool | Description | Key Parameters |
|---|---|---|
ideogram_generate | Generate images from text prompts | prompt, aspect_ratio, rendering_speed, style_type, num_images |
ideogram_describe | Generate text description of an image | image (file path) |
ideogram_edit | Edit areas of an image with mask-based inpainting | image, mask, prompt |
ideogram_remix | Transform an image with a new prompt | image, prompt, image_weight (0-100) |
ideogram_reframe | Extend an image to a new resolution (outpainting) | image, resolution (69 valid sizes) |
ideogram_replace_background | Replace background, preserving foreground | image, prompt |
ideogram_upscale | Upscale with guided enhancement | image, resemblance (0-100), detail (0-100) |
| Parameter | Available In | Values |
|---|---|---|
rendering_speed | generate, edit, remix, reframe, replace_background | FLASH, TURBO, DEFAULT, QUALITY |
magic_prompt | generate, edit, remix, replace_background, upscale | AUTO, ON, OFF |
style_type | generate, edit, remix | AUTO, GENERAL, REALISTIC, DESIGN, FICTION |
aspect_ratio | generate, remix | 1x1, 16x9, 9x16, 4x3, 3x4, and 10 more |
num_images | all tools | 1-8 |
seed | all tools | 0-2,147,483,647 |
This server is designed with a zero-trust, minimal-dependency approach:
lstat() rejects user-created symlinks before readingimage/*, rejecting HTML/JSON error pagespath.relative() containment checkFull details in SECURITY.md.
Run locally:
See CONTRIBUTING.md for architecture guidelines and PR requirements.