ca-scene-mcp
The ca-scene-mcp server provides a comprehensive API for creating, editing, simulating, rendering, and optimizing physics-based computer animation scenes, supporting rigid bodies, cloth, fluids, constraints, fields, and actions.
Scene Management
Create, list, retrieve, and modify animation scenes
Export scenes to JSON or other formats, and as standalone Python programs
Retrieve scene schemas and server capabilities
Scene Content Definition
Objects: Rigid bodies (boxes, spheres, capsules, compound shapes), cloth, fluids (smoke/liquid), and containers
Constraints: Fixed-point and distance constraints
Fields: Uniform and radial force or acceleration fields
Actions: Transform (keyframe), impulse, continuous force, and fluid emission actions
Update or remove any existing object, constraint, field, or action; apply transactional merge patches to entire scenes
Set a fixed look-at camera (position, target, field of view)
Simulation & Rendering
Validate scenes (structured errors, suggestions, resource estimates)
Run low-cost preview simulations returning keyframes and metrics
Submit full simulations (Newton physics executor) and rendering jobs asynchronously
Poll job status or cancel queued jobs
Numerical Optimization
Create, validate, start, and manage optimization plans and trials
List, retrieve, compare, and apply trial results to find optimal physical parameters for a scene
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ca-scene-mcpCreate a scene with a cube falling onto a plane"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Computer Animation - Exercise
Overview
This repository contains the code for the computer animation exercise. The code uses Newton@2a6df66 as a backend for the physics simulation.
Related MCP server: chuk-mcp-stage
Agent scene framework
The repository also contains a prompt-driven framework for generating animations:
ca_framework.scenedefines a backend-neutral, JSON-serializable scene model for rigid bodies, cloth, fluids, constraints, and external fields.ca_framework.mcpprovides protocol-independent scene editing tools.mcp_serverexposes those tools through the official Python MCP SDK as a standalone stdio or Streamable HTTP server.knowledge/skillscontains focused simulation knowledge that an agent can load when translating a prompt into a scene.
The runtime and agent-facing files intentionally contain no reference scenes or
reference answers. Black-box task prompts and benchmark commands live under
evaluation/; do not expose that directory to an agent during a prompt-to-video
experiment.
Start the stdio MCP server from the repository root:
uv run --project mcp_server ca-scene-mcpScene files are stored in .ca-scenes by default. Set CA_SCENE_WORKSPACE to use another directory. SceneExecutorLocal compiles rigid bodies and cloth to Newton XPBD/VBD, advances smoke and APIC/FLIP fluid routes, caches every simulated frame, and renders an output bundle. Final jobs use run_scene(scene_name, output_dir) and write animation.mp4, scene.json, program.py, metrics.json, diagnostics.jsonl, and cache/.
Development tests remain under tests/. Evaluation assets and instructions are
documented separately in evaluation/README.md.
Numerical optimization
Scene optimization is a separate, reproducible workflow: an
OptimizationPlan defines bounded physical parameters, an optional TaskSpec
defines task losses, and Optuna proposes Random, TPE, or CMA-ES
trials. Every trial passes through static validation, a short coarse rejection
run, a full-resolution metric run, and optional finalist rendering. Optimization
history is never stored in Scene.metadata.
The MCP server exposes the complete lifecycle through
create_optimization_plan, validate_optimization_plan,
start_optimization, get_optimization_job, list_optimization_trials,
get_optimization_trial, compare_optimization_trials, and
apply_optimization_trial. A stored plan has three independent inputs:
.ca-scenes/.optimizations/plans/<name>/
├── scene.json
├── optimization_plan.json
└── task_spec.json # optionalTrial directories contain the applied scene and parameters, constraint-first
metrics, diagnostics, structured telemetry, and the final report. The report
selects the best feasible, fastest acceptable, and most robust candidates and
writes best_so_far.svg without requiring a plotting dependency.
Installation
Install Git and uv on your system. On Windows, uv can be simply installed by running the following command in PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Clone this repository:
git clone http://dalab.se.sjtu.edu.cn/gitlab/courses/ca-framework-2026.gitInstall dependencies:
uv sync --extra examplesUse any IDE (PyCharm is recommended) of your choice to open the project and run the script in
examples/ca_exercises/directory. PyCharm will automatically recognize the virtual environments, if not, you can activate in the terminal using the command below:./.venv/Scripts/activateThen run the python script in the terminal:
python ./newton/examples/ca_exercises/exercise2_xxx_xxx.pyIf everything's alright, you will see a window like below:
Controls:WASD: move camera
QE: move camera up/down
Left click: lock around
Handin
You only need to modify the TODO sections in the code. You can run the code to test your implementation, but please do not modify the code structure or add any new files.
After you finish one exercise, You only need to submit the modified .py files in newton/_src/solvers/ca_exercises/. Please compress these files into a zip file and submit it to Canvas. The file name should be in the format of ca_exercise<n>_<student_id>.zip.
Notes: each exercise may have its own additional requirements, please pay attention.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBquality-maintenanceEnables AI assistants to generate photorealistic 3D scenes, indoor environments, and individual 3D assets procedurally using Infinigen. Supports various export formats and computer vision annotations for generated scenes.Last updated3
- AlicenseAqualityCmaintenanceOrchestrates 3D scene creation, camera paths, and physics-driven animations, bridging physics simulations with video rendering by defining scene graphs, binding objects to physics bodies, and exporting to React Three Fiber or Remotion.Last updated91MIT
- AlicenseAqualityCmaintenanceEnables natural language-driven creation and execution of autonomous-vehicle scenarios in the CARLA simulator, with validated primitives and replay support.Last updated71MIT
- Alicense-qualityCmaintenanceEnables AI assistants to create, inspect, and animate 3D scenes in Blender through natural language and structured tool calls.Last updated3MIT
Related MCP Connectors
AI visual generation agent: multi-pipeline rendering, prompt crafting, and image composition.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Generate logos, social posts, app screenshots, comic panels & visual-novel assets from prompts.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wkzMagician/newton-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server