The genmux MCP server
One MCP server that gives an assistant the image side of genmux: list the catalogue with prices, generate an image with any model, fetch the result, estimate a cost and read the balance — with your API key staying on your machine. Chat and tool calling do not need it: the assistant already speaks to the OpenAI-compatible endpoint directly.
claude mcp add genmux -e GENMUX_API_KEY=nb_live_... -- npx -y @genmux/mcpInstall
The server is the npm package @genmux/mcp and runs over stdio. Every MCP client can start it with npx; the only required setting is the key.
export GENMUX_API_KEY=nb_live_...
npx -y @genmux/mcpEnvironment
| GENMUX_API_KEY | required — an API key from the dashboard |
| GENMUX_API_BASE | optional — defaults to https://api.genmux.tech/v1 |
| GENMUX_OUTPUT_DIR | optional — where saved images go; defaults to ./genmux-images |
What the server exposes
Six tools, a handful of resources the assistant can read on its own, and two prompts that turn a vague request into the right call.
Tools
list_models- The catalogue, optionally filtered by kind (image or text), with the live prices.
generate_image- Generate with a model: prompt, resolution, ratio, n, negative prompt, reference images; optionally saves the files locally.
get_generation- Fetch a job by id — status, images with fresh download URLs, cost.
list_generations- Recent jobs of the account, newest first.
account_balance- The credit balance and the in-flight job count.
estimate_cost- What a request would cost before you run it.
Resources
genmux://docs/llms.txtgenmux://docs/openapi.yamlgenmux://modelsgenmux://snippets/{python,node,curl,openai-sdk}
The API reference as llms.txt and the OpenAPI document, the model list, and ready-made snippets for Python, Node, curl and the OpenAI SDK — so an assistant can integrate genmux into your code without leaving the editor.
Prompts
integrate-genmux- Walks the assistant through adding genmux to a codebase: key, base URL, the endpoints and the billing rules.
pick-a-model- Picks a model for a described task by comparing prices and capabilities from the live catalogue.
There is no chat tool on purpose: assistants call the chat endpoint themselves, and a tool that calls a model from inside a model only adds a hop.
Add it to your client
The same npx command everywhere; only the file the client reads differs. Replace nb_live_... with your key.
Claude Desktop and Claude Code
Claude Code registers the server with one command; Claude Desktop takes the same command/args/env block in its MCP settings.
claude mcp add genmux -e GENMUX_API_KEY=nb_live_... -- npx -y @genmux/mcpCursor
A .cursor/mcp.json in the project (or the global MCP settings) with the standard mcpServers block.
{
"mcpServers": {
"genmux": {
"command": "npx",
"args": ["-y", "@genmux/mcp"],
"env": { "GENMUX_API_KEY": "nb_live_..." }
}
}
}OpenCode
OpenCode declares MCP servers in opencode.json next to the providers — the same file the coding-agents page uses for the chat models.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"genmux": {
"type": "local",
"command": ["npx", "-y", "@genmux/mcp"],
"environment": { "GENMUX_API_KEY": "nb_live_..." }
}
}
}Continue
Continue lists MCP servers in config.yaml; the assistant then sees the tools in agent mode.
mcpServers:
- name: genmux
command: npx
args: ["-y", "@genmux/mcp"]
env:
GENMUX_API_KEY: nb_live_...Hosted endpoint
For clients that prefer a remote server (Claude custom connectors, Cursor's URL servers), the same server runs as Streamable HTTP at mcp.genmux.tech. Authenticate with the key as a bearer token.
{
"mcpServers": {
"genmux": {
"url": "https://mcp.genmux.tech/mcp",
"headers": { "Authorization": "Bearer nb_live_..." }
}
}
}Where the key lives
With npx the server runs on your machine and reads GENMUX_API_KEY from its environment: the key never leaves the process, and the assistant only sees tool results. Images are saved to GENMUX_OUTPUT_DIR when you ask for it.
The hosted endpoint takes the key in the Authorization: Bearer header of every request over TLS; nothing is stored server-side beyond the generation records the API keeps anyway.
Use a dedicated key with a spend you are comfortable with — keys are created, rotated and revoked in the dashboard, and each can carry an IP allowlist.
Questions
- What is the genmux MCP server for?
- It lets an MCP-capable assistant — Claude Desktop, Claude Code, Cursor, OpenCode, Continue — generate images with genmux and look up models, prices, jobs and the balance. The assistant calls the tools; you approve them as with any other MCP server.
- How do I install it?
- npx -y @genmux/mcp with GENMUX_API_KEY set in the environment. Claude Code: claude mcp add genmux -e GENMUX_API_KEY=nb_live_... -- npx -y @genmux/mcp. Other clients take the same command, args and env in their MCP configuration file; the snippets above show each one.
- Is there a hosted version?
- Yes: https://mcp.genmux.tech/mcp speaks Streamable HTTP and authenticates with Authorization: Bearer <your key>. Use it for clients that only take a URL, such as Claude custom connectors; use npx when you want the key to stay on your machine and images saved locally.
- Which tools does it provide?
- list_models, generate_image, get_generation, list_generations, account_balance and estimate_cost, plus resources (the llms.txt reference, the OpenAPI document, the model list and code snippets) and two prompts, integrate-genmux and pick-a-model.
- Can I chat with DeepSeek or Qwen through it?
- Not through the MCP server — deliberately. Chat models are reached through the OpenAI-compatible endpoint, which every assistant and coding agent already supports natively with tool calling; see the coding-agents page for the configs.
- What does it cost?
- The server is free; each generate_image call is billed like any API request — the credits per image shown on the model pages, refunded if the job fails. estimate_cost tells you the figure before the call, account_balance what is left.
- Where do generated images go?
- The API returns download URLs valid for 15 minutes; the tool result carries them. Pass save: true (or ask the assistant to save) and the server writes the files to GENMUX_OUTPUT_DIR, ./genmux-images by default.
- Does the assistant see my API key?
- No. With npx the key is read from the environment by the server process; with the hosted endpoint it travels in the Authorization header your client sends. In neither case does it appear in the conversation.
Get a key and add the server
Sign up, create a key in the dashboard, paste the snippet for your client. The key also drives the chat endpoint in your coding agent.
API reference →