MCP Server

CleanVector

ai.cleanvector/cleanvector
Design & Creative Public & reachable MCP 2025-11-25

What this MCP does

Generates and vectorizes artwork and returns SVG, PNG, and logo assets.

download_logo_kit
Download logo brand kit
Return a completed logo kit as an embedded ZIP resource. Includes three SVGs, three PNGs and palette.json. MCP output is capped at 2048px; use zip_url from the task result for larger files.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'width': {'type': 'integer', 'default': 2048, 'maximum': 2048, 'minimum': 16}, 'task_id': {'type': 'string'}}, 'additionalProperties': False}
download_png
Download result as PNG
Return the finished artwork as a PNG image (free on all plans). Use after a task succeeded. For larger exports up to 8192px, use the png_url from the task result with the same Bearer key.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'width': {'type': 'integer', 'default': 1024, 'maximum': 2048, 'minimum': 16, 'description': 'Output width in px (height keeps aspect)'}, 'task_id': {'type': 'string'}, 'variant': {'enum': ['original', 'black', 'white'], 'type': 'string', 'description': 'Logo only: original/black/white. Artwork tasks have one SVG.'}}, 'additionalProperties': False}
download_svg
Download result as SVG
Return the finished artwork as SVG markup. Use after a task succeeded.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'task_id': {'type': 'string'}, 'variant': {'enum': ['original', 'black', 'white'], 'type': 'string'}}, 'additionalProperties': False}
generate_illustration
Generate SVG artwork
Generate professional, editable SVG artwork from a text prompt: illustrations, icons, stickers and mascot scenes. The result is real vector paths with a transparent background, not an embedded bitmap. Returns a task that processes asynchronously, so call wait_for_task with the returned id to get the result. Pass mascot_id (from list_mascots) to keep a consistent character across scenes. Costs 4 credits.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['prompt'], 'properties': {'prompt': {'type': 'string', 'maxLength': 2000, 'minLength': 3, 'description': 'What to draw, in plain language'}, 'mascot_id': {'type': 'string', 'description': 'Optional mascot id; the character appears consistently in the scene'}, 'aspect_ratio': {'enum': ['auto', 'square', 'landscape', 'portrait'], 'type': 'string', 'default': 'auto'}, 'no_background': {'type': 'boolean', 'default': True, 'description': 'Return only the subject on a transparent background'}}, 'additionalProperties': False}
generate_logo
Generate vector logo and brand kit
Generate a professional vector logo as editable SVG, delivered as a brand kit: the original mark, black and white variants, transparent PNG exports and a color palette measured from the finished artwork. An optional reference can refine an existing identity or provide loose inspiration. Runs asynchronously, so call wait_for_task with the returned id, then download_logo_kit. Costs 8 credits.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['prompt'], 'properties': {'prompt': {'type': 'string', 'maxLength': 2000, 'minLength': 3, 'description': 'Creative brief for the logo'}, 'brand_name': {'type': 'string', 'maxLength': 80, 'description': 'Exact optional brand name; omit for symbol-only'}, 'request_id': {'type': 'string', 'format': 'uuid'}, 'reference_role': {'enum': ['refine', 'inspiration'], 'type': 'string'}, 'reference_image_url': {'type': 'string', 'format': 'uri'}, 'reference_image_base64': {'type': 'string'}}, 'additionalProperties': False}
get_account
Get account info
Current plan and credit balance. Costs: vectorize 1, generate/enhance 4, logo 8 credits. PNG and SVG downloads are free on every plan.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
get_task
Get task status
Fetch the current status of a task. Status is one of queued, processing, succeeded, failed. A succeeded task includes the result with download URLs.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'task_id': {'type': 'string', 'description': 'Task id from generate_illustration or vectorize_image'}}, 'additionalProperties': False}
list_mascots
List mascots
List the user's ready-to-use mascots (consistent characters). Pass a mascot id to generate_illustration to place that character in a new scene. Mascots are created in the CleanVector dashboard.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
list_tasks
List recent tasks
List the user's most recent tasks, newest first.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1}}, 'additionalProperties': False}
vectorize_image
Vectorize image
Convert a raster image (PNG/JPG/WebP, max 5 MB) into a clean, editable SVG. Provide image_url or image_base64. no_background defaults to true and isolates the subject (4 credits). Set no_background false with mode 'direct' to trace as-is (1 credit); mode 'enhance' redraws with AI first (4 credits). Runs async, so poll with wait_for_task.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'mode': {'enum': ['direct', 'enhance'], 'type': 'string', 'default': 'direct'}, 'prompt': {'type': 'string', 'maxLength': 2000, 'description': 'Optional guidance for enhance mode'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'Public URL of the image'}, 'image_base64': {'type': 'string', 'description': 'Base64 image data (raw or data URL)'}, 'no_background': {'type': 'boolean', 'default': True, 'description': 'Isolate the subject on a transparent background'}}, 'additionalProperties': False}
wait_for_task
Wait for task to finish
Block until a task settles (succeeded/failed) or the timeout passes. Preferred over polling get_task in a loop. Generation typically takes 10-60 seconds.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'task_id': {'type': 'string'}, 'timeout_seconds': {'type': 'integer', 'default': 45, 'maximum': 50, 'minimum': 5}}, 'additionalProperties': False}
Added
get_account
Sept. 25, 2026, 2:45 a.m.
Added
download_logo_kit
Sept. 25, 2026, 2:45 a.m.
Added
download_svg
Sept. 25, 2026, 2:45 a.m.
Added
download_png
Sept. 25, 2026, 2:45 a.m.
Added
list_mascots
Sept. 25, 2026, 2:45 a.m.
Added
list_tasks
Sept. 25, 2026, 2:45 a.m.
Added
wait_for_task
Sept. 25, 2026, 2:45 a.m.
Added
get_task
Sept. 25, 2026, 2:45 a.m.
Added
vectorize_image
Sept. 25, 2026, 2:45 a.m.
Added
generate_logo
Sept. 25, 2026, 2:45 a.m.
Added
generate_illustration
Sept. 25, 2026, 2:45 a.m.