From 510a722f7482366f2b4bcd31953657f38ee4e828 Mon Sep 17 00:00:00 2001 From: fdciabdul Date: Tue, 24 Mar 2026 21:15:54 +0700 Subject: [PATCH] Initial release: MCP Image Generator Multi-provider MCP server for AI image generation. Supports OpenRouter, Together AI, Replicate, and fal.ai. Works with Claude Code, Cursor, Claude Desktop, OpenCode, and Charm. Install via: npx -y mcp-image-generator Co-Authored-By: Claude Opus 4.6 (1M context) --- .claude/settings.local.json | 11 + .gitignore | 5 + .mcp.json | 11 + README.md | 205 ++++++ logo.png | Bin 0 -> 203177 bytes package-lock.json | 1175 +++++++++++++++++++++++++++++++++++ package.json | 48 ++ src/index.ts | 245 ++++++++ src/providers/fal.ts | 124 ++++ src/providers/index.ts | 43 ++ src/providers/openrouter.ts | 138 ++++ src/providers/replicate.ts | 126 ++++ src/providers/together.ts | 124 ++++ src/types.ts | 47 ++ tsconfig.json | 20 + 15 files changed, 2322 insertions(+) create mode 100644 .claude/settings.local.json create mode 100644 .gitignore create mode 100644 .mcp.json create mode 100644 README.md create mode 100644 logo.png create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/index.ts create mode 100644 src/providers/fal.ts create mode 100644 src/providers/index.ts create mode 100644 src/providers/openrouter.ts create mode 100644 src/providers/replicate.ts create mode 100644 src/providers/together.ts create mode 100644 src/types.ts create mode 100644 tsconfig.json diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..4f340a2 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,11 @@ +{ + "permissions": { + "allow": [ + "Bash(npm run:*)", + "Bash(chmod:*)", + "Bash(git init:*)", + "Bash(git checkout:*)", + "Bash(git add:*)" + ] + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1ebc8da --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +node_modules/ +dist/ +*.js.map +.env +generated-images/ diff --git a/.mcp.json b/.mcp.json new file mode 100644 index 0000000..0ff3d25 --- /dev/null +++ b/.mcp.json @@ -0,0 +1,11 @@ +{ + "mcpServers": { + "image-gen": { + "command": "node", + "args": ["dist/index.js"], + "env": { + "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}" + } + } + } +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..fbaeb28 --- /dev/null +++ b/README.md @@ -0,0 +1,205 @@ +

+ MCP Image Generator Logo +

+ +

MCP Image Generator

+ +

+MCP server for AI image generation. Works with Claude Code, Cursor, Claude Desktop, OpenCode, Charm (Crush/Mods), and any MCP-compatible AI agent. +

+ +**Providers supported** (image models only): +- **OpenRouter** (default) — Gemini Flash Image, FLUX 2, Sourceful Riverflow, GPT-5 Image +- **Together AI** — FLUX.1 Schnell/Dev/Pro, Stable Diffusion XL +- **Replicate** — FLUX Schnell, FLUX 1.1 Pro, SDXL, Ideogram +- **fal.ai** — FLUX Dev/Schnell/2 Pro, Recraft V3 + +## Quick Start + +No install needed — just use `npx`: + +```bash +OPENROUTER_API_KEY="sk-or-v1-..." npx -y mcp-image-generator +``` + +## Tools + +### `generate_image` +Generate an image from a text prompt. + +| Parameter | Type | Description | +|-----------|------|-------------| +| `prompt` | string (required) | Text description of the image | +| `model` | string | Model ID (e.g. `google/gemini-2.5-flash-image`) | +| `provider` | string | `openrouter` (default), `together`, `replicate`, `fal` | +| `aspect_ratio` | string | `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, `2:3` | +| `image_size` | string | `1K` (default), `2K`, `4K` | +| `negative_prompt` | string | What to exclude (not all providers support this) | +| `seed` | number | Random seed for reproducibility | +| `save_to` | string | Custom file path to save the image | + +### `list_providers` +List all configured providers and their available image models. + +| Parameter | Type | Description | +|-----------|------|-------------| +| `provider` | string | Filter by provider name | + +--- + +## Setup for AI Agents / IDEs + +### Claude Code + +```bash +claude mcp add --scope user --transport stdio image-gen \ + --env OPENROUTER_API_KEY=sk-or-v1-xxx \ + -- npx -y mcp-image-generator +``` + +Or create `.mcp.json` in your project root: +```json +{ + "mcpServers": { + "image-gen": { + "command": "npx", + "args": ["-y", "mcp-image-generator"], + "env": { + "OPENROUTER_API_KEY": "sk-or-v1-..." + } + } + } +} +``` + +### Cursor + +Edit `~/.cursor/mcp.json`: +```json +{ + "mcpServers": { + "image-gen": { + "command": "npx", + "args": ["-y", "mcp-image-generator"], + "env": { + "OPENROUTER_API_KEY": "sk-or-v1-..." + } + } + } +} +``` + +### Claude Desktop + +Edit the config file: +- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json` +- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json` +- **Linux:** `~/.config/Claude/claude_desktop_config.json` + +```json +{ + "mcpServers": { + "image-gen": { + "command": "npx", + "args": ["-y", "mcp-image-generator"], + "env": { + "OPENROUTER_API_KEY": "sk-or-v1-..." + } + } + } +} +``` + +### OpenCode (by SST) + +Edit `~/.config/opencode/opencode.json` or `opencode.json` in project root: +```json +{ + "mcp": { + "image-gen": { + "type": "local", + "command": ["npx", "-y", "mcp-image-generator"], + "environment": { + "OPENROUTER_API_KEY": "sk-or-v1-..." + }, + "enabled": true, + "timeout": 120000 + } + } +} +``` + +### Charm Crush + +Add to `crush.json` in your project root: +```json +{ + "mcp": { + "image-gen": { + "type": "stdio", + "command": "npx", + "args": ["-y", "mcp-image-generator"], + "env": { + "OPENROUTER_API_KEY": "sk-or-v1-..." + } + } + } +} +``` + +### Charm Mods + +Edit `mods.yml` (`mods --settings`): +```yaml +mcp-servers: + image-gen: + command: [npx] + args: + - -y + - mcp-image-generator + env: + - OPENROUTER_API_KEY=sk-or-v1-... +``` + +### Any MCP-compatible agent + +This server uses **stdio transport** (JSON-RPC over stdin/stdout). Any agent that supports MCP stdio can use it: + +```bash +npx -y mcp-image-generator + +# Required environment variables (at least one) +OPENROUTER_API_KEY=... # OpenRouter (default) +TOGETHER_API_KEY=... # Together AI +REPLICATE_API_TOKEN=... # Replicate +FAL_KEY=... # fal.ai +``` + +## Using Multiple Providers + +Set multiple API keys to use different providers: + +```bash +export OPENROUTER_API_KEY="sk-or-v1-..." +export TOGETHER_API_KEY="..." +export FAL_KEY="..." +``` + +Then specify the provider when generating: +``` +generate_image(prompt="a cat", provider="together", model="black-forest-labs/FLUX.1-schnell") +``` + +## Environment Variables + +| Variable | Provider | Required | +|----------|----------|----------| +| `OPENROUTER_API_KEY` | OpenRouter | At least one | +| `TOGETHER_API_KEY` | Together AI | provider key | +| `REPLICATE_API_TOKEN` | Replicate | is required | +| `FAL_KEY` | fal.ai | | +| `IMAGE_OUTPUT_DIR` | — | Optional. Default: `~/generated-images/` | + +## License + +MIT diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9404629888baec5d29e5dc88c9829d3b845b413b GIT binary patch literal 203177 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

ky+@4AwA$%M=$R^fInoj!XQBE6QhWgghr+ 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

Wh=pq`GJ})=(x<04AMbR)z_t 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 literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..9b0457d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1175 @@ +{ + "name": "mcp-image-generator", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "mcp-image-generator", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@modelcontextprotocol/sdk": "^1.27.1", + "zod": "^4.3.6" + }, + "devDependencies": { + "@types/node": "^25.5.0", + "typescript": "^6.0.2" + } + }, + "node_modules/@hono/node-server": { + "version": "1.19.11", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.11.tgz", + "integrity": "sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==", + "license": "MIT", + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "hono": "^4" + } + }, + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.27.1", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.27.1.tgz", + "integrity": "sha512-sr6GbP+4edBwFndLbM60gf07z0FQ79gaExpnsjMGePXqFcSSb7t6iscpjk9DhFhwd+mTEQrzNafGP8/iGGFYaA==", + "license": "MIT", + "dependencies": { + "@hono/node-server": "^1.19.9", + "ajv": "^8.17.1", + "ajv-formats": "^3.0.1", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.2.1", + "express-rate-limit": "^8.2.1", + "hono": "^4.11.4", + "jose": "^6.1.3", + "json-schema-typed": "^8.0.2", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.25 || ^4.0", + "zod-to-json-schema": "^3.25.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@cfworker/json-schema": "^4.1.1", + "zod": "^3.25 || ^4.0" + }, + "peerDependenciesMeta": { + "@cfworker/json-schema": { + "optional": true + }, + "zod": { + "optional": false + } + } + }, + "node_modules/@types/node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz", + "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/body-parser": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/content-disposition": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", + "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", + "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-rate-limit": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.3.1.tgz", + "integrity": "sha512-D1dKN+cmyPWuvB+G2SREQDzPY1agpBIcTa9sJxOPMCNeH3gwzhqJRDWCXW3gg0y//+LQ/8j52JbMROWyrKdMdw==", + "license": "MIT", + "dependencies": { + "ip-address": "10.1.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hono": { + "version": "4.12.9", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.9.tgz", + "integrity": "sha512-wy3T8Zm2bsEvxKZM5w21VdHDDcwVS1yUFFY6i8UobSsKfFceT7TOwhbhfKsDyx7tYQlmRM5FLpIuYvNFyjctiA==", + "license": "MIT", + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ip-address": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", + "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jose": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.2.tgz", + "integrity": "sha512-d7kPDd34KO/YnzaDOlikGpOurfF0ByC2sEV4cANCtdqLlTfBlw2p14O/5d/zv40gJPbIQxfES3nSx1/oYNyuZQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json-schema-typed": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", + "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==", + "license": "BSD-2-Clause" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-to-regexp": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/pkce-challenge": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz", + "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==", + "license": "MIT", + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz", + "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", + "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/zod": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", + "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.25 || ^4" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..9e7dab6 --- /dev/null +++ b/package.json @@ -0,0 +1,48 @@ +{ + "name": "mcp-image-generator", + "version": "1.0.0", + "description": "MCP server for AI image generation via OpenRouter, Together AI, Replicate, and fal.ai", + "type": "module", + "main": "dist/index.js", + "bin": { + "mcp-image-generator": "dist/index.js" + }, + "files": [ + "dist", + "README.md", + "logo.png" + ], + "scripts": { + "build": "tsc", + "start": "node dist/index.js", + "prepublishOnly": "npm run build" + }, + "keywords": [ + "mcp", + "image-generation", + "openrouter", + "together-ai", + "replicate", + "fal-ai", + "ai", + "claude-code", + "cursor", + "claude-desktop", + "opencode", + "model-context-protocol" + ], + "author": "fdciabdul", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://git.imtaqin.id/fdciabdul/MCP-IMAGE-GENERATOR.git" + }, + "dependencies": { + "@modelcontextprotocol/sdk": "^1.27.1", + "zod": "^4.3.6" + }, + "devDependencies": { + "@types/node": "^25.5.0", + "typescript": "^6.0.2" + } +} diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..31496f9 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,245 @@ +#!/usr/bin/env node +import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; +import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; +import { z } from "zod"; +import { createProviders, getDefaultProvider } from "./providers/index.js"; +import type { ImageProvider, ImageModel } from "./types.js"; +import { writeFile, mkdir } from "node:fs/promises"; +import { join, resolve } from "node:path"; +import { existsSync } from "node:fs"; + +const providers = createProviders(); + +if (providers.size === 0) { + console.error( + "No API keys configured. Set at least one of: OPENROUTER_API_KEY, TOGETHER_API_KEY, REPLICATE_API_TOKEN, FAL_KEY" + ); + process.exit(1); +} + +const server = new McpServer({ + name: "mcp-image-generator", + version: "1.0.0", +}); + +// ─── Tool: list_providers ─────────────────────────────────────────────────── + +server.registerTool("list_providers", { + title: "List Image Providers", + description: "List all configured image generation providers and their available models", + inputSchema: { + provider: z + .string() + .optional() + .describe("Filter by provider name: openrouter, together, replicate, fal"), + }, +}, async ({ provider: providerName }) => { + const targetProviders: ImageProvider[] = []; + + if (providerName) { + const p = providers.get(providerName); + if (!p) { + return { + content: [ + { + type: "text" as const, + text: `Provider "${providerName}" is not configured. Available: ${[...providers.keys()].join(", ")}`, + }, + ], + }; + } + targetProviders.push(p); + } else { + targetProviders.push(...providers.values()); + } + + const allModels: ImageModel[] = []; + for (const p of targetProviders) { + try { + const models = await p.listModels(); + allModels.push(...models); + } catch (err) { + allModels.push({ + id: `error-${p.name}`, + name: `Error loading ${p.name} models`, + provider: p.name, + description: String(err), + inputModalities: [], + outputModalities: [], + modalities: [], + }); + } + } + + const grouped = new Map(); + for (const m of allModels) { + const list = grouped.get(m.provider) ?? []; + list.push(m); + grouped.set(m.provider, list); + } + + let text = `# Available Image Generation Models\n\n`; + text += `**Configured providers:** ${[...providers.keys()].join(", ")}\n\n`; + + for (const [provName, models] of grouped) { + text += `## ${provName}\n\n`; + for (const m of models) { + text += `- **${m.id}** — ${m.name}`; + if (m.description) text += ` — ${m.description}`; + if (m.pricing) text += ` (${m.pricing})`; + text += `\n`; + } + text += `\n`; + } + + return { content: [{ type: "text" as const, text }] }; +}); + +// ─── Tool: generate_image ─────────────────────────────────────────────────── + +const outputDir = resolve(process.env["IMAGE_OUTPUT_DIR"] ?? process.env["HOME"] ?? ".", "generated-images"); + +server.registerTool("generate_image", { + title: "Generate Image", + description: + "Generate an image from a text prompt. Uses OpenRouter by default. Supports multiple providers: openrouter, together, replicate, fal.", + inputSchema: { + prompt: z.string().describe("Text description of the image to generate"), + model: z + .string() + .optional() + .describe("Model ID (e.g. 'google/gemini-2.5-flash-image', 'black-forest-labs/flux-schnell')"), + provider: z + .string() + .optional() + .describe("Provider to use: openrouter (default), together, replicate, fal"), + aspect_ratio: z + .string() + .optional() + .describe("Aspect ratio: 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3"), + image_size: z + .string() + .optional() + .describe("Image resolution: 1K (default), 2K, 4K"), + negative_prompt: z + .string() + .optional() + .describe("What to exclude from the image (not supported by all providers)"), + seed: z.number().optional().describe("Random seed for reproducibility"), + save_to: z + .string() + .optional() + .describe("Custom file path to save the image. Defaults to ~/generated-images/"), + }, +}, async ({ prompt, model, provider: providerName, aspect_ratio, image_size, negative_prompt, seed, save_to }) => { + // Select provider + let selectedProvider: ImageProvider | undefined; + if (providerName) { + selectedProvider = providers.get(providerName); + if (!selectedProvider) { + return { + content: [ + { + type: "text" as const, + text: `Provider "${providerName}" is not configured. Available: ${[...providers.keys()].join(", ")}`, + }, + ], + }; + } + } else { + selectedProvider = getDefaultProvider(providers); + } + + if (!selectedProvider) { + return { + content: [{ type: "text" as const, text: "No providers configured." }], + }; + } + + try { + const result = await selectedProvider.generateImage({ + prompt, + model, + provider: selectedProvider.name, + aspectRatio: aspect_ratio, + imageSize: image_size, + negativePrompt: negative_prompt, + seed, + }); + + if (result.images.length === 0) { + return { + content: [ + { + type: "text" as const, + text: `Image generation completed but no images were returned. Model: ${result.model}, Provider: ${result.provider}`, + }, + ], + }; + } + + // Save images to disk + const saveDir = save_to ? resolve(save_to, "..") : outputDir; + if (!existsSync(saveDir)) { + await mkdir(saveDir, { recursive: true }); + } + + const contentItems: Array< + | { type: "text"; text: string } + | { type: "image"; data: string; mimeType: string } + > = []; + + for (let i = 0; i < result.images.length; i++) { + const img = result.images[i]!; + const ext = img.mimeType.includes("webp") + ? "webp" + : img.mimeType.includes("jpeg") || img.mimeType.includes("jpg") + ? "jpg" + : "png"; + + const filename = save_to + ? save_to + : join(saveDir, `img_${Date.now()}_${i}.${ext}`); + + await writeFile(filename, Buffer.from(img.base64, "base64")); + + contentItems.push({ + type: "text" as const, + text: `Image ${i + 1} saved to: ${filename}\nModel: ${result.model} | Provider: ${result.provider}${ + result.usage?.cost != null ? ` | Cost: $${result.usage.cost.toFixed(4)}` : "" + }`, + }); + + contentItems.push({ + type: "image" as const, + data: img.base64, + mimeType: img.mimeType, + }); + } + + return { content: contentItems }; + } catch (err) { + return { + content: [ + { + type: "text" as const, + text: `Image generation failed: ${err instanceof Error ? err.message : String(err)}`, + }, + ], + }; + } +}); + +// ─── Start Server ─────────────────────────────────────────────────────────── + +async function main() { + const transport = new StdioServerTransport(); + await server.connect(transport); + console.error("MCP Image Generator server started"); + console.error(`Providers: ${[...providers.keys()].join(", ")}`); +} + +main().catch((err) => { + console.error("Fatal error:", err); + process.exit(1); +}); diff --git a/src/providers/fal.ts b/src/providers/fal.ts new file mode 100644 index 0000000..6be622f --- /dev/null +++ b/src/providers/fal.ts @@ -0,0 +1,124 @@ +import type { ImageProvider, ImageModel, GenerateImageRequest, GenerateImageResult } from "../types.js"; + +const API_BASE = "https://queue.fal.run"; + +const FAL_IMAGE_MODELS: ImageModel[] = [ + { + id: "fal-ai/flux/dev", + name: "FLUX.1 Dev", + provider: "fal", + description: "FLUX.1 development model on fal.ai", + inputModalities: ["text"], + outputModalities: ["image"], + modalities: ["image"], + }, + { + id: "fal-ai/flux/schnell", + name: "FLUX.1 Schnell", + provider: "fal", + description: "Fast FLUX model on fal.ai", + inputModalities: ["text"], + outputModalities: ["image"], + modalities: ["image"], + }, + { + id: "fal-ai/flux-2-pro", + name: "FLUX 2 Pro", + provider: "fal", + description: "Professional FLUX 2 model", + inputModalities: ["text"], + outputModalities: ["image"], + modalities: ["image"], + }, + { + id: "fal-ai/recraft-v3", + name: "Recraft V3", + provider: "fal", + description: "High quality image generation", + inputModalities: ["text"], + outputModalities: ["image"], + modalities: ["image"], + }, +]; + +export class FalProvider implements ImageProvider { + name = "fal"; + private apiKey: string; + + constructor(apiKey: string) { + this.apiKey = apiKey; + } + + async listModels(): Promise { + return FAL_IMAGE_MODELS; + } + + private parseImageSize(aspectRatio?: string): string { + const sizeMap: Record = { + "1:1": "square_hd", + "16:9": "landscape_16_9", + "9:16": "portrait_16_9", + "4:3": "landscape_4_3", + "3:4": "portrait_4_3", + }; + return sizeMap[aspectRatio ?? "1:1"] ?? "square_hd"; + } + + async generateImage(request: GenerateImageRequest): Promise { + const model = request.model ?? "fal-ai/flux/schnell"; + + const body: Record = { + prompt: request.prompt, + image_size: this.parseImageSize(request.aspectRatio), + num_images: request.n ?? 1, + output_format: "png", + sync_mode: true, + }; + + if (request.negativePrompt) body.negative_prompt = request.negativePrompt; + if (request.steps) body.num_inference_steps = request.steps; + if (request.seed != null) body.seed = request.seed; + + const res = await fetch(`${API_BASE}/${model}`, { + method: "POST", + headers: { + Authorization: `Key ${this.apiKey}`, + "Content-Type": "application/json", + }, + body: JSON.stringify(body), + }); + + if (!res.ok) { + throw new Error(`fal.ai error: ${res.status} ${await res.text()}`); + } + + const data = (await res.json()) as { + images: Array<{ + url: string; + width: number; + height: number; + content_type?: string; + }>; + }; + + // Download images and convert to base64 + const images = await Promise.all( + data.images.map(async (img) => { + const imgRes = await fetch(img.url); + const arrayBuf = await imgRes.arrayBuffer(); + const base64 = Buffer.from(arrayBuf).toString("base64"); + return { + base64, + mimeType: img.content_type ?? "image/png", + url: img.url, + }; + }) + ); + + return { + images, + model, + provider: "fal", + }; + } +} diff --git a/src/providers/index.ts b/src/providers/index.ts new file mode 100644 index 0000000..bbf9396 --- /dev/null +++ b/src/providers/index.ts @@ -0,0 +1,43 @@ +import type { ImageProvider } from "../types.js"; +import { OpenRouterProvider } from "./openrouter.js"; +import { TogetherProvider } from "./together.js"; +import { ReplicateProvider } from "./replicate.js"; +import { FalProvider } from "./fal.js"; + +export function createProviders(): Map { + const providers = new Map(); + + const openrouterKey = process.env["OPENROUTER_API_KEY"]; + if (openrouterKey) { + providers.set("openrouter", new OpenRouterProvider(openrouterKey)); + } + + const togetherKey = process.env["TOGETHER_API_KEY"]; + if (togetherKey) { + providers.set("together", new TogetherProvider(togetherKey)); + } + + const replicateKey = process.env["REPLICATE_API_TOKEN"]; + if (replicateKey) { + providers.set("replicate", new ReplicateProvider(replicateKey)); + } + + const falKey = process.env["FAL_KEY"]; + if (falKey) { + providers.set("fal", new FalProvider(falKey)); + } + + return providers; +} + +export function getDefaultProvider(providers: Map): ImageProvider | undefined { + // Priority: openrouter > together > fal > replicate + return ( + providers.get("openrouter") ?? + providers.get("together") ?? + providers.get("fal") ?? + providers.get("replicate") + ); +} + +export { OpenRouterProvider, TogetherProvider, ReplicateProvider, FalProvider }; diff --git a/src/providers/openrouter.ts b/src/providers/openrouter.ts new file mode 100644 index 0000000..5822901 --- /dev/null +++ b/src/providers/openrouter.ts @@ -0,0 +1,138 @@ +import type { ImageProvider, ImageModel, GenerateImageRequest, GenerateImageResult } from "../types.js"; + +const API_BASE = "https://openrouter.ai/api/v1"; + +export class OpenRouterProvider implements ImageProvider { + name = "openrouter"; + private apiKey: string; + + constructor(apiKey: string) { + this.apiKey = apiKey; + } + + private headers(): Record { + return { + Authorization: `Bearer ${this.apiKey}`, + "Content-Type": "application/json", + "HTTP-Referer": "https://github.com/mcp-image-generator", + "X-Title": "MCP Image Generator", + }; + } + + async listModels(): Promise { + const res = await fetch(`${API_BASE}/models?output_modalities=image`, { + headers: this.headers(), + }); + + if (!res.ok) { + throw new Error(`OpenRouter models API error: ${res.status} ${await res.text()}`); + } + + const data = (await res.json()) as { + data: Array<{ + id: string; + name: string; + description?: string; + pricing?: { prompt?: string; completion?: string; image?: string }; + architecture?: { + input_modalities?: string[]; + output_modalities?: string[]; + }; + }>; + }; + + return data.data.map((m) => ({ + id: m.id, + name: m.name, + provider: "openrouter", + description: m.description, + pricing: m.pricing?.image ?? m.pricing?.completion, + inputModalities: m.architecture?.input_modalities ?? ["text"], + outputModalities: m.architecture?.output_modalities ?? ["image"], + modalities: this.getModalities(m.architecture?.output_modalities ?? ["image"]), + supportedAspectRatios: [ + "1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "21:9", "9:21", + ], + supportedSizes: ["1K", "2K", "4K"], + })); + } + + private getModalities(outputModalities: string[]): string[] { + if (outputModalities.includes("text") && outputModalities.includes("image")) { + return ["image", "text"]; + } + return ["image"]; + } + + async generateImage(request: GenerateImageRequest): Promise { + const model = request.model ?? "google/gemini-2.5-flash-image"; + + // Determine modalities based on model + const isImageOnly = model.includes("flux") || model.includes("sourceful") || model.includes("riverflow"); + const modalities = isImageOnly ? ["image"] : ["image", "text"]; + + const body: Record = { + model, + modalities, + messages: [ + { + role: "user", + content: request.prompt, + }, + ], + }; + + const imageConfig: Record = {}; + if (request.aspectRatio) imageConfig.aspect_ratio = request.aspectRatio; + if (request.imageSize) imageConfig.image_size = request.imageSize; + if (Object.keys(imageConfig).length > 0) body.image_config = imageConfig; + + const res = await fetch(`${API_BASE}/chat/completions`, { + method: "POST", + headers: this.headers(), + body: JSON.stringify(body), + }); + + if (!res.ok) { + const errText = await res.text(); + throw new Error(`OpenRouter generation error: ${res.status} ${errText}`); + } + + const data = (await res.json()) as { + model: string; + choices: Array<{ + message: { + content?: string; + images?: Array<{ image_url: { url: string } }>; + }; + }>; + usage?: { + prompt_tokens?: number; + total_tokens?: number; + cost?: number; + }; + }; + + const message = data.choices[0]?.message; + const images = + message?.images?.map((img) => { + const url = img.image_url.url; + // Strip data URL prefix to get raw base64 + const base64 = url.replace(/^data:image\/\w+;base64,/, ""); + const mimeMatch = url.match(/^data:(image\/\w+);base64,/); + const mimeType = mimeMatch?.[1] ?? "image/png"; + return { base64, mimeType, url }; + }) ?? []; + + return { + images, + model: data.model, + provider: "openrouter", + usage: { + promptTokens: data.usage?.prompt_tokens, + totalTokens: data.usage?.total_tokens, + cost: data.usage?.cost, + }, + }; + } +} diff --git a/src/providers/replicate.ts b/src/providers/replicate.ts new file mode 100644 index 0000000..a434cfb --- /dev/null +++ b/src/providers/replicate.ts @@ -0,0 +1,126 @@ +import type { ImageProvider, ImageModel, GenerateImageRequest, GenerateImageResult } from "../types.js"; + +const API_BASE = "https://api.replicate.com/v1"; + +const REPLICATE_IMAGE_MODELS: ImageModel[] = [ + { + id: "black-forest-labs/flux-schnell", + name: "FLUX Schnell", + provider: "replicate", + description: "Fast, high-quality image generation", + inputModalities: ["text"], + outputModalities: ["image"], + modalities: ["image"], + }, + { + id: "black-forest-labs/flux-1.1-pro", + name: "FLUX 1.1 Pro", + provider: "replicate", + description: "Professional quality FLUX model", + inputModalities: ["text"], + outputModalities: ["image"], + modalities: ["image"], + }, + { + id: "stability-ai/sdxl", + name: "Stable Diffusion XL", + provider: "replicate", + description: "Stable Diffusion XL on Replicate", + inputModalities: ["text"], + outputModalities: ["image"], + modalities: ["image"], + }, + { + id: "ideogram-ai/ideogram-v2-turbo", + name: "Ideogram V2 Turbo", + provider: "replicate", + description: "Excellent text rendering in images", + inputModalities: ["text"], + outputModalities: ["image"], + modalities: ["image"], + }, +]; + +export class ReplicateProvider implements ImageProvider { + name = "replicate"; + private apiKey: string; + + constructor(apiKey: string) { + this.apiKey = apiKey; + } + + async listModels(): Promise { + return REPLICATE_IMAGE_MODELS; + } + + async generateImage(request: GenerateImageRequest): Promise { + const model = request.model ?? "black-forest-labs/flux-schnell"; + + const input: Record = { + prompt: request.prompt, + }; + + if (request.aspectRatio) input.aspect_ratio = request.aspectRatio; + if (request.negativePrompt) input.negative_prompt = request.negativePrompt; + if (request.steps) input.num_inference_steps = request.steps; + if (request.seed != null) input.seed = request.seed; + if (request.n) input.num_outputs = request.n; + + // Create prediction + const createRes = await fetch(`${API_BASE}/models/${model}/predictions`, { + method: "POST", + headers: { + Authorization: `Bearer ${this.apiKey}`, + "Content-Type": "application/json", + Prefer: "wait=60", + }, + body: JSON.stringify({ input }), + }); + + if (!createRes.ok) { + throw new Error(`Replicate error: ${createRes.status} ${await createRes.text()}`); + } + + let prediction = (await createRes.json()) as { + id: string; + status: string; + output?: string[]; + error?: string; + urls?: { get?: string }; + }; + + // Poll if not yet complete + if (prediction.status !== "succeeded" && prediction.status !== "failed") { + const getUrl = prediction.urls?.get ?? `${API_BASE}/predictions/${prediction.id}`; + for (let i = 0; i < 60; i++) { + await new Promise((r) => setTimeout(r, 2000)); + const pollRes = await fetch(getUrl, { + headers: { Authorization: `Bearer ${this.apiKey}` }, + }); + prediction = (await pollRes.json()) as typeof prediction; + if (prediction.status === "succeeded" || prediction.status === "failed") break; + } + } + + if (prediction.status === "failed") { + throw new Error(`Replicate prediction failed: ${prediction.error}`); + } + + // Download images and convert to base64 + const images = await Promise.all( + (prediction.output ?? []).map(async (url) => { + const imgRes = await fetch(url); + const arrayBuf = await imgRes.arrayBuffer(); + const base64 = Buffer.from(arrayBuf).toString("base64"); + const contentType = imgRes.headers.get("content-type") ?? "image/webp"; + return { base64, mimeType: contentType, url }; + }) + ); + + return { + images, + model, + provider: "replicate", + }; + } +} diff --git a/src/providers/together.ts b/src/providers/together.ts new file mode 100644 index 0000000..234f33d --- /dev/null +++ b/src/providers/together.ts @@ -0,0 +1,124 @@ +import type { ImageProvider, ImageModel, GenerateImageRequest, GenerateImageResult } from "../types.js"; + +const API_BASE = "https://api.together.xyz/v1"; + +const TOGETHER_IMAGE_MODELS: ImageModel[] = [ + { + id: "black-forest-labs/FLUX.1-schnell", + name: "FLUX.1 Schnell", + provider: "together", + description: "Fast image generation (free tier available)", + inputModalities: ["text"], + outputModalities: ["image"], + modalities: ["image"], + }, + { + id: "black-forest-labs/FLUX.1-dev", + name: "FLUX.1 Dev", + provider: "together", + description: "Development quality FLUX model", + inputModalities: ["text"], + outputModalities: ["image"], + modalities: ["image"], + }, + { + id: "black-forest-labs/FLUX.1.1-pro", + name: "FLUX 1.1 Pro", + provider: "together", + description: "Professional quality FLUX model", + inputModalities: ["text"], + outputModalities: ["image"], + modalities: ["image"], + }, + { + id: "stabilityai/stable-diffusion-xl-base-1.0", + name: "Stable Diffusion XL", + provider: "together", + description: "Stable Diffusion XL base model", + inputModalities: ["text"], + outputModalities: ["image"], + modalities: ["image"], + }, +]; + +export class TogetherProvider implements ImageProvider { + name = "together"; + private apiKey: string; + + constructor(apiKey: string) { + this.apiKey = apiKey; + } + + async listModels(): Promise { + return TOGETHER_IMAGE_MODELS; + } + + private parseSize(aspectRatio?: string, imageSize?: string): { width: number; height: number } { + const baseSize = imageSize === "2K" ? 2048 : imageSize === "4K" ? 2048 : 1024; + + if (!aspectRatio || aspectRatio === "1:1") { + return { width: baseSize, height: baseSize }; + } + + const ratioMap: Record = { + "16:9": [1344, 768], + "9:16": [768, 1344], + "4:3": [1152, 896], + "3:4": [896, 1152], + "3:2": [1216, 832], + "2:3": [832, 1216], + }; + + const dims = ratioMap[aspectRatio]; + if (dims) return { width: dims[0], height: dims[1] }; + return { width: baseSize, height: baseSize }; + } + + async generateImage(request: GenerateImageRequest): Promise { + const model = request.model ?? "black-forest-labs/FLUX.1-schnell"; + const { width, height } = this.parseSize(request.aspectRatio, request.imageSize); + + const body: Record = { + model, + prompt: request.prompt, + width, + height, + n: request.n ?? 1, + response_format: "b64_json", + }; + + if (request.negativePrompt) body.negative_prompt = request.negativePrompt; + if (request.steps) body.steps = request.steps; + if (request.seed != null) body.seed = request.seed; + + const res = await fetch(`${API_BASE}/images/generations`, { + method: "POST", + headers: { + Authorization: `Bearer ${this.apiKey}`, + "Content-Type": "application/json", + }, + body: JSON.stringify(body), + }); + + if (!res.ok) { + throw new Error(`Together AI error: ${res.status} ${await res.text()}`); + } + + const data = (await res.json()) as { + model: string; + data: Array<{ b64_json?: string; url?: string }>; + }; + + const images = data.data.map((d) => ({ + base64: d.b64_json ?? "", + mimeType: "image/png" as const, + url: d.url, + })); + + return { + images, + model: data.model ?? model, + provider: "together", + }; + } +} diff --git a/src/types.ts b/src/types.ts new file mode 100644 index 0000000..2268d58 --- /dev/null +++ b/src/types.ts @@ -0,0 +1,47 @@ +export interface ImageModel { + id: string; + name: string; + provider: string; + description?: string; + pricing?: string; + inputModalities: string[]; + outputModalities: string[]; + modalities: string[]; + supportedAspectRatios?: string[]; + supportedSizes?: string[]; +} + +export interface GenerateImageRequest { + prompt: string; + model?: string; + provider?: string; + aspectRatio?: string; + imageSize?: string; + negativePrompt?: string; + steps?: number; + seed?: number; + n?: number; +} + +export interface GenerateImageResult { + images: GeneratedImage[]; + model: string; + provider: string; + usage?: { + promptTokens?: number; + totalTokens?: number; + cost?: number; + }; +} + +export interface GeneratedImage { + base64: string; + mimeType: string; + url?: string; +} + +export interface ImageProvider { + name: string; + listModels(): Promise; + generateImage(request: GenerateImageRequest): Promise; +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..764ddc9 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "module": "nodenext", + "target": "es2022", + "types": ["node"], + "lib": ["es2022"], + "sourceMap": true, + "declaration": true, + "strict": true, + "verbatimModuleSyntax": true, + "isolatedModules": true, + "moduleDetection": "force", + "skipLibCheck": true, + "moduleResolution": "nodenext", + "esModuleInterop": true + }, + "include": ["src/**/*"] +}