labnana-mcp
This server enables AI assistants to generate and edit images using Labnana's API. It supports:
Image Generation: Synchronous (
generate_image) and asynchronous (generate_image_async) creation from text prompts, image-to-image editing, and reference images. Models include Gemini, GPT-Image-2, Wan2.7, Seedream.Task Management: List tasks with pagination/filtering, get task details and public URLs, and wait for async tasks.
Credit Estimation: Estimate generation cost without spending credits.
Subscription Info: View subscription status, credit balances, free usage, and reset times.
Output Options: Base64 data URL for sync, public links for async tasks.
Click on "Install 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., "@labnana-mcpGenerate an image of a cat astronaut floating in space."
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.
labnana-mcp
An MCP server for the Labnana OpenAPI. It enables Claude, Claude Code, and other MCP clients to generate and edit images with Labnana.
Current OpenAPI models (product names mapped to the model parameter):
Product name |
| Provider | Resolutions | Best for |
Nano Banana Pro |
| 1K / 2K / 4K | In-image text, character consistency, high-fidelity output | |
Nano Banana 2 |
| 1K / 2K / 4K | Fast iteration and extreme aspect ratios | |
GPT-Image-2 |
| OpenAI | 1K / 2K / 4K | Spec-driven generation, layout control, illustration |
Wan2.7 Image Pro |
| Alibaba | 1K / 2K / 4K¹ | Photoreal and poster-style images |
Wan2.7 Image |
| Alibaba | 1K / 2K | Lower-cost everyday generation |
Seedream 5.0 Pro |
| ByteDance | 1K / 2K | Coordinate-driven region editing and Chinese instructions |
¹ wan2.7-image-pro supports 4K only for text-to-image; generations with reference images are limited to 2K. Treat the Labnana OpenAPI guide as authoritative for model IDs.
GitHub · npm · MCP Registry · Glama · 中文文档
Installation
Requires Node.js 20.9 or later.
Claude Code
Create an API key in the Labnana API Keys console.
Make
LABNANA_API_KEYavailable in the environment used by Claude Code.Add the server:
claude mcp add labnana -- npx -y @exoticknight/labnana-mcpThe package can also be started directly with:
npx -y @exoticknight/labnana-mcpDeepSeek Harness (DSH)
Add the server through DSH's official MCP client plugin. Pin 2.1.1 when you want the version shown by initialize to identify this MCP Apps-capable build:
- id: mcp-labnana
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: labnana
transport: stdio
command: npx
args: ['-y', '@exoticknight/labnana-mcp@2.1.1']
env:
LABNANA_API_KEY: !!js process.env.LABNANA_API_KEYDSH's MCP bridge can project supported ImageContent into the calling vision model. Version 2.1 also publishes a standard MCP Apps single-file View for generate_image and get_generation_task. An MCP Apps-capable DSH Web host renders the preview inline; a stock generic DSH tool card may still show the JSON fallback even though the model received the image. This is a client presentation limitation, not a lost generation result.
For a local source checkout, use the same row with command: node, an absolute args path to dist/index.js, and cwd set to this repository. Current stock DSH builds bridge MCP tools but do not consume MCP resources in the generic tool card. Without an MCP Apps host, model vision still works and the card falls back to JSON.
Cursor and VS Code
One-click install (replace the placeholder API key after installing):
Claude Desktop and other MCP clients
Use an equivalent mcpServers configuration:
{
"mcpServers": {
"labnana": {
"command": "npx",
"args": ["-y", "@exoticknight/labnana-mcp"],
"env": {
"LABNANA_API_KEY": "lh_xxxxxxxxx"
}
}
}
}Local source checkout
npm install
npm run buildThen configure the server with the generated dist/index.js:
claude mcp add labnana -- node <path-to-repo>/dist/index.jsOn Windows, use an absolute path such as:
claude mcp add labnana -- node C:/path/to/labnana-mcp/dist/index.jsRelated MCP server: Nano Banana MCP
Configuration
The server reads the following environment variable:
Variable | Required | Description |
| Yes | Labnana API key. |
| No | Default directory for saved images. Falls back to |
The command-line options below are also supported:
Option | Description |
| Provide the API key for a local process. |
| Override the default API endpoint, |
| Default directory for saved images. |
Environment variables are recommended because command-line arguments may be visible in the local process list.
Tools
Tool | Description |
| One-stop text-to-image / image-to-image / editing. Saves the original and returns a bounded MCP image preview, structured metadata, and JSON fallback by default; 4K requests poll internally. |
| Estimate the credits required for a generation without generating an image. |
| Get subscription status, credit balances, and free usage information. |
| List generation task history with pagination and optional status filtering. |
| Get task details and public image URLs (useful after a |
Usage
Generate an image
{
"name": "generate_image",
"arguments": {
"model": "gemini-3-pro-image",
"prompt": "Change the background of the image to the grasslands of Inner Mongolia",
"referenceImages": [
{
"fileData": {
"fileUri": "https://cdn.labnana.com/xxx.png",
"mimeType": "image/png"
}
}
],
"imageConfig": {
"imageSize": "2K",
"aspectRatio": "16:9"
}
}
}The default is outputMode=hybrid: the full original is saved to disk while a bounded MCP image preview, structuredContent, and equivalent JSON text are returned together. This provides progressive compatibility across Codex, Claude Code, Claude Desktop, and other MCP clients. Use saveDir to choose the target directory.
All 1K, 2K, 4K, and get_generation_task results use the same envelope:
{
"schemaVersion": 1,
"status": "succeeded",
"taskId": "task-123",
"images": [
{
"index": 0,
"mimeType": "image/png",
"width": 4096,
"height": 4096,
"byteLength": 18442231,
"sha256": "...",
"url": "https://.../original.png",
"filePath": "C:\\...\\labnana.png",
"preview": { "included": true, "mimeType": "image/jpeg", "width": 1600, "height": 1600 }
}
]
}Image base64 appears only in standard MCP ImageContent, never duplicated into text or structured metadata. Full 4K originals are not inlined; previews have a maximum 1600-pixel edge and target a 2 MiB byte ceiling, while filePath/url locate the original.
Use referenceImages for image-to-image generation and editing. fileData.fileUri supports gs:// and https://; small images can be passed as base64 through inlineData.data.
4K requests automatically run as asynchronous tasks: the server creates the task, polls with rate-limit backoff, downloads and saves originals, and creates previews. If the wait exceeds timeoutSeconds (default 300), the result has status=pending and a taskId; this is not treated as generation failure. Fetch the final preview and original URL later with get_generation_task.
Credit estimation
{
"name": "estimate_credits",
"arguments": {
"prompt": "A Shiba Inu running through a snowy landscape",
"imageConfig": {
"imageSize": "4K"
}
}
}Parameters
model(default:gemini-3-pro-image):gemini-3-pro-image,gemini-3.1-flash-image,gpt-image-2,wan2.7-image-pro,wan2.7-image, orseedream-5-0-pro. The provider is derived from the model automatically.imageConfig.imageSize:1K,2K, or4K.wan2.7-imageandseedream-5-0-prodo not support 4K;wan2.7-image-proalso disallows 4K when reference images are present.imageConfig.aspectRatio:1:1,2:3,3:2,3:4,4:3,9:16,16:9,21:9,1:4,4:1,1:8, or8:1. GPT-Image-2 may omit this field and let the service choose; Wan2.7 supports only1:1,16:9,9:16,4:3, and3:4.referenceImages: OpenAPI allows up to 14 for Gemini, 4 for GPT-Image-2, 9 for Wan2.7, and 10 for Seedream. These are API limits, not the separate upload limits of the web generator.Seedream precise editing: put the source image in
referenceImagesand describe the target region and change inpromptusing absolute coordinates from the top-left origin. OpenAPI has no separatemaskorregionparameter.outputMode(generate_imageonly):hybrid(default, save originals and inline bounded previews),file(save originals and return metadata only), orinline(do not save tosaveDir; return a bounded preview, and persist the original to the default recovery directory only when the upstream response has no original URL).saveDir/timeoutSeconds(generate_imageonly): target directory forhybrid/filemode, and the maximum wait for async (4K) generations.
Credit summary
Model | 1K | 2K | 4K |
| 15 | 15 | 30 |
| 10 | 10 | 20 |
| 4 | 6 | 10 |
| 6 | 8 | 12 (text-to-image only) |
| 4 | 6 | Not supported |
| 6 | 15 | Not supported |
Errors
API errors are returned as { code, message } and exposed as MCP results with isError: true.
Code | Meaning | Recommendation |
21007 | Invalid API key | Check |
26004 | Insufficient credits | Check the subscription or upgrade the plan. |
29003 | Invalid parameters | Check required fields and model-specific limits. |
29998 | Too many requests | Retry with a 20–30 second backoff. |
Development
npm install
npm run typecheck
npm testTo inspect the real single-file MCP App without calling Labnana or spending credits, run npm run test:ui and open http://127.0.0.1:4173/test/mcp-app-host.html. The local host sends a generated 640×360 PNG fixture through the official AppBridge so the image, status, and metadata can be checked visually.
Links
Technical support: support@marswave.ai
License
Community
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server that provides image generation using Google's Nano Banana Gemini models, with additional tools for background removal, upscaling, and format conversion via deterministic post-processing.1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Google's Nano Banana image generation models (Gemini). Generate and edit images via natural language.191MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for AI image generation and editing using Google Gemini image models.543MIT
- AlicenseAqualityCmaintenanceMCP server for generating and editing images using Google Gemini API. Supports text-to-image generation, image editing, and image description.321MIT
Related MCP Connectors
MCP server for NanoBanana AI image generation and editing
MCP server for Midjourney AI image generation and editing
MCP server for Flux AI image generation
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/exoticknight/labnana-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server