Skip to main content
Glama
mikeyny

Image Generation MCP Server

by mikeyny

Image Generation MCP Server

An MCP (Model Context Protocol) server implementation for generating images using Replicate's black-forest-labs/flux-schnell model.

Ideally to be used with Cursor's MCP feature, but can be used with any MCP client.

Features

  • Generate images from text prompts

  • Configurable image parameters (resolution, aspect ratio, quality)

  • Save generated images to specified directory

  • Full MCP protocol compliance

  • Error handling and validation

Related MCP server: replicate-flux-mcp

Prerequisites

  • Node.js 16+

  • Replicate API token

  • TypeScript SDK for MCP

Setup

  1. Clone the repository

  2. Install dependencies:

    npm install
  3. Add your Replicate API token directly in the code at src/imageService.ts by updating the apiToken constant:

    // No environment variables are used since they can't be easily set in cursor
    const apiToken = "your-replicate-api-token-here";

    Note: If using with Claude, you can create a .env file in the root directory and set your API token there:

    REPLICATE_API_TOKEN=your-replicate-api-token-here

    Then build the project:

    npm run build

Usage

To use with cursor:

  1. Go to Settings

  2. Select Features

  3. Scroll down to "MCP Servers"

  4. Click "Add new MCP Server"

  5. Set Type to "Command"

  6. Set Command to: node ./path/to/dist/server.js

API Parameters

Parameter

Type

Required

Default

Description

prompt

string

Yes

-

Text prompt for image generation

output_dir

string

Yes

-

Server directory path to save generated images

go_fast

boolean

No

false

Enable faster generation mode

megapixels

string

No

"1"

Resolution quality ("1", "2", "4")

num_outputs

number

No

1

Number of images to generate (1-4)

aspect_ratio

string

No

"1:1"

Aspect ratio ("1:1", "4:3", "16:9")

output_format

string

No

"webp"

Image format ("webp", "png", "jpeg")

output_quality

number

No

80

Compression quality (1-100)

num_inference_steps

number

No

4

Number of denoising steps (4-20)

Example Request

{
  "prompt": "black forest gateau cake spelling out 'FLUX SCHNELL'",
  "output_dir": "/var/output/images",
  "filename": "black_forest_cake",
  "output_format": "webp"
  "go_fast": true,
  "megapixels": "1",
  "num_outputs": 2,
  "aspect_ratio": "1:1"
}

Example Response

{
  "image_paths": [
    "/var/output/images/output_0.webp",
    "/var/output/images/output_1.webp"
  ],
  "metadata": {
    "model": "black-forest-labs/flux-schnell",
    "inference_time_ms": 2847
  }
}

Error Handling

The server handles the following error types:

  • Validation errors (invalid parameters)

  • API errors (Replicate API issues)

  • Server errors (filesystem, permissions)

  • Unknown errors (unexpected issues)

Each error response includes:

  • Error code

  • Human-readable message

  • Detailed error information

License

ISC

Available Tools

1 tool
generate-imageC

Generate an image based on a prompt

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes
output_dirYesFull absolute path to output directory. For Windows, use double backslashes like 'C:\\Users\\name\\path'. For Unix/Mac use '/path/to/dir'. Always use the proper path otherwise you will get an error.
filenameNoBase filename to save the image(s) with
go_fastNo
megapixelsNo
num_outputsNo
aspect_ratioNo
output_formatNo
output_qualityNo
num_inference_stepsNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the core action (generating images from prompts) but lacks critical behavioral details like whether this is a local or cloud operation, rate limits, authentication requirements, error handling, or what happens when files are saved. The description doesn't contradict annotations since none exist.

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

Conciseness5/5

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

The description is extremely concise at just 5 words, front-loaded with the core functionality. Every word earns its place, and there's no wasted text or redundancy.

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

Completeness2/5

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

For a complex tool with 10 parameters, no annotations, no output schema, and low schema description coverage, the description is severely inadequate. It doesn't explain what the tool returns, how outputs are structured, error conditions, or provide enough context for an agent to use it effectively beyond the most basic invocation.

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

Parameters2/5

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

With only 20% schema description coverage, the description must compensate but fails to do so. It mentions 'based on a prompt' which hints at one parameter but doesn't explain the other 9 parameters or their relationships. The description adds minimal value beyond what's already in the schema.

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

Purpose4/5

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

The description clearly states the tool's purpose with a specific verb ('generate') and resource ('image'), and specifies it's based on a prompt. It's unambiguous about what the tool does, though it doesn't distinguish from siblings since there are none.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor any context about prerequisites or limitations. It simply states what the tool does without indicating appropriate use cases.

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

TDQS

B3/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The single tool 'generate-image' has a clear and distinct purpose for image generation based on prompts.

Naming Consistency5/5

The single tool name 'generate-image' follows a clear verb_noun pattern. Since there is only one tool, consistency is inherently perfect with no deviations or mixed conventions to evaluate.

Tool Count2/5

A single tool is too few for a server named 'Image Generation MCP Server', which suggests a broader scope. While it covers basic generation, typical image generation domains might include variations, edits, or management tools, making this feel thin and incomplete.

Completeness2/5

The tool surface is severely incomplete for image generation. It only provides generation, with no tools for editing, resizing, filtering, or managing images, leaving obvious gaps that will limit agent capabilities in this domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

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/mikeyny/ai-image-gen-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server