agnes-image-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@agnes-image-mcp-serverGenerate a 2K 16:9 image of a cozy cabin in snowy woods"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
agnes-image-mcp-server
MCP server for image generation using the Agnes Image 2.1 Flash model.

Image generated with generate_image, prompt: "Vibrant digital illustration of a friendly retro-futuristic robot artist in a neon-lit studio…", size 2K, ratio 16:9.
Example session
> generate_image
{ "prompt": "A red fox astronaut drifting through a pastel nebula",
"size": "2K", "ratio": "16:9" }
Image generated successfully.
URL: https://platform-outputs.agnes-ai.space/images/t2i/…/output_….pngWhen the API returns inline base64 instead of a URL, the tool responds with an
MCP image content block that clients render directly.
Related MCP server: Nano Banana
Quick start
Get an API key at agnes-ai.com, then add the server to your MCP client config (ZCode, Claude Desktop, Cursor, etc.) — no install needed, npx fetches it:
{
"mcpServers": {
"agnes-image": {
"command": "npx",
"args": ["-y", "agnes-image-mcp-server"],
"env": {
"AGNES_API_KEY": "your-key-here"
}
}
}
}Development
git clone <repo-url>
cd agnes-image-mcp
npm install
npm run build
npm start # runs dist/index.js over stdioTools
generate_image
Generate an image from a text prompt.
Parameter | Type | Required | Description |
| string | Yes | Text description of the image |
| enum | No |
|
| enum | No |
|
| string | No | Things to avoid in the image |
Returns the generated image as a URL or base64-encoded PNG.
list_image_options
List available sizes and aspect ratios.
API Reference
Base URL:
https://apihub.agnes-ai.comEndpoint:
POST /v1/images/generations
Available Tools
2 toolsgenerate_imageA
Generate an image using Agnes Image 2.1 Flash. Returns the image URL or base64 data.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Resolution tier: 1K (default), 2K, or 4K | |
| ratio | No | Aspect ratio (default 1:1). Options: 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3 | |
| prompt | Yes | Text description of the image to generate | |
| negative_prompt | No | Things to avoid in the generated image |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It usefully discloses the model and that the output is a URL or base64 data. It does not mention rate limits, costs, or other operational behaviors, but for a straightforward generation tool this is reasonable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The action, model, and return type are front-loaded, and every part contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description plus the schema gives enough to call the tool with the required prompt and optional parameters. It lacks guidance about when to use list_image_options or limitations on the generation output, but the core callable information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters including defaults and enums. The description adds no parameter-level meaning beyond saying what generation does, which matches the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Generate an image'), names the specific model ('Agnes Image 2.1 Flash'), and describes the output form. However, it does not explicitly distinguish the tool from its sibling list_image_options, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied: call this tool when an image needs to be generated. It does not state when to use an alternative, mention any exclusions, or contrast with list_image_options, so the guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_image_optionsA
List available sizes and aspect ratios for image generation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool performs a read-only enumeration of available sizes and aspect ratios, implicitly indicating no side effects. It does not specify return format or output structure, but for a parameter-less listing tool this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that states exactly what the tool does with no filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no output schema, and no annotations, the description fully covers what an agent needs to invoke the tool correctly: what it lists and in what context. It does not explain how results feed into generate_image, but that is not required for this tool's scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is complete with 100% coverage. The baseline for no-parameter tools is 4, and the description adds no conflicting or missing parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb 'List' and a specific resource 'available sizes and aspect ratios' plus the domain 'for image generation'. This clearly distinguishes the tool from its sibling generate_image, which actually creates images rather than enumerating options.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for image generation' provides clear context that this is a pre-generation lookup, and the distinction from generate_image is strongly implied. However, it does not explicitly state when to use this tool versus its sibling or give any exclusion conditions, leaving the routing partially to inference.
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.
2 tool updates
v1.0.1- First observed
generate_image - First observed
list_image_options
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one generates images, the other lists available options. There is no overlap or ambiguity in their roles, making it easy for an agent to select the appropriate tool.
Both tools follow a consistent verb_noun pattern in snake_case: 'generate_image' and 'list_image_options'. The naming is predictable and aligns with the server's purpose.
With only two tools, the server is on the thin side per the calibration guidelines. However, the two tools cover the essential generation and option-listing capabilities, so the count is borderline but not unreasonable for a focused image-generation service.
The tool surface covers the core lifecycle of generating an image and discovering available parameters. Minor gaps exist, such as no ability to retrieve previously generated images or manage generation history, but these are not critical for the stated purpose.
Related MCP Connectors
AI image + video generation for agents: --flag prompt DSL, async generate/poll, x402 pay-per-use.
Create images and videos from prompts, with options for image mixing, reference images, and start/…
LLM chat, text tools, image generation, editing, batch image jobs, and asynchronous video generation
Generate AI images, video, music, and sound effects, and upscale them, from any MCP client.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables text-to-image generation, image editing, and multi-image composition using Google's Gemini 2.5 Flash Image API. Supports flexible aspect ratios and character consistency across generations.1-
- AlicenseBqualityDmaintenanceEnables image generation using Google Gemini models like Gemini 2.0 Flash and Imagen 3.0 with support for custom aspect ratios and negative prompts. It also allows users to list and manage generated images stored in local directories.27 npmMIT
- AlicenseAqualityDmaintenanceEnables text-to-image generation using Agnes Image 2.1 Flash via OpenAI-compatible API, supporting aspect ratios, custom resolution, and multi-image generation.18 npm1MIT
- AlicenseAqualityBmaintenanceEnables text-to-image and text-to-video generation via the Agnes AI API, with support for multiple models, async video generation, and automatic file downloads.61MIT