Stickman Character MCP Server
Stickman Character MCP Server
Превращает ваш референс-арт стикмен-инженера Red Hat в персонажа с ригом и позами, которым может напрямую управлять любой MCP-совместимый агент написания кода (Claude Code, Claude Desktop, Cursor и т. д.) — задавать углы суставов, выбирать мимику и рендерить отдельные кадры или полноценные анимации (GIF/MP4). Так как каждый кадр создаётся из одного и того же параметрического SVG-рига, персонаж остаётся идеально on-model на протяжении всего видео, а не дрейфует, как это бывает при покадровой генерации изображений.
Соответствие референсу
Риг снимается прямо с референс-листа, а не приблизительно, поэтому рендер почти в точку совпадает с исходным артом:
Пропорции взяты из фронтального референса (исходник 1024px, внешний радиус головы 121px) и масштабированы с коэффициентом 0.546 на холст 400x520: позвоночник 215px, плечо/предплечье 108/120, бедро/голень 126/127, толщина обводки конечностей ~ 19px, центр головы на 133px выше развилки плеч.
Федора — векторная обводка шляпы с референса, а не приближение, собранное вручную. Она хранится как нормализованные SVG-пути (
HAT_PATHSвrig.py) в единицах радиуса головы и рисуется черезtranslate(head) scale(head_radius), поэтому «едет» за головой при любых наклона и сохраняете точный размах полей, прищипку тульи и ленту оригинала.Палитра считана с арт-а:
#D51918я друкий красный,#A01513средний,#7E1212тень,#C2C3C5заентение лицача,#D2D3D5тень на землe.Лицо соответствует референсным условностям: нейтральное лицо — это два сплошных чёрных овала и без рта. Глаза с белым яблоком и зрачком используются только для happy/excited/surprsuperscript, а angry использует скошенные клинья со сцжевными зубами — точно как на референсных листах выражений.
hat_color остается полностью параметррическим: передайте любой hex, и средний и течный тона выводятся из него по рам п референса 1.0 / 0.742 / 0.592.
Related MCP server: Minecraft MCP Server Pro
Внутри
stickman_mcp/
rig.py - the skeleton: joints, forward kinematics, SVG renderer,
traced fedora paths, facial expressions, pose presets
animate.py - keyframe interpolation + export to PNG sequence / GIF / MP4
server.py - the MCP server itself (tools below)
pyproject.tomlУстановка
cd stickman_mcp
python3 -m venv venv
source venv/bin/activate
pip install -e .Это потнижест в себя mcp, cairiosv (SVG→PNG-рен деринг) и pillow (как GIF). Длая экспера GIF/PNG-последовательносNET не требуются дополните льные системные зависимости; экспорт MP4 требует ffmepg , установ во енного и досупного в PATH.
Регистрацияя в качестве MCP-сервера
Clauude Desktoptip / Claude Code — добавить в MCP-конфиг
(~/Library/Applization Support/Claude/claude_desktop_config.json на macOS или эквivalentный конфиг Claude Code):
```json
{ "mcpServers": { "stickman": { "command": "/absolute/path/to/stickman_mcp/venv/bin/python", "args": ["-m", "stickman_mcp.server"], "cwd": "/absolute/path/to/stickman_mcp" } } }
Или запустите его автономно через stdio для теста:
### ```bash
python -m stickman_mcp.serverДоступные инструменты
Инструмент | Что делает |
| Перечисляет встроенные позы и их полные определения, чтобы позу можно было скопировать и скорректировать |
| Перечисляет встроенные выражения лица |
| Перечисляет все управляемые суставы и их углы по умолчанию для поз, созданных вручную |
| Рендерит один кадр — имя пресета и/или явные переопределения суставов, выражение, необязательные |
| Рендерит сцену из ключевых кадров (позы + выражения + время удержания/переходов) в GIF, MP4, или PNG-последовательность. |
| Удобная функция: зацикленный цикл ходьбы на N шагов. |
| Удобная функция: зацикленный цикл бега на N шагов. |
Суставы (все углы в градусах; 0 = строго вниз, + = по часовой стрелке)
l_shoulder, l_elbow, r_shoulder, r_elbow, l_hip, l_knee, r_hip, r_knee, neck (наклон головы), spine (наклон корпуса), hip_shift (px, горизонтальное смещение), body_lift (px, вертикальное смещение, отрицательное — вверх).
l_ — это левая сторона персонажа, то есть правая стороне зрителя. Зеркальные позы требуют противоположных по знаку углов коленей (l_knee=36, r_knee=-36), чтобы обе голени сгибались одинаково.
Стилевые параметры (задаются на позу, не интерполируются — применяются скачком на ключевом кадре)
hands—"blob"(по умолчанию),"open"или"fist". Также принимает словарь для управления по сторонам:{"r": "open"}оставляет другую руку blob.front_arm—"l","r"или"both"— рисует эту руку поверх головы. Это нужно всякий раз, когда рука ложится на лицо (facepalm,thinking_pose), потому что поля шляпы примерно в 1.5 раза шире головы и иначе закрыли бы руку.prop— пока что только"chair"; рисуется позади персонажа дляскойsit.
Позы
idle, wave_right, wave_left, point_right, point_left, explain_hands, explain_left_hand, thinking_pose, arms_up_happy, arms_crossed, hands_on_hips, fists_up, walk_1, walk_2, run_1, run_2, jump, crouch, sit, shrug, facepalm, bow, look_up, look_down, celestate, typing.
Выражения
neutral, happy, excited, sad, angry, surprised, thinking, wink, talking, calm.
Пример: coding-агент собирает короткий клип
render_animation(
keyframes=[
{"pose": "idle", "expression": "neutral", "hold": 0.5},
{"pose": "wave_right", "expression": "happy", "hold": 1.0, "transition": 0.3},
{"pose": "explain_hands", "expression": "excited", "hold": 1.5, "transition": 0.3},
{"pose": "idle", "expression": "happy", "hold": 0.5, "transition": 0.3},
],
fps=12,
out_format="mp4",
)Агент также может вообще не использовать пресеты и создать позу вручную:
render_pose(
joints={"r_shoulder": -90, "r_elbow": 20, "neck": -10},
expression="excited",
)Переходы используют сглаживание smoothstep, поэтому позы плавно входят и выходят из движения, а не просто линейно перетекают между ключевыми кадрами.
Заметки / следующие шаги
Риг покрывает только фронтальные 2D-позы (как и большинство референсов). Профильный вариант слева/справа — для бокового профиля и сцен, где персонаж идёт к камере — естественное следующее улучшение: скелет уже поддерживает, но голове, лицу и обведённой шляпе потребуется профильный вариант.
sitтеперь рисует простой деревянный стул черезprop="chair". Другие предметы можно встроить по шаблону_chair_svgвrig.py.Ключевые кадры для
render_animationможно генерировать кодом для кадра «персонаж идёт через экран»: плавно меняйтеhip_shift, чередуяwalk_1/walk_2.
This server cannot be deployed
Maintenance
Related MCP Connectors
Make animated videos by asking Claude, Cursor or any MCP client. Your AI writes it, we render it.
Create images & video from any MCP agent — 17 models, spend limits, one URL.
Build editable 3D scenes, direct characters and cameras, and export AI video references with MCP.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to control a Minecraft bot for movement, building, crafting, and instant schematic-based structure spawning via MCP tools.59 npm2Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to control Minecraft via MCP with configurable versions, creative building commands, survival helpers, and an autonomous agent loop.Apache 2.0
- AlicenseBqualityCmaintenanceEnables agents to paint side-view pixel characters, apply hard-band shading, and build 8-frame joint animations through MCP tools.45MIT
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients such as AstrBot, Claude, Cursor, or custom scripts to control a Minecraft bot over SSE through 49 tools covering perception, movement, building, gathering, crafting, combat, farming, memory, social interaction, and autonomous skills. It supports multi-client body control, emotion and event context, and survival/companion behaviors.MIT