spine-mcp
spine-mcp — Spine 2D 애니메이션 MCP 서버
잘라낸 캐릭터로 프로덕션용 Spine 2D 애니메이션을 만드세요 — .psd 또는
PhotoshopToSpine 내보내기 폴더에서 바로.
ampersante/spine2d-animation-mcp에서
영감을 받았지만, spine-pixi / pixi 게임에서 실제로 재생되는 런타임 릭 그리고
편집 가능한 .spine 프로젝트(라이선스 Spine 4.3 CLI를 통해)를 제공하며,
템플릿이 아닌 수작업으로 제작된 모션을 사용합니다.
cut parts (you, in Photoshop) ──▶ rig_and_animate
PSD or PhotoshopToSpine export │
├─▶ <name>.json runtime skeleton (Spine 4.2)
├─▶ <name>.atlas + .png packed atlas
└─▶ <name>.spine EDITABLE project (open in your Spine)
──▶ preview (montage PNG) / wire into the game원본보다 나은 이유
ampersante MCP | spine-mcp (이 프로젝트) | |
릭 | 레이어 이름으로 자동 | 관절에 배치된 본, 머리/몸통 계층 구조 |
모션 | 사전 정의된 템플릿 | 수작업으로 제작한 idle/win/blink/pop, 스쿼시-스트레치, 페이스 스왑 |
아틀라스 | Pillow | 실제 Spine CLI 패커 |
출력 | JSON / PNG / GIF 미리보기 | 게임에서 실행되는 런타임 릭 + 편집 가능한 |
머리 상태 | 겹쳐 그린 스택 | 하나의 슬롯으로 통합, win/blink에서 스왑 |
Related MCP server: spine-mcp
도구
spine_doctor— Spine CLI + Python 의존성 확인inspect_source— 릭 전에 파츠 / 감지된 머리 상태 패밀리 나열rig_and_animate(source, out_dir, name?, kind?, anims?, make_editable?)— 핵심 도구pack_atlas(images_dir, out_dir, name)— Spine-CLI 아틀라스 패킹make_project(runtime_json, out_spine)— 런타임 json → 편집 가능한.spineexport_project(project, out_dir, fmt)—.spine→ 런타임 json+아틀라스project_info(project_or_json)— 본/슬롯/애니메이션preview(rig_dir, images_dir?, out_png?, maxpx?)— 키프레임 몽타주 PNGbatch(roster_dir, out_root, kind?, make_editable?)— 모든 내보내기 하위 폴더 릭
입력 규칙
머리 상태 패밀리: 대체 얼굴 이름을
<base>_win/<base>_blink로 지정 (예:head,head_win,head_blink, 또는face,face_win,face_blink). 자동으로 하나의 슬롯으로 통합되고win/blink안에서 스왑됩니다.글로우 레이어 이름이
Layer 2→ 가산 블렌드 + 펄스.*fire*로 이름이 지정된 파츠 → 깜빡임.*rot*로 이름이 지정된 파츠 → 회전 액센트 본.각 파츠의 관절 아래에 작은 오버랩 탭을 남겨 굽힘 시 찢어지지 않게 하세요.
설치
사용법을 아는 브레인과 함께하는 쉬운 방법:
/plugin marketplace add egorfedorov/mozg-plugin
/plugin install mozg-spine@mozg또는 직접 연결 — uv 필요:
claude mcp add spine -- uvx --from git+https://github.com/egorfedorov/spine-mcp spine-mcp체크아웃에서 직접 해킹하려면:
uv venv && uv pip install -e .
./.venv/bin/spine-mcp # stdio MCP serverSpine 라이선스는 여러분의 것입니다
이 프로젝트는 Spine의 어떤 부분도 포함하지 않으며 Spine에 대한 라이선스를 부여하지
않습니다. Spine은 Esoteric Software의 상용
소프트웨어이며, 모든 사용자는 자신의 라이선스에 따라 자신의 설치본을 실행합니다.
서버는 /Applications/Spine.app/Contents/MacOS/Spine 또는 SPINE_BIN이
가리키는 위치에서 Spine을 찾습니다.
라이선스 없이도 작동합니다. 릭과 애니메이션은 Spine 프로세스를 시작하지 않습니다 — Pillow와 psd-tools를 사용하는 순수 Python입니다. 라이선스는 세 가지 도구를 추가합니다:
Spine 필요 | |
| 아니요 |
| 아니요 |
| 예 |
| 예 |
| 예 |
spine_doctor가 발견한 내용을 보고합니다. 한 사람의 라이선스는 다른 사람에게
도달하지 않으며, 다른 사람이 다른 라이선스를 가지고 있다고 해서 아무것도
저하되지 않습니다.
가정하는 명명 규칙
_classify는 한 스튜디오의 아트에서 튜닝된 단어 목록으로 머리를 판별합니다 —
head, face, golova, crown, tooth. kopf 또는 cabeza라는 레이어는
몸통으로 분류됩니다. 아트 이름을 바꾸는 대신 오버라이드하세요:
export SPINE_HEAD_WORDS="kopf,gesicht,krone"파일
server.py— FastMCP 서버 (도구 표면)spine_rig.py— 릭 + 애니메이션 빌더 (순수, 임포트 가능, 단독 실행 가능)spine_cli.py— Spine 4.3 CLI 래퍼 (pack / import / export / info)spine_preview.py— 키프레임 몽타주 렌더러
라이선스
MIT — LICENSE 참조. mozg의 Spine 2D Animation brain을 위해 작성되었고 사용되고 있으며, 이는 릭이 어떻게 움직여야 하는지 아는 절반입니다.
Available Tools
9 toolsbatchB
Rig every PhotoshopToSpine export subfolder under roster_dir into out_root//. Returns per-character summaries.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | symbol | |
| out_root | Yes | ||
| roster_dir | Yes | ||
| make_editable | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions the return value but does not disclose potential side effects (e.g., file modification, overwriting, required permissions) nor any behavioral traits beyond the basic action. With no annotations, this transparency gap is significant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences), well-structured, and free of unnecessary details. It efficiently communicates the core functionality without padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main action and return, but lacks details about the two unexplained parameters, potential prerequisites, error conditions, or how the output summaries are structured. This leaves some gaps, though it is not overly complex.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains two parameters (roster_dir and out_root) by referencing them in the action, but leaves kind and make_editable unexplained. Since the schema provides no descriptions, the description only partially compensates for the missing parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Rig every PhotoshopToSpine export subfolder under roster_dir into out_root/<name>/') and its output ('Returns per-character summaries'), providing a specific and unambiguous purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no indication of when to use this tool over alternatives, lacks prerequisites or conditions, and does not mention any specific use cases or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_projectB
Export a .spine project to runtime files (fmt: json|binary, +pack for atlas).
| Name | Required | Description | Default |
|---|---|---|---|
| fmt | No | json+pack | |
| out_dir | Yes | ||
| project | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not mention side effects (e.g., file overwrites), required permissions, or what happens to existing files. The agent cannot infer whether this is a safe read-only operation or a mutating export.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately conveys the action and key choices. It uses no filler and efficiently communicates the core purpose and format options.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is sparse for a tool with no annotations and no output schema. It does not mention side effects (e.g., writing files, overwriting), required permissions, or what constitutes a successful result. The '+pack for atlas' hint touches on related functionality but doesn't clarify dependencies or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains the 'fmt' parameter with 'json|binary' and '+pack for atlas', adding meaning beyond the schema's default. It does not elaborate on 'project' or 'out_dir', but these are fairly self-explanatory from their names. Given 0% schema coverage, the description partially compensates but could be more explicit about all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Export a .spine project') and the resource (runtime files), with format options. This distinguishes it from siblings like pack_atlas and project_info, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. It implies usage for generating runtime files but lacks context about prerequisites, scenarios, or boundaries with sibling tools like pack_atlas or preview.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_sourceA
List the parts and detected head-state families of a .psd or a PhotoshopToSpine export folder, WITHOUT building anything. Use this first to confirm what will be rigged.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly discloses the non-destructive behavior: 'WITHOUT building anything.' This is an important behavioral trait that prevents the agent from expecting side effects. It does not mention permissions or error scenarios, but for a list operation, this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and immediate clarification of its non-destructive nature. Every word earns its place, with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is sufficiently complete. It explains what the tool does, what input it expects, and when to use it. It does not detail the exact structure of the returned list, but the phrase 'parts and detected head-state families' offers a reasonable expectation of the output content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and only one parameter ('source'). The description compensates by specifying that the source is a '.psd or PhotoshopToSpine export folder', giving the agent an understanding of acceptable input values. It does not go into format details (e.g., path vs. URL), but it provides meaningful guidance beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and clearly identifies the resource ('.psd or PhotoshopToSpine export folder') and the output ('parts and detected head-state families'). It also distinguishes itself from siblings by stating it does this 'WITHOUT building anything' and is meant for confirming what will be rigged.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'Use this first to confirm what will be rigged.' This tells the agent when to use the tool, but does not explicitly mention alternatives or when not to use it. The guidance is clear but lacks exclusionary language.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
make_projectB
Import a runtime skeleton json into an EDITABLE .spine project.
| Name | Required | Description | Default |
|---|---|---|---|
| out_spine | Yes | ||
| runtime_json | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals the import/creation nature but omits critical details such as overwrite behavior, required permissions, return values, and what 'EDITABLE' implies for the output project.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It efficiently communicates the core action without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two string parameters and no output schema, the description should clarify expected return behavior and side effects. It does not state whether the output file is created, overwritten, or what happens on failure, making it incomplete for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no parameter descriptions (0% coverage), and the description only loosely maps runtime_json to 'runtime skeleton json' and out_spine to '.spine project'. It does not clarify formats, constraints, or provide examples, leaving agents to guess parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: importing a runtime skeleton json into an editable .spine project. This distinguishes it from siblings like export_project and pack_atlas, which perform different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The description only states what it does, without mentioning prerequisites, exclusions, or a preferred context, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pack_atlasB
Pack a folder of PNGs into .atlas + .png with the Spine packer.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| out_dir | Yes | ||
| images_dir | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does not mention any side effects, whether output files are overwritten, prerequisites, or the nature of the operation beyond 'pack.' This lack of detail is insufficient for an agent to anticipate consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core action and output. It contains no redundant or unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and no annotations, the description provides a minimal but adequate overview for a simple tool. It states the output files (.atlas and .png) but omits behavioral details like overwriting or directory creation, making it only partially complete for an agent to safely invoke.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not explain any of the three parameters (images_dir, out_dir, name). While parameter names are somewhat self-explanatory, the description adds no explicit meaning beyond the schema titles, leaving the agent to infer semantics from context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Pack a folder of PNGs into <name>.atlas + <name>.png with the Spine packer.' It uses a specific verb (pack) and resource (folder of PNGs → atlas + png), distinguishing it from sibling tools like export_project or batch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the action ('Pack a folder of PNGs') but there is no explicit guidance on when to use this tool versus alternatives, nor any exclusion criteria. The description does not mention when it is appropriate or inappropriate to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
previewB
Render a keyframe-montage PNG of a built rig (idle/win/blink/pop poses).
rig_dir folder holding .json (the out_dir from rig_and_animate) images_dir folder with the part PNGs (defaults to the source export images) out_png output path (defaults to /_preview.png)
| Name | Required | Description | Default |
|---|---|---|---|
| maxpx | No | ||
| out_png | No | ||
| rig_dir | Yes | ||
| images_dir | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, and the description does not disclose side effects such as file creation (the output PNG) or whether it modifies existing rig data. It simply says 'Render a PNG' without stating if it is read-only or if it overwrites files, leaving behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and uses a clear list format for parameters, avoiding unnecessary verbosity. It efficiently conveys the tool's purpose and parameter meanings, though the formatting with backticks and angle brackets is slightly cryptic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's core function and provides parameter defaults, but lacks a complete picture. It does not mention what the tool returns (e.g., the output path) and omits maxpx, so a user might be uncertain about the full input/output contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains three of four parameters (rig_dir, images_dir, out_png) with useful defaults and context, but omits any explanation for maxpx. Since the schema has no parameter descriptions, this partial coverage leaves a gap in understanding the maxpx parameter's meaning or units.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool renders a keyframe-montage PNG of a built rig with specific poses (idle/win/blink/pop), making its primary function clear. It also distinguishes itself from sibling tools like pack_atlas or export_project by focusing on preview generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It implies it is for previewing a built rig but does not mention prerequisites, sequencing, or scenarios where other tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
project_infoB
Print bones/slots/animations of a .spine project or skeleton .json.
| Name | Required | Description | Default |
|---|---|---|---|
| project_or_json | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Print' suggests a read-only operation, but the description does not state whether it reads from the file system, what the output format is, whether it has any side effects, or what error conditions may occur. The existence of an output schema is not reflected in the description, leaving the agent without a clear understanding of what to expect on success.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately identifies the tool's action and target. It contains no filler, is front-loaded with the purpose, and does not repeat information already available in the schema or tool name. Every word contributes to the tool's understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with a structured output schema, the description is nearly adequate—it states what the tool produces and its input domain. However, it lacks clarification on the parameter's exact form (path vs. content) and offers no guidance against sibling tools like inspect_source. These gaps make the description minimally complete but not fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate for the parameter's meaning. It clarifies that 'project_or_json' refers to a '.spine project or skeleton .json', which adds some semantic value beyond the bare schema. However, it does not specify whether the parameter accepts a file path, file contents, or a URL, so the agent still has to guess the exact expected input format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource pattern: 'Print bones/slots/animations' identifies the exact output content, and it specifies the input scoping to '.spine project or skeleton .json'. This clearly distinguishes it from the sibling tools like pack_atlas or export_project, though it does not explicitly name an alternative for comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for inspecting the structural components of a Spine project or skeleton JSON, but it offers no explicit guidance on when to choose this tool over siblings like inspect_source or preview. There are no stated prerequisites or exclusions, so usage context is left entirely to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rig_and_animateA
Build a rigged + animated Spine skeleton from a cut-up character.
source path to a .psd OR a PhotoshopToSpine export folder out_dir where to write .json/.atlas/.png (e.g. a game's static/assets/spine//) name skeleton name (defaults to the source basename) kind "symbol" or "mascot" (reserved; both rig the same body+head now) anims subset of ["idle","win","blink","pop"] (default all applicable) make_editable also emit an editable .spine next to the source (Spine CLI)
Returns a summary incl. file paths and an editable-project path.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | symbol | |
| name | No | ||
| anims | No | ||
| source | Yes | ||
| out_dir | Yes | ||
| make_editable | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carmers the full burden. It discloses output files, optional editable project emission, and the reservation of the 'kind' parameter (both values behave the same). However, it does not mention whether files are overwritten, if Spine CLI is required for all operations, or any side effects like source modification, leaving gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at about 7 lines, with a front-loaded purpose sentence followed by a parameter list in pseudo-code style. Every line adds value, though the parameter list could be tightened slightly without losing information. Overall, well-structured and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 params, no output schema) and absence of annotations, the description covers purpose, parameters, and return summary. It lacks details on error handling, overwrite behavior, or specific animation semantics, but is sufficient for an agent to invoke the tool correctly in most cases. A bit more detail on return structure would push it higher.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is the only source of parameter meaning. It explains each of the six parameters clearly: source path format, out_dir destination, name default behavior, kind restriction, anims subset, and make_editable side-effect. This provides significant value beyond the schema's type/default fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it builds a rigged + animated Spine skeleton from a cut-up character. The action (build) and resource (rigged + animated Spine skeleton) are specific, and it distinguishes itself from sibling tools like pack_atlas or make_project by focusing on the rigging and animation pipeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context about the tool's purpose (creating Spine skeleton from character assets) and input/output expectations, but does not explicitly mention when not to use it or compare to alternatives (e.g., preview, batch). It implies usage for rigging/animation tasks but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spine_doctorA
Report whether the Spine CLI and Python deps are available.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must fully disclose behavioral traits. It only states the action (report availability) without mentioning whether it is read-only, whether it has side effects, what it does if dependencies are missing, or any potential errors. The description is minimal and leaves many behavioral aspects unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the tool's function without any fluff. Every word contributes to clarity, and it is front-loaded with the action verb 'Report' immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity of a no-parameter doctor check, the description is adequate but incomplete. It does not specify what 'availability' entails (e.g., version checks, path requirements) or what the output format is (e.g., boolean, message). Without an output schema or annotations, the description could be more explicit about the return value and any caveats.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is fully covered by the absence of properties. Per the rule, a baseline of 4 applies for zero-parameter tools. The description adds no parameter information, but since there are no parameters, there is nothing to clarify beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it reports on the availability of the Spine CLI and Python dependencies. This is a specific verb ('report') and resource, and it effectively distinguishes itself from sibling tools that handle project operations like packing, exporting, or previewing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, such as running this before other tools, or conditions under which it should be called. The name 'doctor' implies a health check, but without explicit context, an agent may not know when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
v0.1.0- First observed
batch - First observed
export_project - First observed
inspect_source - First observed
make_project - First observed
pack_atlas - First observed
preview - First observed
project_info - First observed
rig_and_animate - First observed
spine_doctor
TDQS
Scored across 9 tools
Each tool targets a distinct action: packing, project creation, export, info, preview, batch, environment check, source inspection, and rigging. No two tools overlap in purpose.
Tool names mix conventions: some verb_noun (pack_atlas, make_project), some nouns (project_info, spine_doctor), and single verbs (preview, batch). This inconsistency makes the set less predictable, though still readable.
9 tools is well-scoped for a Spine workflow server, covering creation, conversion, inspection, preview, and batch operations without bloat.
The server covers the full lifecycle from source inspection and rigging to atlas packing, project conversion, info, preview, and batch processing. No obvious missing operations for the stated purpose.
Maintenance
Related MCP Connectors
An MCP server that provides asset auto generator
Generate authentic pixel art - sprites, animations, and tilesets - from any MCP client
Game-dev sprite tools: PNG/GIF to spritesheet, split, trim, animate. OAuth-authenticated MCP server.
MCP server for Luma Dream Machine AI video generation
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceMCP server for Spline.design code generation and asset management.44 PyPI4BSD 3-Clause
- AlicenseAqualityDmaintenanceLocal MCP server for automating Spine projects via the official CLI, enabling AI tools to inspect, export, import, and add animations to .spine files.1617 npm17Apache 2.0
- AlicenseAqualityDmaintenanceAn MCP server that converts layered PSD characters into Spine 4.2 rigs with deterministic, parametric 2D/2.5D animations (idle, walk, run, jump, attack, hit) ready for the Spine editor and Unity.42MIT
- FlicenseBqualityDmaintenanceMCP server for reading, validating, and modifying Spine 4.1.24 JSON animation files, with tools for animation timeline editing, validation, preview, and agent integration.36-