kavel-mcp
Server Details
Discover Kavel's AI photo/video generators, get tuned prompts, and open the right tool on kavel.ai.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- hanshs474/kavel-mcp
- GitHub Stars
- 0
- Server Listing
- kavel-mcp
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: discovery (find_kavel_tool), generation (generate_kavel_image), status check (check_kavel_generation), and account balance (get_kavel_balance). There is no overlap in functionality, so an agent can easily select the right tool.
All tool names follow a consistent snake_case pattern of verb_kavel_noun: check_kavel_generation, find_kavel_tool, generate_kavel_image, get_kavel_balance. The pattern is predictable and readable.
With 4 tools, the set is well-scoped for a focused MCP server that wraps Kavel AI effects. The tools cover discovery, generation, polling, and credit check without unnecessary redundancy.
The core workflow is covered: find effects, generate an image, check its status, and check credits. Minor gaps exist (e.g., no tool to list past generations or cancel a running task), but the described purpose is largely fulfilled and video generation is intentionally handled outside this server.
Available Tools
4 toolscheck_kavel_generationCheck a Kavel generationARead-onlyInspect
Get the result of a Kavel generation that was still rendering.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | task_id from generate_kavel_image. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the useful context that this targets in-flight generations, but omits key behavioral details such as whether the call blocks, how often to poll, or whether results expire.
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 with no filler; every clause carries meaning. Appropriate size for a one-parameter lookup tool.
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, the description should carry more of the return-value burden. It does not say what a pending versus completed response looks like, which is the central question for a polling tool.
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 coverage is 100% and the schema already documents that task_id comes from generate_kavel_image. The description adds nothing beyond the schema for this single parameter, so the baseline 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?
States a specific verb (get) and resource (the result of a Kavel generation) with a qualifying condition ('that was still rendering'). This differentiates it from generate_kavel_image, though it never names that sibling explicitly.
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 'that was still rendering' implies the polling-after-generate pattern, so usage is inferable. However, it gives no explicit when-not guidance, no mention of how to obtain the task_id beyond the schema, and no statement about what to do if the generation is still pending.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_kavel_toolFind a Kavel AI photo or video effectARead-onlyInspect
Search Kavel's AI photo and video effects (hairstyle changer, figurine, pet portrait, yearbook photo, trend dance videos and more). Returns each tool's slug, what it needs (a photo or just text) and its page on kavel.ai. Image tools can be run here with generate_kavel_image; video tools open on kavel.ai.
| Name | Required | Description | Default |
|---|---|---|---|
| hub | No | Only image or only video tools. | |
| query | No | What the user wants, e.g. 'make my dog look royal' or 'dancing video'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false. The description adds real value beyond that: it describes the return payload (slug, required input type, kavel.ai page) and discloses the important behavior that video tools cannot be executed here but open externally.
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?
Three tight sentences, front-loaded with what the tool does, followed by return shape and the run/open distinction. No filler or repetition.
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, the description compensates by spelling out the returned fields (slug, input requirement, kavel.ai page) and the image-vs-video execution path. An agent has everything needed to call it and act on results.
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 both parameters are already documented, and the hub enum is self-explanatory. The description only reinforces their intent ('photo or just text', search-oriented query) without adding syntax or format detail, so the baseline 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?
States a specific verb ('Search') and resource ('Kavel's AI photo and video effects') and immediately gives concrete examples (hairstyle changer, figurine, yearbook photo). It also distinguishes itself from the sibling generate_kavel_image by clarifying that searching finds tools while generating runs them.
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?
Explicitly routes the agent: image tools can be run via generate_kavel_image, video tools open on kavel.ai. That is a clear use-context, though it doesn't compare against check_kavel_generation or get_kavel_balance, and gives no explicit when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_kavel_imageGenerate or edit an image with KavelAInspect
Create an image from a prompt, or edit the user's photo, on their Kavel account. Pass tool (a slug from find_kavel_tool) to apply that effect's tuned recipe, with prompt holding the user's own details. Photo tools need a photo: the user's attachment in photos, or a public link in image_urls. Spends credits from the linked Kavel account. Usually returns the image within a minute; otherwise returns a task_id for check_kavel_generation.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | Optional image tool slug from find_kavel_tool. | |
| photos | No | Photos the user attached in the chat. Required by photo tools. | |
| prompt | No | The user's description, or their extra details when a tool is given. | |
| image_urls | No | Photos to edit given as public http(s) links, when not attached. | |
| aspect_ratio | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), and the description goes further by disclosing that the call spends credits from the linked account and that it usually returns inline but may return a task_id within a minute. Cost and latency disclosure is high-value context beyond the structured annotations.
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?
Four tight sentences, front-loaded with the core action before the parameter and fallback details. Every sentence carries operational information; only the missing aspect_ratio note keeps it from being maximally efficient.
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, the description correctly covers the return contract (image or task_id) and the credit cost, which is what an agent needs to call and follow up. Coverage is strong; the only gap is no mention of the aspect_ratio option or any limit on how many images are produced.
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 coverage is already 80%, and the description adds real meaning on top: it explains that `tool` is a slug sourced from find_kavel_tool, that `prompt` carries the user's own details when a tool is supplied, and that `photos` vs `image_urls` are alternative photo sources. It does not explain `aspect_ratio`, but the schema/enum carries that.
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 and resource ('Create an image from a prompt, or edit the user's photo') and names the account scope. It also distinguishes its two modes (generation vs. edit) and references the relevant siblings, so an agent can place it against check_kavel_generation and find_kavel_tool immediately.
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?
Explicitly routes the agent: use find_kavel_tool to get a slug for the `tool` param, and fall back to check_kavel_generation when a task_id is returned. It also states the precondition that photo tools require a photo via `photos` or `image_urls`, which is exactly the when-to-use context an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_kavel_balanceKavel credit balanceBRead-onlyInspect
How many credits are left on the linked Kavel account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the agent knows this is a safe, non-mutating read against a specific external account. The description adds no further behavioral context such as whether the account must be linked first, error behavior when unlinked, or units/currency of the credits.
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 sentence, front-loaded with the resource and framed around the value returned, with no wasted words. The interrogative phrasing is slightly indirect for a tool description but remains immediately parseable.
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 parameters, no output schema, and annotations covering the safety profile, the description carries only the burden of stating what comes back, which it does ('how many credits are left'). Minor gaps remain around account-linkage prerequisites and the exact return form, but nothing essential to correct invocation is missing.
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 takes zero parameters, so there is no parameter semantics to document; the baseline for a no-parameter tool is 4. Nothing in the description contradicts or muddies the empty schema.
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 states a specific resource (Kavel credit balance) and what is returned (credits left on the linked account), so an agent knows exactly what this tool retrieves. It does not, however, differentiate itself from siblings like check_kavel_generation or find_kavel_tool, leaving the agent to infer the boundary from names alone.
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 statement of when to use this tool versus the siblings (check_kavel_generation, find_kavel_tool, generate_kavel_image), nor any prerequisite or context for invoking it. The purpose is simple enough that implied usage is obvious, but no explicit guidance is offered.
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.
4 tool updates
- First observed
check_kavel_generation - First observed
find_kavel_tool - First observed
generate_kavel_image - First observed
get_kavel_balance
Related MCP Connectors
Generate images, video, music, speech, 3D, logos and product shots with 60+ AI models.
- KubflowOAuthai.kubflow
Create AI images, videos and audio with Veo, Kling, Seedance, Nano Banana, Suno and more.
AI image, video & music generation. Flux, Veo 3.1, Suno V5. Free tier included.
AI images and videos with any model, AI personas, and AI clips from long videos.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceGenerate and refine AI images/audio/video through natural conversation.408Apache 2.0
- FlicenseNot gradedqualityCmaintenanceGenerates images and videos from text prompts using Cloudflare Workers AI and Google Gemini models.-
- AlicenseAqualityAmaintenanceLuma Dream Machine AI video generation with text-to-video, image-to-video, video extension, loop creation, and multiple aspect ratios.8720 PyPIMIT
- AlicenseAqualityDmaintenanceAI image and video generation, editing, and region repair via Gemini, OpenAI, and Grok1159 npm5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.