mcpField
S
SPINE2D Animation MCP Server

SPINE2D Animation MCP Server

ローカル
github.com/naosenメディア・デザイン12221 週間前に更新

SPINE2D Animation MCP Server について

spine2d-mcp は、レイヤー構造の PSD キャラクターを Spine 4.2 プロジェクト(スケルトン JSON、テクスチャアトラス、アトラス PNG)に変換する MCP サーバーです。Spine エディターや Unity へのキャラクターのリギングと取り込みを行う開発者やアーティストを対象としています。現在はフェーズ 0 で、実際の PSD を使った Spine エディターや Unity での検証はこれからです。

主な機能

  1. 01部位名のPSDレイヤーをSpine 4.2プロジェクトに変換
  2. 02スケルトンJSON、atlasファイル、アトラスPNGを出力
  3. 03中間ボーンを補完する多段のボーン階層
  4. 04画像中心ではなく関節端を基準とするピボット設定
  5. 05PSDの描画順をSpineのスロット順として保持
  6. 06Spine 4.2 リーダーの規則に基づくスケルトン検証

活用シーン

  1. 01キャラクターのPSDから初期のSpineリグを生成
  2. 02Unityプロジェクト向けにSpineキャラクターアセットを準備
  3. 03MCPクライアントからパス指定でインポートツールを呼び出し

MCP 対応

stdio 方式の MCP サーバーで、単一のツール import_psd_to_spine を提供します。PSD のパスを受け取り、プロジェクト、アトラス、PNG のファイルパスを返します。Claude Desktop や Claude Code などの MCP クライアントから変換処理を実行できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

spine2d-mcp

レイヤー構造のPSDキャラクターを、Spine 4.2プロジェクト(スケルトンJSON、テクスチャアトラス、アトラスページPNG)に変換するMCPサーバーです。SpineエディターやUnityにインポートできる形式で出力します。

キャラクターのリギングとインポートにかかる手作業を、数日からおよそ1時間に短縮することを目指しています。

ステータス

フェーズ0(概念実証): PSD → 正しくインポートできるリグ(アニメーションはまだありません)。

パイプラインは実装済みで、合成フィクスチャを使ったテストも行っています。SpineエディターやUnityで実際のPSDを検証する作業はまだで、次のマイルストーンとなります。アニメーション生成、ヘッドレスプレビュー、Unityへのエクスポートは後続フェーズで予定しています。

現在できること

ボディパーツ(head、body/torso、arm_left、hand_right、leg_left、foot_right、…)の名前が付いたレイヤーを持つPSDを入力すると、import_psd_to_spineツールが次のファイルを生成します。

  • <name>.json — Spine 4.2スケルトン(ボーン、スロット、デフォルトスキン、リージョンアタッチメント)
  • <name>.atlas — libgdx/Spineテクスチャアトラス
  • <name>.png — パッキングされたアトラスページ

主な動作:

  • 複数セグメントのスケルトン(root → hip → torso → chest → neck → head。腕はchest、脚はhipに接続)。中間ボーンがない場合は、位置を設定した仮想ボーンを作成します。
  • 関節に沿ったピボット — 各ボーンは画像の中心ではなく、パーツの関節側の端(または明示的な<part>[pivot]マーカーレイヤー)をピボットにするため、解剖学的に自然な回転になります。
  • PSDの描画順序をSpineのスロット順序として保持します。
  • Spine 4.2リーダーが適用する不変条件に照らして、スケルトンを構造的に検証します。

フォーマットの正式な参照元:reference/SkeletonJson.java(spine-runtimes 4.2)。

要件

  • Python 3.11+
  • uv

セットアップ

uv sync

テストの実行

uv run pytest

MCPサーバーの実行

uv run spine2d-mcp

これにより、単一のツールを公開するstdio MCPサーバーが起動します。

import_psd_to_spine(psd_path: str, out_dir: str | None = None)
  -> { project_path, atlas_path, png_paths }

MCPクライアント(例:Claude Desktop/Claude Code)からこのサーバーに接続し、パスを指定してPSDをインポートするよう依頼してください。

プロジェクト構成

src/spine2d_mcp/
  server.py          FastMCP server + import_psd_to_spine tool
  pipeline.py        PSD -> Spine project orchestration
  psd/parser.py      PSD -> flat layer list (+ pivot markers)
  psd/conventions.py bone hierarchy, joint sides, [pivot] tag
  spine/schema.py    Pydantic models for Spine 4.2 JSON
  spine/builder.py   layers -> SpineProject
  spine/writer.py    SpineProject -> JSON
  spine/validator.py structural validation
  atlas/packer.py    rectpack bin packing
  atlas/writer.py    .atlas text + composite PNG
reference/           SkeletonJson.java, spineboy.atlas (format references)
tests/               pytest suite (synthetic PSD fixtures)

ライセンス

このプロジェクトはMIT Licenseのもとで公開されています。

ソフトウェアの実質的な部分とともに、元の著作権表示およびライセンステキストを含めることを条件として、ソフトウェアの使用、複製、変更、結合、公開、配布、サブライセンス、および販売を行うことができます。

ソフトウェアは「現状有姿」で提供され、いかなる種類の保証もありません。ライセンスの全文はLICENSEをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。