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.
Внутри
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Generate, edit, and deploy immersive 3D/WebGL web projects from any MCP assistant.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Generate on-brand images from your AI agent: design, edit, and render templates over MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/meAnkit18/stickman-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server