@qmediat.io/ideogram-mcp
v1.0.2
Published
MCP server for Ideogram V3 API — generate, edit, remix, upscale, and describe images with zero-axios security
Maintainers
Readme
@qmediat.io/ideogram-mcp
MCP server for the Ideogram V3 API — generate, edit, remix, upscale, and describe images from Claude Code, Claude Desktop, or any MCP client.
Why this server?
- 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
Quick Start
npm install -g @qmediat.io/ideogram-mcpOr use directly:
npx @qmediat.io/ideogram-mcpRequires IDEOGRAM_API_KEY — get one at ideogram.ai/manage-api.
Configuration
Claude Code
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"
}
}
}Claude Desktop
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"
}
}
}
}Environment Variables
| 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) |
Available Tools
| 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) |
Common Parameters
| 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 |
Security
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.
Development
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.jsContributing
See CONTRIBUTING.md for architecture guidelines and PR requirements.
