Skip to main content
Glama

image-gen-mcp

Ever annoyed that Claude still can't create images (as of September 2026) or just wanted to integrate an API image generator to your personal chatbot?

This is a local (for now) MCP server that allows you to generate images inline with Claude using the Venice AI API endpoint.

Setup

Requirements

  • Python 3.12+

  • uv

  • A Venice AI API key (see this link)

Install

  1. Clone this repository

  2. Run uv sync

  3. Create a .env file, include a value called VENICE_API_KEY, and set it equal to your Venice API key after you generate it (e.g. VENICE_API_KEY=<YOUR API KEY)

Connect to Claude Desktop

  • Refer to this source (use Ctrl+F or Cmd+F for Mac and search for claude_desktop_config.json) to help find the directory to the claude_desktop_config.json file. It will differ depending on your operating system.

  • Follow the example by accessing the claude_desktop_config.json file and modifying the values so they fit your system as follows:

{
  "mcpServers": {
    "image-gen-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "<ABSOLUTE-PATH-TO-PARENT-FOLDER>/image-gen-mcp",
        "run",
        "image-gen-mcp"
      ]
    }
  }
}

What's Coming Up?

I currently plan on creating an additional endpoint to OpenAI and perhaps Gemini as well.

I also have plans to integrate this with LibreChat.

Available Tools

1 tool
generate_imageA
Generate an image from a text description and display it in the conversation.

Use this whenever the user asks for an image, picture, illustration, drawing,
artwork, logo, or any visual to be created. Returns the generated image directly.

Args:
    prompt: Detailed description of the image to generate.
    model: Venice model id. Defaults to a fast model (z-image-turbo)
            as other models can be slower.
ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral burden. It states that the image is displayed in the conversation, that the model defaults to z-image-turbo for speed, and that output is returned directly. It does not discuss failure modes or rate limits, but for a simple generation tool this is reasonably transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with purpose, and includes a short Args block. There is some redundancy between 'display it in the conversation' and 'Returns the generated image directly,' but overall it is well organized and does not waste many words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-required-parameter tool the description covers purpose, usage, prompt semantics, and return behavior. The main gaps are the mentioned model parameter that is absent from the schema and the lack of any information about failure behavior or output format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds useful meaning for prompt: 'Detailed description of the image to generate,' which the bare schema does not provide. However, it also documents a 'model' argument that is not present in the input schema, making part of the Args guidance unreliable and potentially leading an agent to send an unsupported parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific verb and resource: 'Generate an image from a text description and display it in the conversation.' It is unambiguous and includes a clear list of trigger synonyms (image, picture, illustration, drawing, artwork, logo). Since there are no sibling tools, no sibling differentiation is required.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says 'Use this whenever the user asks for an image, picture, illustration, drawing, artwork, logo, or any visual to be created.' This is direct when-to-use guidance. It also clarifies that the image is returned directly in the conversation, which helps the agent know what kind of result to expect.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.0
    • First observedgenerate_image

TDQS

A4.4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion. The tool's purpose is clear and distinct.

Naming Consistency5/5

A single tool naturally follows a consistent naming pattern. The name 'generate_image' is clear and action-oriented.

Tool Count4/5

The server has exactly one tool, which is thin for most servers but perfectly appropriate for a focused image generation service. It slightly under the typical 3-15 range but earns its place.

Completeness5/5

The tool covers the core functionality of generating an image from a text prompt. There are no dead ends; the requested operation is fully supported.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers