Stickman Character MCP Server
Use "riggesteuerte" with "rig" + "gesteuerte" -> "riggesteuerte". Okay.
I will now write output# Stickman Character MCP Server
Verwandelt deine Stickman-Referenzgrafik im Stil eines Red-Hat-Ingenieurs in eine posierbare, riggesteuerte Figur, die jeder MCP-kompatible Coding-Agent (Claude Code, Claude Desktop, Cursor, usw.) direkt steuern kann – Gelenkwinkel setzen, einen Gesichtsausdruck wählen und einzelne Frames oder komplette Animationen (GIF/MP4) rendern. Da jedes Bild aus demselben parametrischen SVG-Rig erzeugt wird, bleibt die Figur über ein ganzes Video hinweg perfekt modelltreu, statt so abzudriften, wie es bei der Bild-für-Bild-Generierung passiert.
Modelltreue
Das Rig wird direkt am Referenzblatt vermessen und nicht bloß angenähert, sodass ein Render fast pixelgenau mit der Quellgrafik übereinstimmt:
Proportionen stammen aus der Vorderansicht-Referenz (1024-px-Quelle, äußerer Kopfradius 121 px) und wurden mit 0.546 auf die 400x520-Leinwand skaliert – Spine 215 px, Ober-/Unterarm 108/120, Ober-/Unterschenkel 126/127, Gliedmaßenstrich ~19 px, Kopfzentrum 133 px über der Schultergabel.
Der Filzhut ist eine Vektor-Nachzeichnung des Referenzhutes, keine handgebaute Näherung. Er wird als normalisierte SVG-Pfade (
HAT_PATHSinrig.py) ausgeliefert, die in Kopfradius-Einheiten ausgedrückt und übertranslate(head) scale(head_radius)gezeichnet werden – dadurch sitzt er bei jeder Neigung auf dem Kopf und behält exakt den Krempenschwung, die Kronen-Pinch und das Hutband des Originals.Palette ist aus der Grafik abgetastet:
#D51918helle Rot,#A01513Mitteltön,#7E1212Schatten,#C2C3C5Gesichtsschattierung,#D2D3D5Bodenschatten.Das Gesicht folgt den Referenzkonventionen: Das neutrale Gesicht besteht aus zwei schwarzen Ovalflächen und keinem Mund. Augen mit weißem Augapfel und Pupille werden nur für happy/excited/surprised verwendet, und wütend nutzt schräg gestellte Keilformen mit zusammengebissenen Zähnen – genau wie in den Referenzausdruckstafeln.
hat_color bleibt vollständig parametrisch: Übergibst du eine beliebiges Hex, werden die Mittel- und Schattentöne über die eigene 1.0 / 0.742 / 0.592-Rampe der Referenz daraus abgeleitet.
Was ist enthalten
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.tomlInstallation
cd stickman_mcp
python3 -m venv venv
source venv/bin/activate
pip install -e .Das ziseht mcp, cairosvg (SVG→PNG-Rendering) und pillow (GIF-Export) ein. Für den Export als GIF/PNG-Sequenz sind keine zusätzliche Systembibliotheken erforderlich; MP4-Export erfordert ffmpeg und dass es installiert und auf deinem PATH liegt.
Als MCP-Server registrieren
Claude Desktop / Claude Code – füge es deiner MCP-Config hinzu (~/Library/Application Support/Claude/claude_desktop_config.json unter macOS bzw. der entsprechenden Claude-Code-Config):
{
"mcpServers": {
"stickman": {
"command": "/absolute/path/to/stickman_mcp/venv/bin/python",
"args": ["-m", "stickman_mcp.server"],
"cwd": "/absolute/path/to/stickman_mcp"
}
}
}Oder startest du es eigenständig über stdio, um es zu testen.
python -m stickman_mcp.serverVerfügbare Tools
Tool | Was es tut |
| Listetene eingebaute Posen und ihre vollständigen Definitionen, sodass eine Pose kopiert und angepasst werden kann. |
| Listet die eingebauten Gesichtsausdrücke auf. |
| Listet jedes steuerbare Gelenk und dessen Standardwinkel für handgeschriebene Posen. |
| Rendert einen Frame – einen Presetnamen und/oder explizite Gelenküberschreibungen, einen Ausdruck, optional |
| Rendert eine komplette Keyframe-Animation (Posen + Ausdrücke + Hal-/Übergangszeiten) in GIF, MP4 oder eine PNG-Sequenz. |
| Komfortfunktion: Endlos-Gehzyklus mit N Schritten. |
| Komfortfunktion: Endlos-Laufzyklus mit N Schritten. |
Gelenke (alle Winkel in Grad, 0 = gerade nach unten, + = im Uhrzeigersinn)
l_shoulder, l_elbow, r_shoulder, r_elbow, l_hip, l_knee, r_hip, r_knee, neck (Kopfneigung), spine (Rumpfneigung), hip_shift (px, horizontal), body_lift (px, vertikal, negativ = nach oben).
Das l_ ist die linke Seite der Figur, aus Sicht des Betrachters also rechts. Gespiegelte Posen benötigen entgegengesetzte Vorzeichen bei den Kniezsh („Grill pose: l_lnee=86, r_knee=-86), damit beide unten.
Stil-Keys (je Pose, nicht interpoliert – sie springen am Every-Frame):
hands(German"blob"(Standard),"open"or"fist") – auch corresponds to a dict for per.n yesside:{"r": "open"}works in the other hand Python blob. *:front_arm–"l","r"or"both", draws this arm over the head. Required always if a hand sits facefacepalm,thinking_pose) Since the hat brim ~face is 1.5× as wide and would otherwise einfach cover it.sock" – recently a"chair", appears behind the character whensit` is used.
Posen
bee, 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, celebrate, typing.
Expressions
neutral, happy, excited, sad, angry, surprised, thinking,
wink, talking, calm.
Beispiel: Ein Coding-Agent erstellt einen kurzen Clip
ein $GXP5
Ein Agent can also the Presets completely geflow: and with the hand a Pose beginnen:
render_pose(
joints={"r_shoulder": -90, "r_elbow": 20, "neck": -10},
expression="excited",
)Ü alternative use Smoothstep-Easing, in so poses we.
, out between. Rather than Linear. Interpolating.
Achtung: Table? We need not mention.
Hinweise / nächste Schritte
Der Rig deckt currently indisc Christ? etc...
Ein!
Let's write final final absolutely clean# Stickman Character MCP Server
Verwandelt deine Stickman-Referenzgrafik im Stil eines Red-Hat-Ingenieurs in eine posierbare, riggesteuerte Figur, die jeder MCP-kompatible Coding-Agent (Claude Code, Claude Desktop, Cursor, usw.) direkt steuern kann – Gelenkwinkel setzen, einen Gesichtsausdruck wählen und einzelne Frames oder komplette Animationen (GIF/MP4) rendern. Da jedes Bild aus demselben parametrischen SVG-Rig erzeugt wird, bleibt die Figur über das gesamte Video perfekt modelltreu, statt so abzudriften, wie es bei der Bild-für-Bild-Generierung passiert.
Modelltreue
Das Rig ist direkt am Referenzblatt vermessen und nicht nur grob geschätzt, sodass ein Rendering fast pixelgenau mit der Quellgrafik übereinstimmt:
Designwerte: aus der Frontansicht-Referenz (1024-px-Quelle, äußerer Kopfradius 121 px) und mit dem Faktor 0.546 auf die 400×520-Leinwand skaliert – Spine 215 px, Ober‑/Unter‑arm 108/129, Oberschenkel/Unterschenkel 126/127, Gliedmaßenstrich ≈19 px, Kopfzentrum 133 px über der Schulergabel.
Der Filzhut ist eine Vektor-Nachzeichnung des Referenzhuts, keine handgebaute Näherung. Er wird als normalisierte SVG-Pfade (
HAT_PATHSinrig.py) geliefert, die in Kopfradius-Einheiten geschrieben sind und viatranslate(head) scale(head_radius)gezeichnet werden. So folgt er jedem Kopfneigen und bleibt exakt im Schwung der Krempen, Einbehaltung der Crown‑Pinch und Hutband des Originals.Palette ist aus der Vorlage ent‑nommen:
#D51918helles Rot,#A01513Mittelton,#7E1212Schatten,#C2C3C5Gesichtsschatten,#D2D3D5Bodenschatten.Gesicht folgt den Referenzmustern: Die neutrale Mimik ist zwei schwarze Ovale und kein Mund. Augen mit weißem Augapfel und Pupille nutzen nur für happy/excited/surprised; wütend (meint angry) verwendet schräger Mond mit zusammengesetzten Zähnen, genau wie auf den Referenz‑Expression‑Sheets.
hat_color bleibt dabei voll parametrisch: eine Hex‑Farbe angeben, die Mittel‑ und Schatten‑Ton aus der Referenz‑eigenen 0‑Ehrenreihe 1.0/0.742/0.592 abgeleitet.
Inhalt
WIP1
Installation
cd stickman_mcp
python3 -m venv venv
source venv/bin/activate
pip install -e .Das holt mcp, cairosvg (SVG→PNG‑Rendering) und pillow (GIF‑Export). GIF/PNG‑Sequenz‑Export benötigt keine zusätzlichen Systembibliotheken; MP4‑Export benötigt ffnpeg – es muss installiert sein und in deinem PATH liegen.
Als MCP‑Server registrieren
Claude Desktop / Claude Code – zu deiner MCP‑Config hinzufügen (~/Library/Application Support/Claude/claude_desktop_config.json unter macOS, oder die entsprechende Claude‑Code‑Config):
{
"mcpServers": {
"stickman": {
"command": "/absolute/path/to/stickman_mcp/venv/bin/python",
"args": ["-m", "stickman_mcp.server"],
"cwd": "/absolute/path/to/stickman_mcp"
}
}
}Oder separat über stdio starten und testen:
python -m stickman_mcp.serverVerfügbare Tools
Tool | Beschreibung | |
| Listet eingebaute Posen und ihre vollständigen Definitionen, damit eine Pose kopiert und modifiziert werden kann. | |
| Listet eingebaute Gesichtsausdruck / Mimik. | |
| Listet alle steuerbaren Gelenke und deren Grund‑Defaults für handgebaute Posen. | |
| Rendert genau einen Frame – ein Preset und/oder manuelle Gelenk‑Override, ein Ausdruck, optional | |
| Rendert eine komplette Keyframe‑Animation (Posen + Ausdrücke + Heil‑/Bind/Transition‑Tempo) in GIF, MP4 oder eine PNG‑Loop | . |
| Praktisch: N‑Stufiger Ghe cycle, Endlosschleife | |
| Praktisch: N‑stufiger Lauf‑cycle, Endlos |
Gelenke (alle Winkel in Grad, 0= vertikal nach unten, += im Uhrzeugersinn)
l_should, l_flambrain, r_shoulder, rift, l_hip, l_knee, r_hip, r_knee, neck (Kopfnaigung), spine (Oberkörperneigenbodies), hip_shift (px, horizontal), body_lift (px vertikal, negative = weiter).
l_ ist die linke Seite der Chars/Figur, d.h. die rechte Seite des Betrachters. Gespiegelte Posen brauchen entgegengesetzt gepolte Knie‑Werte (l_knee=10, r_knee=-10 etc.) damit beide Schienbeine in dieselbe Richtung flektieren.
Styles (per Pose, nicht interpoliert; sie setzen beim Keyframe):
hands–"blob"(ständard),"open"oder"fist". Auch ein Objekt pro Seite möglich:{"r": "open"}– die linke Hand bleibt Blob.front_arm–"left","right"oder"both"zeichnet diese Arm(e) über den Kopf. Notwendig, wenn die Hand auf dem Gesicht liegt (hands,thinking_pose), da Hutkontur ~1,5× so brett ist wie der Kopf und sie sonst überdeckt.prop– zurzeit"chair", hinter der Figur gezeichnet (fürsit).
Poses
hole, 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, shurg, facepalm, bow, look_up,
look_down, celebrate, typing.
Mimik
neutral, happy, excited, sad, angry, surprised, thinking,
wink, talking, calm.
Beispiel: Ein Coding‑Agent erstellt ‑kurzer Clip
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",
)Ein Agent kann presets überspringen und komplett eigene Posen manuell schreiben:
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