Skip to main content
Glama
Companion Animation Pipeline MCP Server

Companion Animation Pipeline MCP Server

by arabianguy08

3D model to Animation pipeline

Tests

Inspect → calibrate → animate → export → verify → review → package.

A standalone Blender pipeline for 3D characters and companions, with a Python CLI, an installable AI skill, and a local MCP server that controls background Blender jobs. Keep model-specific work resumable, source files intact, and successful export separate from successful animation.

See it work

Synthetic character animation and render-time VFX

The public showcase uses only newly generated synthetic geometry. It contains no private models, game code, customer data, or recordings from another product. See the showcase and its evidence.

Related MCP server: bl-mcp

Install once

The installer sets up uv, Python 3.12, the CLI, MCP dependencies, an AI skill, and Blender. It reuses an existing Blender or installs a portable, checksum-verified Blender 4.5.3 build in your user data directory. No separate Blender add-on, Node.js, Git installation, API key, or subscription is required.

Windows PowerShell

Invoke-RestMethod https://raw.githubusercontent.com/arabianguy08/3d-model-to-animation-pipeline/v0.1.1/install.ps1 -OutFile install.ps1
.\install.ps1 -Client codex

macOS / Linux

curl -LsSf https://raw.githubusercontent.com/arabianguy08/3d-model-to-animation-pipeline/v0.1.1/install.sh -o install.sh
sh install.sh --client codex

Choose codex, claude-code, claude-desktop, cursor, or generic instead. The first four configure their MCP connection automatically; restart the AI client afterward. That client's normal tool-approval rules still apply. auto registers a uniquely detected Codex/Claude CLI; otherwise it writes a portable companion-mcp.json rather than guessing which app to change.

Use -ManagedBlender / --managed-blender to install the pinned build even when Blender is already present. Use -Blender / --blender for your own executable. Client applications themselves are not installed. See setup details.

First run

companion-animation doctor
companion-animation demo ./my-first-demo

The demo creates an original synthetic rig and face, bakes real actions, exports a GLB, reopens it, verifies deformation/timing and renders inspection evidence. Packaging still requires real visual review. Nothing is uploaded.

For your own model:

companion-animation init model.json --model ./character.glb --workspace ./work
companion-animation inspect model.json
companion-animation status model.json

Tell your agent:

Use the companion-animation-pipeline skill and MCP tools. Inspect my model, calibrate its anatomy and named bones, preserve its original proportions and authored motion, and produce a numerically verified GLB with playback for review.

Then follow the usage guide.

What is automated—and what needs judgment

  • Shared stages: inspection, job isolation, baking, GLB export, numerical checks, probe rendering, cache invalidation, resumption and packaging.

  • Model-specific work: anatomical fitting, weights, bone mapping, clip selection, facial geometry and believable motion. An AI can do this through the included Blender tools, but an arbitrary upload is not a guaranteed one-click rig.

  • Numerical certification checks the persisted GLB, not just an animation name. Temporal/artistic quality still needs inspection. Supplied clips keep their exact timing, loop/hold behavior and action-slot binding.

  • VFX examples show presentation and timing. Projectile movement, collision, combat logic and mobile performance belong to the consuming application.

Developers

python -m pip install .
python -m unittest discover -s tests -v
python tests/test_pipeline.py --blender /path/to/blender BlenderTests -v

The runner itself uses the Python standard library; Blender supplies bpy, NumPy and mathutils. The MCP interface uses the official MCP Python SDK 1.x. Verification distinguishes real Blender checks, unit tests, visual review and untested platforms.

Local execution and licensing

The MCP server uses stdio and opens no HTTP port. blender_script executes trusted local Python with your account permissions; this is not a sandbox. Adapters and models stay local unless you explicitly share them. Read install scripts before running downloaded code.

Pipeline code and synthetic showcase material: MIT. Blender is a separate application with its own license. Dependency licenses remain with their respective projects.

Available Tools

9 tools
blender_scriptB

Run a trusted local Blender Python script in a hidden background process.

The script must be inside workspace; scripts have normal user permissions, not a security sandbox. Author to derivative paths; never overwrite the source. sys.argv after -- contains the workspace path.

Inputs: script (required), workspace (required), blend_file.

diagnose_stageC

Record an established failure cause before retrying a stage. Does not relax tolerances.

Inputs: note (required), stage (required), config (required).

environment_infoB

Check the installed runner and Blender without changing configuration.

Inputs: no named parameters.

job_statusB

Read background job completion and its log tail. Does not infer visual approval.

Inputs: job_id (required).

pipeline_initA

Create an isolated config for a supplied model; never overwrite an existing config.

Inputs: model (required), config (required), workspace (required).

pipeline_runB

Start/resume stages as a background job. Poll job_status; exit 2 means work/review remains.

Inputs: config (required), through.

pipeline_statusC

Read cached stages, failures, pending calibration and review requirements.

Inputs: config (required).

record_reviewC

Record real candidate-bound visual review from an existing evidence JSON file.

Inputs: config (required), evidence (required).

view_artifactB

Display an existing PNG/JPEG inside a model workspace; maximum 10 MiB.

Inputs: path (required), workspace (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 9 tools

    Disambiguation4/5

    Tools are mostly distinct, but pipeline_status and job_status both report status at different scopes, and blender_script vs pipeline_run may be confused by an agent deciding between custom scripting and managed stages. Descriptions clarify the intended separation, but the overlap prevents perfect clarity.

    Naming Consistency4/5

    All names use snake_case consistently, with readable prefixes such as pipeline_* and job_*. However the set mixes noun-first names (environment_info, pipeline_status) with verb-first names (record_review, diagnose_stage, view_artifact), so the pattern is not fully uniform.

    Tool Count5/5

    Nine tools is well-scoped for an animation pipeline: setup, execution, monitoring, review, diagnosis, and artifact viewing each have a clear place. The count avoids both thinness and bloat.

    Completeness3/5

    The core pipeline lifecycle is covered, but pipeline_status references pending calibration while no tool records or resolves calibration. There is also no explicit stop/cancel for background jobs or cleanup/reset operation, creating potential dead ends.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      A
      quality
      C
      maintenance
      Enables AI agents to inspect and drive Blender scenes directly, either through a live editor bridge on port 8190 or automatically via headless background CLI when Blender is closed. Provides token-efficient tools for scene outlining, object creation and modification, modifiers, materials, rendering, asset export, and arbitrary bpy script execution.
      11
      -
    • A
      license
      A
      quality
      B
      maintenance
      Enables an AI agent to drive a live Blender session, building, sculpting, measuring, checking, rigging, lighting, rendering and exporting 3D models through safe operations in world units. Every geometry-changing call reports achieved dimensions, open edges and failures as numbers and review images, so modelling mistakes become visible instead of silent.
      113
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Lets an AI engine drive a Blender instance the user runs themselves over stdio JSON-RPC, enabling scene inspection, viewport capture and picking, sandboxed code execution, and gated asset search/import and 3D generation. Telemetry is disabled before import, outbound tools are withheld until per-run network consent, and VRAM gating plus a surface-policy tool report what is live and what a station has cleared.
      Business Source 1.1
    • A
      license
      Not graded
      quality
      B
      maintenance
      Connects an AI agent to Blender 5.2 LTS over stdio, letting it read the scene hierarchy, create and transform primitive meshes, assign Principled BSDF materials, delete objects, save .blend files, and run raw bpy scripts through 12 tools. A two-process socket bridge keeps bpy calls on Blender's main thread, so no pip packages or admin rights are needed inside Blender.
      MIT