Manim MCP について
Manim MCP は、Manim による数学アニメーションを作成するための Docker ベースの環境です。コマンドラインと Web API の両方で利用でき、再現性のあるレンダリング環境を必要とするユーザーに向いています。AI アシスタントが MCP 経由で Manim スクリプトを作成・実行することもできます。
主な機能
- 01Docker で隔離された Manim 実行環境
- 02コマンドラインでのレンダリング
- 03HTTP Web API と /docs ドキュメント
- 04スクリプトのアップロードとアニメーションのダウンロード
- 05AI アシスタントから利用できる MCP 対応
活用シーン
- 01自然言語の説明から Manim スクリプトを生成
- 02コンテナ内でアニメーションをレンダリングしてダウンロードリンクを取得
- 03生成されたメディアファイルの閲覧と管理
MCP 対応
本プロジェクトは MCP サーバーとして、Manim スクリプトの作成、アニメーションの実行、メディアファイルの管理機能を AI アシスタントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Manim MCP
Manim を使って数学アニメーションを作成するための Docker ベース環境です。CLI インターフェースに加え、AI アシスタント向けの Model Context Protocol(MCP)をサポートする Web API を備えています。
📑 概要
このプロジェクトでは、次の機能を提供します。
- コンテナ化された Manim 環境:分離された再現可能な Docker 環境で Manim を実行します
- Web API:HTTP リクエストで Manim アニメーションを作成、管理します
- MCP 連携:Claude などの AI アシスタントと直接やり取りします
- ファイル管理:スクリプトをアップロードし、生成されたアニメーションをダウンロードします
🚀 クイックスタート
前提条件
- お使いのシステムに Docker と Docker Compose がインストールされていること
インストール
オプション 1:ビルド済みイメージを使用する(推奨)
Docker Hub からビルド済みイメージを取得します。
docker pull wstcpyt/manim-docker-mcp:latest
次に、docker-compose で実行します。
docker compose up -d
オプション 2:ローカルでビルドする
-
リポジトリをクローンします。
git clone https://github.com/YOUR_USERNAME/manim-docker-mcp.git cd manim-docker-mcp -
Docker イメージをビルドします。
docker compose build
使用方法
CLI モード
animations ディレクトリに Python ファイルを作成し(以下の例を参照)、次のコマンドを実行します。
docker compose run manim -pql animations/example.py ExampleScene
API モード
API サーバーを起動します。
docker compose up -d manim-api
http://localhost:8000/docs で API ドキュメントを確認できます。
🎬 アニメーションの作成
基本的な例
animations/example.py ファイルを作成します。
from manim import *
class CircleToSquare(Scene):
def construct(self):
circle = Circle()
circle.set_fill(BLUE, opacity=0.5)
square = Square()
square.set_fill(RED, opacity=0.5)
self.play(Create(circle))
self.wait()
self.play(Transform(circle, square))
self.wait()
アニメーションの実行
# CLI mode with preview (-p), low quality (-ql)
docker compose run manim -pql animations/example.py CircleToSquare
# API mode
curl -X POST "http://localhost:8000/run-manim?filepath=/manim/temp/circle_example.py&scene_name=CircleToSquare&quality=low_quality"
📂 プロジェクト構成
manim-docker-mcp/
├── animations/ # Manim animation scripts
├── app/ # FastAPI application
├── media/ # Generated animations (CLI mode)
├── output/ # Generated animations (API mode)
├── temp/ # Temporary files
├── uploads/ # Uploaded animation scripts
├── Dockerfile # Docker image definition
├── docker-compose.yml # Docker Compose configuration
└── README.md # This file
🔧 設定
品質設定
| フラグ | 解像度 | フレームレート | 用途 |
|---|---|---|---|
-ql | 480p | 15fps | 簡易プレビュー |
-qm | 720p | 30fps | 一般的な用途 |
-qh | 1080p | 60fps | プレゼンテーション |
-qk | 1440p | 60fps | 本番用動画 |
その他の便利なフラグ
-p:出力ファイルをプレビューします-t:背景を透明にします--save_last_frame:最後のフレームだけをレンダリングします-c COLOR:背景色を設定します
🌐 API ドキュメント
主なエンドポイント
ファイル一覧
GET /list-files?directory=/manim
ファイルの書き込み
POST /write-file?filepath=/manim/temp/example.py
アニメーションの実行
POST /run-manim?filepath=/manim/temp/example.py&scene_name=CircleToSquare
アニメーションのダウンロード
GET /download-file?filepath=/media/videos/example/480p15/CircleToSquare.mp4
API ドキュメントの全文は /docs エンドポイントで確認できます。
🤖 AI アシスタント連携(MCP)
このプロジェクトは Model Context Protocol(MCP) をサポートしており、AI アシスタントで次の操作ができます。
- 自然言語による説明に基づいて Manim スクリプトを作成する
- アニメーションを実行し、ダウンロードリンクを提供する
- 生成されたメディアファイルを参照、管理する
MCP セッションの例:
User: Create an animation showing a circle morphing into a square
AI: I'll create that for you...
🔍 高度な使い方
カスタム LaTeX
コンテナには最小限の LaTeX インストールが含まれています。アニメーションでカスタム LaTeX を使用できます。
formula = MathTex(r"\int_{a}^{b} f(x) \, dx = F(b) - F(a)")
self.play(Write(formula))
カスタムディレクトリのマウント
docker-compose.yml ファイルを変更して、追加のディレクトリをマウントします。
volumes:
- ./my_custom_dir:/manim/custom
🛠️ トラブルシューティング
よくある問題
- Docker が起動していない:Docker デーモンが起動していることを確認してください
- 権限エラー:コンテナには、マウントされたボリュームへの書き込み権限が必要です
- メディアが見つからない:正しい出力ディレクトリを確認してください(CLI の場合は media/、API の場合は output/)
サポート
問題が発生した場合は、次の手順をお試しください。
- Manim のドキュメントを確認する
- 既存の GitHub の課題を検索する
- 問題の詳細を記載して、新しい課題を作成する
📜 ライセンス
このプロジェクトは Apache License 2.0 の下でライセンスされています。詳細については LICENSE ファイルを参照してください。
🙏 謝辞
- 素晴らしいアニメーションエンジンを提供する Manim Community
- Web フレームワークを提供する FastAPI
- AI 連携を実現する Model Context Protocol
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。