Skip to main content
Glama

anatomy-mcp

MCP server wrapping the Anatomy skill (crafted, interactive isometric figures that explain an idea as a real, working object) using FastMCP.

Anatomy is a Claude skill, not a CLI: instructions (SKILL.md), references, a Node drawing kit (kit/), verification scripts (scripts/capture.mjs, drive.mjs, lines.mjs) and eight example figures. This server exposes that surface as MCP tools, so any MCP client can read the skill's knowledge, study examples, build and audit figures, capture and check them in headless Chrome, and prepare a gallery publish.

Prerequisites

  • Python 3.10+

  • Node.js 20.10+ on PATH (the kit and scripts use only built-in modules)

  • A checkout of the Anatomy repo — set ANATOMY_REPO_DIR to its path

  • Chrome or Chromium (only for the capture / drive / line-check tools; the scripts find it via CHROME_PATH or a system install)

Related MCP server: win-shell-mcp

Install

pip install -e .

Run

export ANATOMY_REPO_DIR=/path/to/anatomy
anatomy-mcp                     # stdio, for MCP clients
anatomy-mcp --transport http --host 0.0.0.0 --port 8000

Tools

Knowledge (no Chrome needed):

  • anatomy_skill_instructions — full SKILL.md; read before any figure

  • anatomy_reference(name) — one of craft, kit, motion, react, verify, webgl, walkthrough, 3d, publish (or SKILL)

  • anatomy_list_references / anatomy_list_examples — inventories

  • anatomy_example_source(name, file?) — an example's build script, or a React example's figure.tsx / geometry.ts / rig.ts / live.tsx / view.ts

  • anatomy_repo_file(path) — any file in the repo (kit/, scripts/, ...)

Build and audit (Node, no Chrome):

  • anatomy_build_example(name, light?, audit?) — run an example's build.mjs (--light, --audit must end audit passed)

  • anatomy_build_figure(build_script, light?, audit?) — run any figure's own build script from its folder

Verification (need Chrome):

  • anatomy_capture(page, out, ...) — headless-Chrome screenshot with zoom, hover and key options (scripts/capture.mjs)

  • anatomy_drive(page, actions, ...) — scripted interaction: move, click, drag, key, slow motion, until, eval, shot, lines, turn, orbit, sheet (scripts/drive.mjs)

  • anatomy_line_check(page, out?) — every texture line must end on something; line ends: 0 (scripts/lines.mjs)

Publish:

  • anatomy_publish_prep(...) — copy a finished figure into a local clone of the community gallery and print the PR commands; nothing is pushed (scripts/publish.mjs)

All tools return JSON; command output and exit codes are passed through unchanged so failures stay diagnosable.

Typical workflow

  1. anatomy_skill_instructions, then the closest example's source

  2. Write the figure's build script against kit/iso-kit.mjs

  3. anatomy_build_figure with audit=true until audit passed

  4. anatomy_capture (dark + light, desktop + 390px phone, zoom close-ups) and anatomy_line_check until line ends: 0

  5. anatomy_publish_prep only when the user asks to publish

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides a deterministic set of 40 cross-platform command tools as an MCP server, replacing unsafe raw shell calls with structured JSON inputs and outputs for file system, process, network, and git operations.
    3 npm
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Serves skill-defined JSON-in/JSON-out scripts as callable tools over MCP stdio, driven by a portable skill-runtime.json manifest that supplies each tool's title, description, and input schema. Exposes commands to validate, list, and run skills, so hosts can discover and invoke agent skills without custom per-skill glue code.
    10 npm
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    Enables authoring, validating, inspecting, blackbox-inventorying, tracing, and capability-querying SPEC.md documents through MCP tools over stdio JSON-RPC. Each tool wraps the same command modules the CLI uses and returns identical JSON envelopes.
    9
    Apache 2.0