MCP server for the Ideogram V3 API — generate, edit, remix, upscale, and describe images from Claude Code, Claude Desktop, or any MCP client.
- 7 tools — full Ideogram V3 coverage (generate, edit, remix, reframe, replace background, upscale, describe)
- Security-first — SSRF protection, symlink rejection, Content-Type validation, path traversal prevention, Zod response validation (details)
- 2 runtime dependencies —
@modelcontextprotocol/sdk+zod. No axios, no form-data, no HTTP libraries - Native Ideogram API — direct V3 endpoints, not proxied through fal.ai or Replicate
- Production-hardened — retry with exponential backoff, safety filter handling, partial failure resilience
npm install -g @qmediat.io/ideogram-mcpOr use directly:
npx @qmediat.io/ideogram-mcpRequires IDEOGRAM_API_KEY — get one at ideogram.ai/manage-api.
Add to ~/.claude.json → mcpServers:
{
"ideogram": {
"command": "npx",
"args": ["-y", "@qmediat.io/ideogram-mcp"],
"env": {
"IDEOGRAM_API_KEY": "your-api-key",
"IDEOGRAM_OUTPUT_DIR": "/tmp/ideogram-output"
}
}
}Add to claude_desktop_config.json:
{
"mcpServers": {
"ideogram": {
"command": "npx",
"args": ["-y", "@qmediat.io/ideogram-mcp"],
"env": {
"IDEOGRAM_API_KEY": "your-api-key",
"IDEOGRAM_OUTPUT_DIR": "/tmp/ideogram-output"
}
}
}
}| 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:
- SSRF protection — HTTPS-only downloads, hostname allowlist, redirect blocking
- Symlink rejection —
lstat()rejects user-created symlinks before reading - Content-Type validation — downloads must be
image/*, rejecting HTML/JSON error pages - Zod response validation — API responses parsed through schemas, no blind type casts
- Path traversal prevention — extension allowlist +
path.relative()containment check
Full details in SECURITY.md.
git clone https://github.com/qmediat/ideogram-mcp.git
cd ideogram-mcp
npm install
npm run buildRun locally:
IDEOGRAM_API_KEY=your-key node dist/index.jsSee CONTRIBUTING.md for architecture guidelines and PR requirements.