MCP server for Kavel (www.kavel.ai) — discover Kavel's AI photo/video generators, get model-tuned prompts, and open the right tool to generate. Tools: AI Hairstyle Changer, Figurine, Pet Portrait, 90s Yearbook, Dance Video, HD Photo Converter, and more.
kavel-mcp demonstrates solid definition quality with clear, action-oriented naming and comprehensive descriptions. All four tools follow verb_noun conventions and include well-written descriptions (120-160 chars each, within the 10-1024 baseline). Input schemas are properly typed using Zod with parameter descriptions. However, output schemas are not formally documented, responses are returned as plain text content without structured field definitions, limiting downstream tool chaining and LLM reasoning about available data. Error handling is present but minimal (only 'unknown tool' validation). The server is read-only with no destructive operations, reducing some security concerns but also limiting its utility scope.
Get a model-tuned prompt for a specific Kavel tool. Returns Kavel's proven prompt recipe for that effect (tuned for its model), optionally customized with the user's details. Paste the result into the generator on the tool's page.
List the AI models Kavel runs (image and video), what each is good at, and whether it has a free tier.
Browse or search Kavel's AI photo & video generators (hairstyle changer, figurine, pet portrait, 90s yearbook, dance video, HD photo converter, and more). Use `query` to match a goal like 'make my dog look royal' or 'turn my selfie into a figurine'. Each result includes the direct URL on www.kavel.ai to generate it.
Get the direct URL to a Kavel tool's generator page (on www.kavel.ai), pre-set to the right mode with a tuned prompt, so the user can generate the result. Free-tier models let users generate without paying.
Output schemas not documented. Tools return text-only responses without structured field definitions. Downstream tools cannot reliably extract tool IDs, URLs, or model names for chaining. The LLM must parse unstructured text.
Error handling lacks guidance. 'Unknown tool' errors tell the LLM the problem but not how to recover. Should suggest calling list_kavel_tools to discover valid slugs (which is done in build_kavel_prompt and open_in_kavel, but inconsistently).
Pagination not supported. list_kavel_tools and list_kavel_models both return unbounded lists. If the tool catalog grows beyond ~50 items, responses will bloat the context window. No limit parameter or offset/cursor mechanism.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 63 | 2026-07-28+ | v2 |
No input validation on the 'tool' parameter. build_kavel_prompt and open_in_kavel accept a string slug but do not validate format (alphanumeric, hyphens only, length bounds). Invalid input produces a 'not found' error instead of a validation error. This wastes an LLM inference step.