Cartwheel MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CARTWHEEL_API_KEY | Yes | Your Cartwheel project API key. Required to authenticate with the Cartwheel public API. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_charactersA | Retrieves a list of characters available to the authenticated service account. Includes presigned URLs for character assets. |
| get_characterA | Retrieves a character's details, |
| list_scenesA | Retrieves scenes available to the authenticated service account. |
| get_sceneA | Retrieves a scene accessible to the authenticated service account. |
| generate_motionA | Generates motion animation based on text prompts. Returns a batch ID for tracking the generation progress. Consumes generation credits. Submit once, then use get_batch and list_batch_motions to poll; do not resubmit to check progress. |
| get_motionA | Retrieve primary motion status/downloads or apply one actor’s body to another accessible character. For multi-person Comic retargeting provide characterID and its zero-based bodyIndex. Use list_batch_motions for the complete ordered body, facial, identity and source-camera output arrays. |
| search_motionsA | Searches the motion library with optional filtering by category, subcategory, tags, and search term. Returns paginated results with motion items and category aggregation information. |
| list_motionsB | Retrieves a paginated list of recent motion generations created for the authenticated service account. Results are sorted by creation time, newest first by default. |
| list_batch_motionsA | Retrieves a paginated list of motion generations for a specific batch. Returns motion generation records with presigned URLs for BVH files and preview videos. Comic 4 items include ordered per-person body, face, identity and export arrays plus the captured camera when available. Preserve null slots. get_motion does not replace this complete batch listing. |
| get_batchA | Retrieves batch details including status, progress, and export settings. Use this endpoint to check the status of a batch job created via /motion/fromVideo or /motion/fromText. |
| create_media_uploadA | Prepare signed upload URLs for video references. This creates media slots; it does not upload the file bytes. Use the client's authorized file tools to PUT each selected local video to its returned mediaUploadURL without an API key header. Upload before calling generate_motion_from_video. Video references must be at most 30 seconds and smaller than 250 MB. Keep signed URLs private. |
| get_mediaA | Retrieve an accessible reference media item and its current signed download URL. Use sourceVideoMediaID from a motion to retrieve its original reference. Media registration alone does not prove that file bytes have been uploaded. |
| generate_motion_from_videoA | Capture editable body, hand and optional face performance from uploaded videos using Comic 4. Supports 1–4 people per video. Requires uploaded media IDs and complete export settings. Consumes credits: submit once, then poll get_batch and list_batch_motions. Preserve every actor's ordered exports, MHR face/body assets and camera from list_batch_motions. Use get_motion with characterID and bodyIndex for a particular actor's body retarget. Keep moveInPlace false to preserve interactions and shared world placement. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| grounded_blender_scene | Generate text motion, retarget with Gaussian contact easing, and verify a Blender scene. |
| comic4_blender_scene | Upload a video, capture up to four actors with faces, preserve their shared placement, and reveal a new camera angle. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| grounded_blender_workflow | Generate text motion, retarget with Gaussian contact easing, and verify a Blender scene. |
| comic4_blender_workflow | Upload a video, capture up to four actors with faces, preserve their shared placement, and reveal a new camera angle. |
TDQS
Scored across 13 tools
Each tool maps cleanly to a distinct resource and operation: list/get separate collection from detail, text and video generation are split, and motion retrieval is divided by batch, individual, user history, and library search. Descriptions also clarify polling workflows, reducing the chance of selecting the wrong retrieval tool.
All tool names follow the same snake_case verb_noun convention, using get_/list_ for reads, generate_/create_ for creation, and search_ for queries. Multi-word targets such as batch_motions and media_upload are applied consistently, with no camelCase or mixed verb styles.
Thirteen tools is well within the ideal range for a platform MCP, and each tool earns its place in the workflow: resource listing/detail, media upload setup, text/video motion generation, batch polling, and motion search/retrieval. There are no redundant or throwaway tools.
The set covers the full motion-generation lifecycle: create media uploads, generate from text or video, poll batch status, retrieve batch/individual outputs, and search/list existing motions. Characters and scenes are exposed as read-only resources appropriate to their role, so no critical operation is missing.