PluginBench
MCP Server
Active
MIT

Image Gen MCP Server

com.nuverlabs/image-gen

What is the Image Gen MCP server?

Generate and edit images from your coding agent with Gemini and OpenAI, using your own API keys.

How to install Image Gen

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • GEMINI_API_KEY
    secret

    Google Gemini API key. Enables the Gemini provider. At least one provider key is required.

  • OPENAI_API_KEY
    secret

    OpenAI API key. Enables the OpenAI provider. At least one provider key is required.

  • IMAGE_GEN_MCP_DEFAULT_PROVIDER

    Provider used when a tool call does not name one: gemini or openai. Defaults to whichever key is set, preferring gemini.

  • IMAGE_GEN_MCP_GEMINI_MODEL

    Default Gemini model. Defaults to gemini-3.1-flash-image.

  • IMAGE_GEN_MCP_OPENAI_MODEL

    Default OpenAI model. Defaults to gpt-image-2.

  • IMAGE_GEN_MCP_OUTPUT_DIR

    Directory used when a tool call passes no output_path.

  • IMAGE_GEN_MCP_ALLOWED_DIRS

    Comma separated directories that file reads and writes are confined to. Unset means unrestricted.

  • IMAGE_GEN_MCP_TIMEOUT_MS

    Per-request timeout to the provider API in milliseconds. Defaults to 180000.

  • IMAGE_GEN_MCP_LOG_FILE

    Path of the JSONL image ledger. Defaults to ~/.image-gen-mcp/images.jsonl. Set to none to disable the file.

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "image-gen": {
      "command": "npx",
      "args": [
        "-y",
        "@nuver-labs/image-gen-mcp"
      ],
      "env": {
        "GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "IMAGE_GEN_MCP_DEFAULT_PROVIDER": "<YOUR_IMAGE_GEN_MCP_DEFAULT_PROVIDER>",
        "IMAGE_GEN_MCP_GEMINI_MODEL": "<YOUR_IMAGE_GEN_MCP_GEMINI_MODEL>",
        "IMAGE_GEN_MCP_OPENAI_MODEL": "<YOUR_IMAGE_GEN_MCP_OPENAI_MODEL>",
        "IMAGE_GEN_MCP_OUTPUT_DIR": "<YOUR_IMAGE_GEN_MCP_OUTPUT_DIR>",
        "IMAGE_GEN_MCP_ALLOWED_DIRS": "<YOUR_IMAGE_GEN_MCP_ALLOWED_DIRS>",
        "IMAGE_GEN_MCP_TIMEOUT_MS": "<YOUR_IMAGE_GEN_MCP_TIMEOUT_MS>",
        "IMAGE_GEN_MCP_LOG_FILE": "<YOUR_IMAGE_GEN_MCP_LOG_FILE>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "image-gen": {
      "command": "npx",
      "args": [
        "-y",
        "@nuver-labs/image-gen-mcp"
      ],
      "env": {
        "GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "IMAGE_GEN_MCP_DEFAULT_PROVIDER": "<YOUR_IMAGE_GEN_MCP_DEFAULT_PROVIDER>",
        "IMAGE_GEN_MCP_GEMINI_MODEL": "<YOUR_IMAGE_GEN_MCP_GEMINI_MODEL>",
        "IMAGE_GEN_MCP_OPENAI_MODEL": "<YOUR_IMAGE_GEN_MCP_OPENAI_MODEL>",
        "IMAGE_GEN_MCP_OUTPUT_DIR": "<YOUR_IMAGE_GEN_MCP_OUTPUT_DIR>",
        "IMAGE_GEN_MCP_ALLOWED_DIRS": "<YOUR_IMAGE_GEN_MCP_ALLOWED_DIRS>",
        "IMAGE_GEN_MCP_TIMEOUT_MS": "<YOUR_IMAGE_GEN_MCP_TIMEOUT_MS>",
        "IMAGE_GEN_MCP_LOG_FILE": "<YOUR_IMAGE_GEN_MCP_LOG_FILE>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "image-gen": {
      "command": "npx",
      "args": [
        "-y",
        "@nuver-labs/image-gen-mcp"
      ],
      "env": {
        "GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "IMAGE_GEN_MCP_DEFAULT_PROVIDER": "<YOUR_IMAGE_GEN_MCP_DEFAULT_PROVIDER>",
        "IMAGE_GEN_MCP_GEMINI_MODEL": "<YOUR_IMAGE_GEN_MCP_GEMINI_MODEL>",
        "IMAGE_GEN_MCP_OPENAI_MODEL": "<YOUR_IMAGE_GEN_MCP_OPENAI_MODEL>",
        "IMAGE_GEN_MCP_OUTPUT_DIR": "<YOUR_IMAGE_GEN_MCP_OUTPUT_DIR>",
        "IMAGE_GEN_MCP_ALLOWED_DIRS": "<YOUR_IMAGE_GEN_MCP_ALLOWED_DIRS>",
        "IMAGE_GEN_MCP_TIMEOUT_MS": "<YOUR_IMAGE_GEN_MCP_TIMEOUT_MS>",
        "IMAGE_GEN_MCP_LOG_FILE": "<YOUR_IMAGE_GEN_MCP_LOG_FILE>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "image-gen": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@nuver-labs/image-gen-mcp"
      ],
      "env": {
        "GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "IMAGE_GEN_MCP_DEFAULT_PROVIDER": "<YOUR_IMAGE_GEN_MCP_DEFAULT_PROVIDER>",
        "IMAGE_GEN_MCP_GEMINI_MODEL": "<YOUR_IMAGE_GEN_MCP_GEMINI_MODEL>",
        "IMAGE_GEN_MCP_OPENAI_MODEL": "<YOUR_IMAGE_GEN_MCP_OPENAI_MODEL>",
        "IMAGE_GEN_MCP_OUTPUT_DIR": "<YOUR_IMAGE_GEN_MCP_OUTPUT_DIR>",
        "IMAGE_GEN_MCP_ALLOWED_DIRS": "<YOUR_IMAGE_GEN_MCP_ALLOWED_DIRS>",
        "IMAGE_GEN_MCP_TIMEOUT_MS": "<YOUR_IMAGE_GEN_MCP_TIMEOUT_MS>",
        "IMAGE_GEN_MCP_LOG_FILE": "<YOUR_IMAGE_GEN_MCP_LOG_FILE>"
      }
    }
  }
}
Claude Code
claude mcp add image-gen --env GEMINI_API_KEY=<YOUR_GEMINI_API_KEY> --env OPENAI_API_KEY=<YOUR_OPENAI_API_KEY> --env IMAGE_GEN_MCP_DEFAULT_PROVIDER=<YOUR_IMAGE_GEN_MCP_DEFAULT_PROVIDER> --env IMAGE_GEN_MCP_GEMINI_MODEL=<YOUR_IMAGE_GEN_MCP_GEMINI_MODEL> --env IMAGE_GEN_MCP_OPENAI_MODEL=<YOUR_IMAGE_GEN_MCP_OPENAI_MODEL> --env IMAGE_GEN_MCP_OUTPUT_DIR=<YOUR_IMAGE_GEN_MCP_OUTPUT_DIR> --env IMAGE_GEN_MCP_ALLOWED_DIRS=<YOUR_IMAGE_GEN_MCP_ALLOWED_DIRS> --env IMAGE_GEN_MCP_TIMEOUT_MS=<YOUR_IMAGE_GEN_MCP_TIMEOUT_MS> --env IMAGE_GEN_MCP_LOG_FILE=<YOUR_IMAGE_GEN_MCP_LOG_FILE> -- npx -y @nuver-labs/image-gen-mcp

Related MCP servers

Control a real Chrome browser to complete any task: fill forms, extract data, book flights.

110k
Python
MIT
View repository →

Live global intelligence: real-time markets, conflicts, country risk, chokepoints, energy. 39 tools.

83k
TypeScript
AGPL-3.0
View repository →

Netdata

Active

Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.

80k
Go
GPL-3.0
View repository →

Trending hip-hop artist momentum scores across four cultural dimensions.

79k
TypeScript
MIT
View repository →

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

68k
TypeScript
MIT
View repository →

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →