io.github.qmediat/ideogram-mcp
Ideogram V3 API — generate, edit, remix, reframe, replace background, upscale images
Open source Open in the app JSON README (API)
About
Ideogram V3 API — generate, edit, remix, reframe, replace background, upscale images
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- qmediat
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 1.0.2
- Last push
- 2026-04-05T12:51:46Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-08-29 04:01:15
- Updated
- 2026-08-29 04:01:15
- Origin id
io.github.qmediat/ideogram-mcp
README
# @qmediat.io/ideogram-mcp
MCP server for the [Ideogram V3 API](https://developer.ideogram.ai) — generate, edit, remix, upscale, and describe images from Claude Code, Claude Desktop, or any MCP client.
[](https://www.npmjs.com/package/@qmediat.io/ideogram-mcp)
[](./LICENSE)
[](./tsconfig.json)
## 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](./SECURITY.md))
- **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
```bash
npm install -g @qmediat.io/ideogram-mcp
```
Or use directly:
```bash
npx @qmediat.io/ideogram-mcp
```
Requires `IDEOGRAM_API_KEY` — get one at [ideogram.ai/manage-api](https://ideogram.ai/manage-api).
## Configuration
### Claude Code
Add to `~/.claude.json` → `mcpServers`:
```json
{
"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`:
```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](https://ideogram.ai/manage-api)) |
| `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](./SECURITY.md).
## Development
```bash
git clone https://github.com/qmediat/ideogram-mcp.git
cd ideogram-mcp
npm install
npm run build
```
Run locally:
```bash
IDEOGRAM_API_KEY=your-key node dist/index.js
```
## Contributing
See [CONTRIBUTING.md](./CONTRIBUTING.md) for architecture guidelines and PR requirements.
## License
[MIT](./LICENSE) — [Quantum Media Technologies](https://www.qmediat.io)