About Cavalry MCP
Cavalry MCP is an MCP server published by kacperchlebowicz in the Other category.
The repository has 31 stars and 3 forks, with the last commit 8 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/kacperchlebowicz/Cavalry-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Cavalry MCP
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 2 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- !License declaredNo license file. Legally you have no right to use it in a product.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
1 check has not been run yet.
README
cavalry-mcp
MCP server that connects Claude to Cavalry animation software. Create layers, set attributes, animate with keyframes, render frames, and more — all through natural language.
How it works
Claude <--MCP (stdio)--> cavalry-mcp <--HTTP POST--> Stallion <---> Cavalry
The MCP server sends JavaScript to Cavalry via the Stallion bridge (an HTTP server running inside Cavalry on 127.0.0.1:8080).
Prerequisites
- Cavalry (with Stallion script enabled: Scripts > Stallion)
- Node.js >= 18
Setup
npm install
npm run build
Configure in Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"cavalry": {
"command": "node",
"args": ["/absolute/path/to/cavalry-mcp/dist/index.js"]
}
}
}
Available tools
| Tool | Description |
|---|---|
cavalry_ping |
Check if Cavalry + Stallion are reachable |
cavalry_run_script |
Execute arbitrary JavaScript in Cavalry |
cavalry_create_layer |
Create a layer (textShape, basicShape, null, etc.) |
cavalry_set_attribute |
Set attributes on a layer |
cavalry_get_attribute |
Read an attribute value |
cavalry_connect |
Connect attributes between layers |
cavalry_keyframe |
Set a keyframe at a specific frame |
cavalry_magic_easing |
Apply easing to keyframed attributes |
cavalry_get_scene_layers |
List all layers in the scene |
cavalry_get_selected_layers |
Get currently selected layers |
cavalry_select_layers |
Select layers by ID |
cavalry_delete_layers |
Delete layers by ID |
cavalry_get_composition_info |
Get resolution, frame range, FPS |
cavalry_set_current_frame |
Move the playhead |
cavalry_render_png |
Render current frame as PNG |
cavalry_set_generator |
Set a generator on a layer (ellipse, rectangle, etc.) |
cavalry_duplicate_layer |
Duplicate a layer |
cavalry_get_bounding_box |
Get a layer's bounding box |
cavalry_save_scene |
Save the scene |
cavalry_open_scene |
Open a .cv scene file |
cavalry_add_dynamic_attribute |
Add a dynamic attribute to a layer |
Example conversation
You: Create a bouncing text that says "Hello World"
Claude will:
- Create a textShape layer
- Set the text content, font size, and color
- Add position keyframes for the bounce
- Apply BounceOut easing
Common layer types
basicShape, textShape, null, colorPlane, group, subMesh, linearGradient, duplicator, connectShape, noiseDeformer, stagger, trail, javaScriptUtility, javaScriptShape, imageAsset, videoAsset, soundAsset
Common attribute paths
position.x,position.y— Layer positionrotation— Rotation in degreesscale.x,scale.y— Scaleopacity— Layer opacity (0–100)fontSize— Text layer font sizefill.color— Fill color (hex string)stroke.color,stroke.width— Stroke properties
License
MIT
README fetched from the repository 2 days ago. The original is authoritative.