images-mcp
image-mcp
An MCP server that provides image generation tools powered by OpenRouter. Runs on Cloudflare Workers.
Tools
generate_image
Generate an image from a text prompt.
Parameter | Type | Required | Description |
| string | yes | Image description (max 1500 chars) |
| string | no |
|
| string | no |
|
| string | no | OpenRouter image model (default: |
Setup
1. Get an OpenRouter API key
Create an API key at OpenRouter.
2. Configure your MCP client
Add the server to your MCP configuration file (e.g. ~/.claude/mcp.json for Claude Code, claude_desktop_config.json for Claude Desktop):
{
"mcpServers": {
"image-mcp": {
"type": "url",
"url": "https://image.mcp.nqs.io?apiKey=YOUR_OPENROUTER_API_KEY"
}
}
}Replace YOUR_OPENROUTER_API_KEY with your actual OpenRouter API key.
Self-hosting
If you'd prefer to deploy your own instance instead of using the hosted version:
Prerequisites
Node.js >= 20
A Cloudflare account
An OpenRouter API key
Deploy
Clone the repo and install dependencies:
git clone https://github.com/nqs/images-mcp.git cd images-mcp npm installSet your OpenRouter API key as a Wrangler secret:
npx wrangler secret put OPENROUTER_API_KEY # Paste your OpenRouter API key when promptedUpdate
wrangler.tomlwith your own domain or remove theroutessection to use the default*.workers.devsubdomain.Deploy with Wrangler:
npx wrangler deployOr push to
mainto trigger the included GitHub Actions workflow (requiresCLOUDFLARE_API_TOKENandCLOUDFLARE_ACCOUNT_IDsecrets).Point your MCP config at your deployed URL:
{ "mcpServers": { "image-mcp": { "type": "url", "url": "https://your-worker.your-subdomain.workers.dev?apiKey=YOUR_OPENROUTER_API_KEY" } } }
Local development
export OPENROUTER_API_KEY="your-openrouter-key-here"
npm run dev # starts server with file watcher
npm test # runs the test suiteImage Generation Model
This server uses black-forest-labs/flux.2-klein-4b via OpenRouter for image generation by default. You can specify a different model via the model parameter in the generate_image tool call.
License
MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nqs/images-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server