Skip to main content
Glama

Krea MCP Server

npm version License: Apache 2.0 MCP CI GitHub stars

MCP server for Krea.ai - Generate stunning AI images and videos using Flux, Hailuo, Runway, Kling, Ideogram, Imagen, and 20+ other state-of-the-art models.

212+ developers have cloned this repo within 2 weeks. Works with Claude Desktop, Claude Code, Cursor, and any MCP-compatible client.


Quick Start (No installation required!)

You can run the MCP server directly via npx:

{
  "mcpServers": {
    "krea": {
      "command": "npx",
      "args": [
        "-y",
        "@vmosaic/krea-mcp-server"
      ],
      "env": {
        "KREA_API_KEY": "YOUR_KREA_API_KEY"
      }
    }
  }
}

Related MCP server: media-gen-mcp

Why Krea MCP?

  • 20+ AI Models - Access Flux, Ideogram, Imagen 4, Runway Gen-4, Hailuo, Kling, Pika, Veo 3, and more through one unified interface

  • Text-to-Image - Generate photorealistic images, art, illustrations from text prompts

  • Text-to-Video - Create AI videos with natural motion and cinematic quality

  • Image-to-Video - Animate any image with AI-powered motion

  • Custom Styles - Apply LoRA styles for consistent aesthetics

  • Simple Setup - One command install, works instantly with Claude


Optional Global Install

1. Install

npm install -g @vmosaic/krea-mcp-server

2. Get API Key

Get your API key from krea.ai

3. Run the global binary

krea-mcp

4. Configure Claude Desktop with the global binary

Add to ~/.config/claude/claude_desktop_config.json (Linux) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "krea": {
      "command": "krea-mcp",
      "env": {
        "KREA_API_KEY": "your-api-key-here"
      }
    }
  }
}

4b. Or configure Claude Code without a global install

claude mcp add krea -e KREA_API_KEY=your-api-key -- npx -y @vmosaic/krea-mcp-server

Features

Image Generation

Generate images with state-of-the-art AI models:

"Generate a cyberpunk cityscape at sunset with neon lights reflecting on wet streets"

Supported models: Flux Dev, Flux Pro, Flux Schnell, Ideogram V2, Imagen 4, Krea 1, ChatGPT Image, Topaz, Bloom, and more.

Video Generation

Create AI videos from text or images:

"Create a video of a golden retriever running through a field of sunflowers"

Supported models: Hailuo, Kling 1.6, Runway Gen-4, Pika 2, Veo 3, Sora 2, Seedance, Ray 2, and more.

Style Transfer

Apply custom styles (LoRAs) to your generations:

"Generate an image in anime style of a samurai in cherry blossom garden"

Asset Management

Upload and manage your images for image-to-video and other workflows.


Available Tools

Tool

Description

generate_image

Generate images from text prompts

generate_video

Generate videos from text or images

get_job

Check generation job status

list_jobs

List recent generation jobs

upload_asset

Upload images/videos for use in generations

get_asset

Get asset details

list_assets

List uploaded assets

search_styles

Search for styles/LoRAs

get_style

Get style details


Claude Code Skill

This repo includes a /krea slash command for Claude Code.

Install the skill:

cp -r .claude/skills/krea ~/.claude/skills/

Usage:

/krea a photorealistic portrait of a astronaut on mars
/krea video ocean waves crashing on rocks at golden hour
/krea status job_abc123
/krea styles cyberpunk

Supported Models

Image Models

Model

ID

Best For

FLUX.1 Dev

flux-dev

High quality, balanced

FLUX.1 Pro

flux-pro

Highest quality

FLUX.1 Schnell

flux-schnell

Fast generation

Ideogram V2

ideogram-v2

Text in images

Imagen 4

imagen-4

Photorealism

Krea 1

krea-1

Creative styles

ChatGPT Image

chatgpt-image

General purpose

Video Models

Model

ID

Best For

Hailuo

hailuo

High quality, natural motion

Kling 1.6

kling-1.6

Detailed motion

Runway Gen-4

runway-gen4

Cinematic quality

Pika 2

pika-2

Creative styles

Veo 3

veo-3

Google's latest

Sora 2

sora-2

OpenAI's model


API Reference

generate_image

{
  prompt: string,        // Required: Image description
  model?: string,        // Default: "flux-dev"
  width?: number,        // Default: 1024
  height?: number,       // Default: 1024
  style_id?: string,     // Optional: Style/LoRA ID
  negative_prompt?: string
}

generate_video

{
  prompt: string,        // Required: Video description
  model?: string,        // Default: "hailuo"
  image_url?: string,    // Optional: First frame for i2v
  duration?: number,     // Default: 5 seconds
  aspect_ratio?: string  // Default: "16:9"
}

Examples

Generate a Product Photo

Use Krea to generate a professional product photo of a perfume bottle
on a marble surface with soft studio lighting

Create a Social Media Video

Generate a 5-second video of coffee being poured into a cup in slow motion,
cinematic lighting, 9:16 aspect ratio for Instagram Reels

Apply a Custom Style

Search for "watercolor" styles and generate an image of a Paris street scene
using that style


Contributing

Contributions welcome! Please feel free to submit a Pull Request.


License

Apache License 2.0 - see LICENSE for details.


Keywords

mcp, mcp-server, model-context-protocol, krea, krea-ai, ai, artificial-intelligence, image-generation, video-generation, text-to-image, text-to-video, image-to-video, flux, ideogram, imagen, runway, hailuo, kling, pika, veo, sora, generative-ai, ai-art, ai-video, claude, anthropic, claude-desktop, claude-code, cursor, llm, llm-tools, ai-tools, machine-learning, deep-learning, stable-diffusion, diffusion-models

Available Tools

9 tools
generate_imageA

Generate an image using Krea AI. Returns a job_id - use get_job to check status and get the result URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel: flux (default), flux-pro, ideogram, imagen-4, krea-1, chatgpt-image, nano-banana, seedreamflux
widthNoImage width in pixels
heightNoImage height in pixels
promptYesText description of the image to generate
style_idNoOptional style ID to apply
image_urlNoOptional source image URL for image-to-image generation
negative_promptNoWhat to avoid in the image

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses that the tool returns a job_id (async) and that another tool is needed to retrieve the final result, which is key behavioral context.

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?

Two sentences, no fluff, front-loaded with purpose. Every sentence adds value.

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

Completeness4/5

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

Given 7 parameters and no output schema, the description explains the async return pattern and points to the status tool. It could mention polling, but the instruction to use get_job is sufficient.

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?

Schema coverage is 100%, so parameters are already documented. The description does not add parameter-level details beyond the schema, meeting the baseline.

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 description uses a specific verb ('generate') and resource ('image'), explicitly names the platform ('Krea AI'), and distinguishes from siblings like generate_video by focusing on image generation.

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

Usage Guidelines4/5

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

It indicates the async workflow by mentioning job_id and directing to get_job for results. It does not explicitly state when not to use, but the sibling context implies alternatives for video.

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

generate_videoA

Generate a video using Krea AI. Returns a job_id - use get_job to check status and get the result URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel: hailuo (default), kling, runway, pika, veo-3, wan, sora, lumahailuo
promptYesText description of the video to generate
durationNoVideo duration in seconds
image_urlNoOptional image URL for image-to-video generation
aspect_ratioNoAspect ratio (16:9, 9:16, 1:1)16:9

TDQS

A3.7/5.0
Behavior3/5

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 async behavior (returns job_id, use get_job for result), which is critical. However, it lacks details on safety, rate limits, or error handling.

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?

Single sentence, front-loaded with purpose, no wasted words. Efficiently conveys the core function and the follow-up action needed.

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?

With 5 parameters and no output schema or annotations, the description is minimal. It explains the async pattern but lacks detail on return format, error cases, or parameter interactions. Adequate but not comprehensive.

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?

Schema description coverage is 100%, so baseline is 3. The description does not add significant meaning beyond the schema; it only mentions the async workflow but no parameter-specific context.

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?

Description clearly states the tool generates a video using Krea AI, with a specific verb and resource. It distinguishes from sibling tools like generate_image (different output) and get_job (status checking).

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

Usage Guidelines3/5

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

The description implies usage for video generation and mentions using get_job for status, but does not explicitly state when to use or avoid this tool, nor provide alternatives or prerequisites beyond the siblings list.

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

get_assetB

Get details of an uploaded asset

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_idYesThe asset ID

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, and the description only says 'Get details' without disclosing read-only behavior, error handling, or permissions. Minimal behavioral information.

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?

Single sentence, no fluff, perfectly concise for a simple retrieval tool.

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?

Tool is simple with one required parameter. The description gives a general idea but no output details or usage context. Adequate but could specify what 'details' includes.

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?

Schema coverage is 100%, so the parameter is fully described in the schema. The description adds no additional meaning beyond 'asset_id'.

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 description clearly states the tool retrieves details of an uploaded asset, with a specific verb and resource. It distinguishes from siblings like get_job or upload_asset.

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?

No guidance on when to use this tool versus alternatives like list_assets or get_job. The description lacks context for when it's appropriate.

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

get_jobA

Get the status and results of a generation job. Returns status (scheduled, processing, completed, failed) and result URLs when completed.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe job ID to check

TDQS

A4/5.0
Behavior4/5

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

Discloses return values (status enum and result URLs), which is the key behavior. No annotations, but description suffices for a read-only query tool.

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?

Two short sentences, front-loaded with action and result, no redundancy.

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

Completeness4/5

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

No output schema or annotations, but description covers essential return info. Missing minor details like input validation or error states, but adequate for the tool's simplicity.

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?

Schema coverage is 100% and parameter description in schema is adequate. Description adds no extra meaning beyond what schema provides.

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?

Clear verb 'Get' and resource 'generation job', explicitly states status and results, and distinguishes from siblings like list_jobs (list all) and generate_image/generate_video (creation).

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

Usage Guidelines3/5

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

No explicit when-to-use or alternatives guidance, but the purpose is clear enough that it's for checking a single job's status, while list_jobs is for listing all jobs.

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

get_styleB

Get details of a specific style

ParametersJSON Schema
NameRequiredDescriptionDefault
style_idYesThe style ID

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It implies a read operation ('Get details') but does not explicitly state read-only, idempotency, or lack of side effects. This is insufficient for a tool with no annotation coverage.

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?

Extremely concise at 6 words. Front-loaded with the main action and resource. No redundant or extraneous information. Every word earns its place.

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-parameter getter without output schema, the description is adequate but minimal. It does not hint at the response format or what 'details' entails. Could be slightly improved by indicating that it returns the full style object.

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?

Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema (e.g., format or source of style_id). The parameter is self-explanatory, so a 3 is appropriate.

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?

Description clearly states 'Get details of a specific style', identifying the action and resource. Distinguishes from sibling 'search_styles' which implies searching rather than fetching a single style. However, does not clarify what 'style' refers to (e.g., generation style) given context of image/video generation siblings.

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?

No guidance on when to use this tool versus alternatives. Siblings like 'search_styles' and 'list_assets' exist but no comparison or exclusion criteria are provided. The description lacks advice on prerequisites or typical use cases.

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

list_assetsC

List uploaded assets

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax assets to return (1-1000)

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits such as pagination, ordering, or whether all assets are listed. The description carries the full burden but is insufficient.

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 very concise with a single sentence. It is not bloated, but could benefit from slight expansion while remaining efficient.

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?

Given the simplicity (1 param, no output schema), the description is incomplete. It does not mention what the returned data looks like, or any limitations (e.g., max return count).

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?

Schema description coverage is 100% (limit parameter documented). The description adds no extra meaning beyond the schema, so baseline 3 applies.

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

Purpose3/5

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

The description 'List uploaded assets' clearly states the verb and resource, but is very brief. It distinguishes from siblings like 'get_asset' and 'upload_asset' only through context, not explicitly.

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?

No guidelines on when to use this tool versus alternatives like 'get_asset' for a single asset. No context about expected use cases or limitations.

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

list_jobsC

List generation jobs with optional filtering

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax jobs to return (1-1000)
typesNoFilter by type (comma-separated): flux, hailuo, kling, etc.
statusNoFilter by status: scheduled, processing, completed, failed

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It only says 'list with filtering', omitting details on pagination, default ordering, error handling, or any side effects. For a mutation-free listing tool, more context is needed.

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?

A single sentence is concise and front-loaded. However, it could include more information without sacrificing brevity, such as common use cases.

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?

With 3 optional parameters and no output schema, the description is adequate but lacks completeness. It does not mention pagination behavior despite a 'limit' parameter, or any ordering or default values beyond schema defaults.

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?

Schema coverage is 100% via parameter descriptions. The description adds 'optional filtering' but does not elaborate on individual parameters. Baseline 3 applies as schema does the heavy lifting.

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 'List generation jobs with optional filtering' clearly states the verb (list) and resource (generation jobs). It distinguishes from siblings like 'get_job' (single job) and 'generate_image' (creation), but does not explicitly differentiate from other list tools.

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 explicit guidance on when to use this tool versus alternatives like 'get_job'. It mentions optional filtering but does not explain specific use cases or prerequisites.

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

search_stylesB

Search for styles/LoRAs to use in image generation

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results
queryYesSearch query

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether it is a read-only operation, rate limits, or any side effects. The agent is left uninformed about safety and constraints.

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 a single concise sentence with the verb front-loaded. No wasted words, but a slight expansion on natural language query would improve completeness without sacrificing conciseness.

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?

Given no output schema and no annotations, the description is too minimal. It omits what is returned (e.g., list of styles with IDs and previews), pagination behavior, ordering, or default result format. For a search tool, this leaves significant gaps.

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?

Schema description coverage is 100%. Both parameters have descriptions ('Max results', 'Search query'). The description adds context ('styles/LoRAs') but does not add meaning beyond the schema. Baseline is appropriate.

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?

Description clearly states the verb ('Search'), resource ('styles/LoRAs'), and context ('to use in image generation'). It distinguishes from siblings like get_style (specific retrieval) and generate_image (creation).

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

Usage Guidelines3/5

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

Description implies usage for finding styles/LoRAs but does not explicitly state when to use this tool versus alternatives like get_style. No when-not-to-use guidance is provided.

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

upload_assetA

Upload an image/video to Krea for use in generations

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the asset to upload
nameNoOptional name for the asset

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It discloses the mutation nature (upload) but omits details on permissions, success/error behaviors, rate limits, or return values. The statement is minimal and provides little beyond the obvious action.

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 a single concise sentence that fully conveys the tool's purpose. Every word earns its place; there is no redundant or extraneous information.

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 2-parameter tool with no output schema, the description covers the core purpose. However, it lacks information about return values, error handling, or limitations. It is adequate but not thorough.

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?

Schema description coverage is 100%, so baseline is 3. The description does not add extra meaning beyond the schema; it merely restates the overall purpose. The schema already adequately describes parameters, so no additional value is provided.

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 description explicitly states the action ('Upload'), the resource ('image/video to Krea'), and the purpose ('for use in generations'). This clearly distinguishes it from sibling tools, which focus on generating, retrieving, or listing assets and jobs.

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

Usage Guidelines3/5

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

The description implies usage context ('for use in generations') but does not explicitly state when to use this tool over alternatives, nor does it provide exclusions or prerequisites. Some guidance is inferred, but lacking explicit when-not or alternative references.

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. 9 tool updatesv1.0.2
    • First observedgenerate_image
    • First observedgenerate_video
    • First observedget_asset
    • First observedget_job
    • First observedget_style
    • First observedlist_assets
    • First observedlist_jobs
    • First observedsearch_styles
    • First observedupload_asset

TDQS

A3.6/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct operation: generation (image/video), asset management, job tracking, and style search. No ambiguity between tools.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using lowercase and underscores, e.g., generate_image, list_assets, search_styles.

Tool Count5/5

9 tools cover the key operations for a generative AI service (generation, asset management, job tracking, style search) without redundancy.

Completeness4/5

Core operations are present: create (generate), read (get, list), and upload. Missing delete/update for assets or jobs, but these are minor gaps given the server's generative focus.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers