Skip to main content

Servers & clients

MMCP is a protocol — anyone can implement either side. The implementations listed here are officially supported: maintained in the same project, released against each protocol version, and used as reference implementations when designing the protocol itself.

If you build a server or client and want it listed here, open an issue on GitHub.

Officially supported servers

ServerBackboneLicenseStatus
motionmcp-kimodoKimodo SOMA familyApache 2.0Alpha
Animatica CloudHosted, multi-modelCommercialBeta

motionmcp-kimodo

Wraps the Kimodo motion model in motionmcp.Backbone. Run on your own hardware; clients send the model's canonical skeleton verbatim.

Install from source:

git clone https://github.com/animatica-ai/motionmcp-kimodo
cd motionmcp-kimodo
pip install -e .

motionmcp-kimodo --port 8000

See the motionmcp-kimodo repo for the full README and configuration options.

Animatica Cloud

The hosted product. Same protocol, plus skeleton retargeting (any rig), hosted GPUs, batch generation, multi-tenant auth, and managed model versions. See Roadmap → Cloud-only for the full scope.

Officially supported clients

ClientHostLicenseStatus
Proscenium for BlenderBlender 4.2+Apache 2.0Alpha

Proscenium

A Blender addon for directable motion generation. Set keyframes, prompt the model, regenerate the rest. Talks MMCP — works against any compliant server.

Install from source:

git clone https://github.com/animatica-ai/proscenium-blender
cd proscenium-blender
make zip # → dist/proscenium-blender-X.Y.Z.zip

Then in Blender: Edit → Preferences → Add-ons → Install…, pick the zip, and tick Proscenium — AI Motion Generation.

Configure the server URL:

  1. Edit → Preferences → Add-ons → Proscenium → Preferences
  2. Set Server to your MMCP endpoint (e.g. http://localhost:8000).

The plugin discovers the model via /capabilities and dispatches /generate against the configured URL. See the Proscenium repo for the full README.

Build your own

The protocol surface is small enough that hand-rolling either side is a reasonable hour-long project.

A new server backbone

Subclass motionmcp.Backbone:

from motionmcp import Backbone, ModelSpec, MotionResult, serve

class MyBackbone(Backbone):
def capabilities(self) -> ModelSpec: ...
async def generate(self, req): ...

serve(MyBackbone())

See SDK → for the full surface, and motionmcp-kimodo source for a real-world reference.

A new client

Two HTTP calls (GET /capabilities, POST /generate) and a glTF parser. See:

The protocol is language-agnostic; the only hard requirement is a glTF 2.0 parser for the response side. Most DCC tools (Blender, Maya, Houdini, Unity, Unreal, three.js) ship one.