KieAI MCP
Integrates with ByteDance's text-to-video model for generating videos from text.
Integrates with ElevenLabs TTS for text-to-speech audio generation.
Integrates with Google Imagen for image generation with support for negative prompts.
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., "@KieAI MCPCreate an image of a sunset over the ocean"
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.
KieAI MCP — KI-Mediengeneration via kie.ai
MCP-Server für KI-gestützte Mediengeneration: Bilder, Videos, Audio und Upscaling mit 99 KI-Modellen — lokal via Claude Code oder remote via Docker/Coolify.
Features
99 KI-Modelle — Bilder, Videos, Audio, Upscaling
Zwei Transport-Modi — stdio (lokal) und HTTP/SSE (remote)
YAML-basierte Modellkonfiguration — neue Modelle ohne Code hinzufügen
Automatisches Polling — wartet auf Ergebnisse asynchroner Generierungen
Docker-ready — einfaches Deployment via Docker oder Coolify
Related MCP server: Gemini Media MCP
Quick Start
Lokal (stdio) — Als Claude Code Plugin
# Plugin installieren
claude mcp add kie-ai-mcp -- bun run /pfad/zu/kie-ai-plugin/src/index.ts
# API Key setzen
export KIE_API_KEY="dein-kie-ai-api-key"Remote (HTTP/SSE) — Docker Deployment
# Image bauen
docker build -t kie-ai-mcp .
# Container starten
docker run -e KIE_API_KEY=dein-key -e MCP_TRANSPORT=http -p 3001:3001 kie-ai-mcp
# Health Check
curl http://localhost:3001/healthKonfiguration
Account auf kie.ai erstellen
API Key generieren unter https://kie.ai/api-key
Key als Umgebungsvariable setzen:
export KIE_API_KEY="dein-kie-ai-api-key"Variable | Beschreibung | Default |
| API Key von kie.ai | — (Pflicht) |
| Transport-Modus: |
|
| Port für HTTP/SSE-Modus |
|
Verfügbare Modelle
Bilder (7 Modelle)
Modell | Stärke | Kosten |
Flux 2 Pro | Allrounder, bis 2K | ~$0.03 |
Seedream 3.0 | Text-Rendering | ~$0.02 |
Google Imagen 4 | Negative Prompts | ~$0.04 |
Ideogram Character | Referenz-Bilder | ~$0.05 |
Qwen | Viele Parameter | ~$0.02 |
Grok Imagine | Kreativ (nur EN) | ~$0.03 |
Z-Image | Fotorealistisch | ~$0.01 |
Videos (6 Modelle)
Modell | Typ | Max Dauer | Kosten |
Sora 2 Pro | Text-to-Video | 15s | ~$2.00 |
ByteDance V1 | Text-to-Video | 10s | ~$0.40 |
Grok Video | Text-to-Video | 15s | ~$0.50 |
Kling V2.1 | Image-to-Video | 10s | ~$0.30 |
Wan 2.6 | Image-to-Video | 15s | ~$0.35 |
Hailuo 2.3 | Image-to-Video | 10s | ~$0.40 |
Audio (1 Modell)
Modell | Typ | Kosten |
ElevenLabs TTS | Text-to-Speech | ~$0.01 |
Upscaling (2 Modelle)
Modell | Max Faktor | Kosten |
Topaz | 8x | ~$0.05 |
Recraft Crisp | Auto | ~$0.03 |
Transport-Modi
stdio (Standard)
Für die lokale Integration mit Claude Code. Der MCP-Server kommuniziert über stdin/stdout direkt mit Claude Code. Generierte Dateien werden lokal gespeichert.
# Automatisch bei Plugin-Nutzung via Claude Code
claude mcp add kie-ai-mcp -- bun run /pfad/zu/kie-ai-plugin/src/index.tsHTTP/SSE (Remote)
Für Remote-Nutzung via Docker oder Coolify. Der Server stellt einen HTTP-Endpoint mit Server-Sent Events bereit.
Wichtig: Im HTTP-Modus werden nur Result-URLs zurückgegeben — es findet kein lokaler File-Download statt.
MCP_TRANSPORT=http PORT=3001 bun run src/index.tsDocker
Image bauen
docker build -t kie-ai-mcp .Container starten
docker run \
-e KIE_API_KEY=dein-api-key \
-e MCP_TRANSPORT=http \
-p 3001:3001 \
kie-ai-mcpHealth Check
curl http://localhost:3001/healthCoolify Deployment
GitHub Repo verbinden — Repository in Coolify als neue Ressource hinzufügen
Umgebungsvariablen setzen:
KIE_API_KEY— Dein kie.ai API KeyMCP_TRANSPORT— aufhttpsetzenPORT—3001(oder nach Bedarf)
Domain zuweisen — Über die Coolify-Oberfläche eine Domain konfigurieren (z.B.
kie-mcp.deine-domain.de)Deployen — Build starten, Coolify nutzt automatisch das Dockerfile
Remote MCP Client Konfiguration
Um einen MCP-Client mit dem remote deployten Server zu verbinden:
{
"mcpServers": {
"kie-ai-mcp": {
"url": "https://kie-mcp.deine-domain.de/sse"
}
}
}Nutzung
Bilder erstellen
"Erstelle ein Bild von einem Sonnenuntergang am Meer"
"Generiere ein fotorealistisches Portrait mit Flux 2"
"Mach ein Bild mit Text 'Hello World' — nutze Seedream"Videos erstellen
"Erstelle ein Video von tanzenden Katzen"
"Animiere dieses Bild [URL] mit Kling"
"Generiere ein 10-Sekunden Video eines Wasserfalls"Audio erstellen
"Lies diesen Text vor: Willkommen bei Alice"
"Text to Speech auf Deutsch: Guten Morgen Oliver"Bilder hochskalieren
"Skaliere dieses Bild hoch: [URL]"
"Upscale mit 4x Faktor"Neues Modell hinzufügen
YAML-Datei in
models/{type}/erstellenFertig — kein Code nötig
Entwicklung
bun install # Dependencies
bun test # Tests (61 Tests)
bun run build # TypeScript kompilieren
bun run dev # Watch ModeLizenz
MIT
Available Tools
6 toolskie_check_taskB
Check the status of a kie.ai generation task
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | The task ID to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the action without detailing possible statuses, return format, polling semantics, or error behavior. The word 'check' suggests a read operation, but no additional context is given, leaving the agent uncertain about the tool's exact behavior.
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?
The description is a single, concise sentence that front-loads the action and resource. It contains no unnecessary information or redundancy.
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?
While the tool is simple with one parameter and no output schema, the description still lacks important context such as when to use it in the generation workflow and what the response contains. The absence of an output schema makes the missing return value explanation a notable gap.
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 input schema provides 100% coverage for the single parameter with a clear description ('The task ID to check'). The tool description adds no further parameter meaning, so the baseline score of 3 applies due to high schema coverage.
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 identifies the action (check status) and resource (a kie.ai generation task), distinguishing it from sibling tools that generate, upscale, or list models. It uses a specific verb and resource, making the purpose unmistakable.
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?
No explicit guidance on when to use this tool is provided, but the sibling context (generation, upscale, list models) implies it is used after submitting a generation task. This is implied rather than directly stated, so it earns a baseline score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kie_generate_audioA
Generate audio (text-to-speech) using AI models via kie.ai
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text to convert to speech | |
| model | No | Model ID for audio generation | elevenlabs/text-to-speech-turbo-2-5 |
| speed | No | Speech speed multiplier | |
| voice | No | Voice name to use | Rachel |
| filename | No | Custom filename (without extension) | |
| stability | No | Voice stability (0.0 - 1.0) | |
| output_dir | No | Output directory | ./audio |
| language_code | No | Language code (e.g. 'en', 'de') |
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 of behavioral disclosure. It only says 'Generate audio (text-to-speech)' without mentioning output behavior (e.g., saving a file, returning a task ID), side effects, or any requirements. The description gives no information about what happens after the call.
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?
The description is a single sentence, front-loaded with the core purpose, and contains no redundant or filler content. Every word contributes to the meaning.
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 tool has 8 parameters and no output schema, yet the description provides minimal context. It does not explain what the tool returns, whether it works asynchronously (e.g., requires kie_check_task), or any other operational details needed for correct invocation. The description alone is insufficient for an agent to fully understand the tool's behavior.
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%, with every parameter documented in the input schema. The description adds no additional parameter meaning beyond the schema, so the baseline of 3 is appropriate.
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 tool generates audio via text-to-speech, with a specific verb ('Generate'), resource ('audio'), and method ('text-to-speech'). This distinguishes it from sibling tools like kie_generate_image and kie_generate_video.
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 description implies when to use the tool (when audio generation is needed) and the sibling context makes the intended use clear. However, it does not explicitly state when not to use it or mention alternative tools, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kie_generate_imageB
Generate an image using AI models via kie.ai
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Random seed for reproducibility | |
| model | No | Model ID (e.g. 'flux-2/pro-text-to-image') | |
| prompt | Yes | Text prompt describing the image to generate | |
| filename | No | Custom filename (without extension) | |
| output_dir | No | Output directory for the generated file | ./bilder |
| aspect_ratio | No | Aspect ratio (e.g. '1:1', '16:9', '9:16') | 1:1 |
| guidance_scale | No | Guidance scale for generation | |
| negative_prompt | No | Negative prompt — what to avoid |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavior. It only states a high-level action; it doesn't mention that generation may be asynchronous (suggested by kie_check_task), how the output is returned/saved, or any rate limits or cost implications.
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?
The description is a single sentence with no wasted words. However, it sacrifices substance for brevity, not explaining the tool's behavior beyond a basic action.
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?
For a tool with 8 parameters and no output schema, this description is minimal. It omits the generation workflow (likely returning a task to check via kie_check_task), output file handling (referenced in output_dir), and model selection, leaving the agent under-informed.
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 input schema already describes all 8 parameters with 100% coverage. The description adds no parameter-specific semantics, leaving the schema to do the heavy lifting, so a baseline score of 3 is appropriate.
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 uses a specific verb ('Generate') and resource ('an image'), clearly distinguishing this tool from siblings like kie_generate_video and kie_generate_audio. The phrase 'via kie.ai' adds provider context, which is redundant but not harmful.
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?
No guidance is provided on when to use this tool versus alternatives. It does not mention asynchronous tasks, prerequisites, or when to prefer kie_generate_video or kie_upscale.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kie_generate_videoC
Generate a video using AI models via kie.ai
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Model ID for video generation | |
| prompt | Yes | Text prompt describing the video to generate | |
| duration | No | Video duration in seconds | 5 |
| filename | No | Custom filename (without extension) | |
| image_url | No | Image URL for image-to-video generation | |
| output_dir | No | Output directory | ./videos |
| resolution | No | Video resolution (e.g. '720p', '1080p') | 720p |
| aspect_ratio | No | Aspect ratio (e.g. '16:9', '9:16') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only restates the action without explaining key behaviors such as asynchronous task submission (suggested by kie_check_task), output file handling, or whether the tool blocks waiting for completion. This lack of detail leaves significant uncertainty.
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?
The description is a single sentence, which is compact and avoids verbosity. However, it provides minimal information beyond what the tool name already conveys, bordering on under-specification rather than effective conciseness.
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?
For a tool with 8 parameters and no output schema, the description is incomplete. It does not explain the workflow, return format, or how parameters like output_dir and filename are used. The existence of kie_check_task strongly implies an async pattern, but the description leaves this unstated.
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 input schema provides descriptions for all 8 parameters, offering 100% coverage, so the baseline is 3. The description adds no additional parameter semantics, but the schema already explains each field adequately (e.g., duration, resolution, image_url).
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 tool's function: generating a video via kie.ai. This distinguishes it from sibling tools like kie_generate_image and kie_generate_audio. However, it does not mention the image-to-video capability implied by the image_url parameter, so it falls short of a fully informative purpose statement.
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?
There is no guidance on when to use this tool versus alternatives. The description does not reference sibling tools or provide criteria for choosing video generation over image or audio generation. Usage context is only implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kie_list_modelsA
List available AI models from the kie.ai registry
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter by model type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavior. It states the tool lists models, implying a read-only operation, but provides no details about output format, pagination, or potential errors. The behavior is simple, so this is adequate but minimal.
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?
The description is a single concise sentence with no filler, front-loading the verb and resource. 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?
For a simple list tool with one optional parameter and no output schema, the description plus schema covers the essential information for basic invocation. It could mention return type, but the low complexity makes this relatively complete.
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 input schema fully documents the single optional 'type' parameter with an enum and description. The tool description adds no additional parameter meaning, so the baseline of 3 applies.
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 explicitly states the action ('List') and resource ('available AI models from the kie.ai registry'), clearly distinguishing this tool from sibling generation/checking tools. It is specific and unambiguous.
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 description implies this tool is for discovering available models but doesn't explicitly state when to use it versus alternatives. No direct guidance is given about prerequisites or typical workflows, though the purpose is reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kie_upscaleB
Upscale an image using AI models via kie.ai
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Model ID for upscaling | topaz/image-upscale |
| image_url | Yes | URL of the image to upscale | |
| output_dir | No | Output directory | ./bilder |
| upscale_factor | No | Upscale factor (e.g. '2', '4') | 2 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose whether the upscaling is synchronous or asynchronous, whether API credentials are needed, what happens to the file, or any error conditions. This makes the tool's behavior opaque beyond the basic operation.
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?
The description is a single sentence of nine words, which is appropriately sized for a simple operation. It is front-loaded with the verb and resource, containing zero filler.
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?
With no output schema, no annotations, and four parameters, the description is too sparse. It fails to explain return values, execution semantics (e.g., whether the tool writes to output_dir or returns a URL), or any side effects. This is insufficient for a tool that likely calls an external AI service.
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 input schema fully describes all four parameters with defaults and descriptions, so the description adds no additional parameter semantics. Per the rubric, baseline is 3 when schema coverage is high, and this is exactly that case.
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 uses a specific verb ('Upscale') and resource ('an image') with a clear subject ('AI models via kie.ai'), which distinguishes it from sibling generation tools. It clearly states the core function, earning 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 description implies usage for image upscaling but provides no explicit guidance on when to use this tool versus alternatives like kie_generate_image, nor any exclusion criteria. It is a bare statement of function, leaving the agent to infer appropriate conditions.
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.
6 tool updates
v1.0.0- First observed
kie_check_task - First observed
kie_generate_audio - First observed
kie_generate_image - First observed
kie_generate_video - First observed
kie_list_models - First observed
kie_upscale
TDQS
Scored across 6 tools
Each tool targets a distinct operation: generating images, videos, audio, checking task status, upscaling images, and listing models. There is no overlap or ambiguity between these actions.
All tool names follow a consistent kie_ prefix with snake_case verbs, but 'kie_upscale' is a verb alone while others use verb_noun (e.g., kie_generate_image). This minor deviation keeps it mostly predictable.
Six tools are well-scoped for an AI media generation server, covering generation across modalities plus task management and model discovery without unnecessary bloat.
The surface covers generation, upscaling, task checking, and model listing, which forms a cohesive workflow. Minor gaps like explicit cancelation or result retrieval are indirectly handled via check_task, so the core scope is complete.
Related MCP Connectors
MCP server for Midjourney AI image generation and editing
MCP server for Wan AI video generation
MCP server for Google Veo AI video generation
MCP server for Luma Dream Machine AI video generation
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for AI-powered image, audio, and video generation, enabling media creation directly from Claude, Cursor, and other MCP clients.1139 npmMIT
- AlicenseNot gradedqualityAmaintenanceMCP server for generating images and videos using Google Gemini and VEO models, with support for multiple AI models and credential modes.33 PyPI1Apache 2.0
- AlicenseBqualityCmaintenanceMCP server for generating images and audio using Google's Gemini AI models.22MIT
- AlicenseAqualityCmaintenanceMCP server for AI image generation and editing using Google Gemini image models.7403 npmMIT