Ermöglicht es einem AI-Client, 3D-Humanbewegungen mithilfe einer textbasierten kinematischen Sprache zu erstellen, zu validieren und zu rendern.
Auch bekannt als posecode-dev/posecode, posecode
- Stars
- 131
- Tools
- —
- Downloads, 30 Tage
- —
- Neueste Version
- 0.5.0
- Letzter Commit
- 26. Okt. 2026
- Lizenz
- Apache-2.0
Was ist Posecode MCP?
Posecode ist ein MCP server. Ermöglicht es einem AI-Client, 3D-Humanbewegungen mithilfe einer textbasierten kinematischen Sprache zu erstellen, zu validieren und zu rendern.
Zusammenfassung generiert aus dem README des Projekts
Über Posecode MCP server
Posecode-mcp bietet eine spezialisierte Schnittstelle für AI-Clients, um 3D-Humanbewegungen mithilfe einer textbasierten kinematischen Sprache zu erstellen und zu verwalten. Anstatt auf schwere neuronale Modelle zu setzen, die nicht editierbare Trajektorien erzeugen, nutzt dieser Server einen leichtgewichtigen, deterministischen Ansatz, bei dem Bewegungen durch kleine .posecode-Dokumente beschrieben werden. Diese Dateien definieren spezifische Gelenkaktionen, Winkel und Timings, wodurch die resultierende Bewegung leicht zu inspizieren und zu modifizieren ist.
Entwickler können diesen Server nutzen, um die Lücke zwischen natürlichen Sprachbefehlen und präziser 3D-Animation zu schließen. Der MCP server stellt Tools für die Generierung, Validierung, Kritik und das Teilen bereit, sodass ein AI Agent Bewegungsskripte entwerfen kann, die durch physikalische Bewegungsgrenzen (Range-of-Motion) beschränkt sind. Da das Parsing und Rendering clientseitig stattfinden, bietet es einen schnellen und vorhersehbaren Weg, Text in flüssige, programmierbare 3D-Bewegungen zu verwandeln, ohne dass teure GPU-gestützte Inferenz erforderlich ist.
Was du damit machen kannst
- 1Präzise Bewegungsskripte generierenEin AI-Client kann eine einfache englische Beschreibung einer Übung in ein strukturiertes und validiertes .posecode-Dokument umwandeln.
- 2Kinematische Constraints validierenDer Server kann mithilfe von Range-of-Motion-Diagnosen prüfen, ob die erstellten Bewegungen innerhalb sicherer physikalischer Grenzen bleiben.
- 3Animationen debuggen und kritisierenEntwickler können den Server nutzen, um spezifische semantische Anweisungen zu identifizieren, die Fehler in einem 3D-Render verursachen.
- 4Spezifische Gelenkeigenschaften modifizierenEin Agent kann feingranulare Edits an einer bestehenden Animation vornehmen, wie zum Beispiel das Anpassen des Winkels eines einzelnen Gelenks.
Geschrieben aus dem README des Projekts. Jeder Use Case wurde gegen ein Zitat daraus geprüft.
So installierst du Posecode MCP
Formate geprüft am 10. Nov. 2026Zu Cursor hinzufügenZu Goose hinzufügenPosecode MCP in Claude Code installieren
$ claude mcp add posecode -- npx -y posecode-mcpPosecode MCP in Cursor installieren
~/.cursor/mcp.json
{
"mcpServers": {
"posecode": {
"command": "npx",
"args": [
"-y",
"posecode-mcp"
]
}
}
}Posecode MCP in VS Code installieren
.vscode/mcp.json
{
"servers": {
"posecode": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"posecode-mcp"
]
}
}
}Posecode MCP in VS Code CLI installieren
$ code --add-mcp '{"name":"posecode","type":"stdio","command":"npx","args":["-y","posecode-mcp"]}'Posecode MCP in Claude Desktop installieren
claude_desktop_config.json
{
"mcpServers": {
"posecode": {
"command": "npx",
"args": [
"-y",
"posecode-mcp"
]
}
}
}Posecode MCP in Codex installieren
$ codex mcp add posecode -- npx -y posecode-mcpPosecode MCP in Codex config.toml installieren
~/.codex/config.toml
[mcp_servers.posecode] command = "npx" args = ["-y", "posecode-mcp"]
Posecode MCP in Gemini CLI installieren
$ gemini mcp add -s user posecode npx -- -y posecode-mcpPosecode MCP in Gemini settings.json installieren
~/.gemini/settings.json
{
"mcpServers": {
"posecode": {
"command": "npx",
"args": [
"-y",
"posecode-mcp"
]
}
}
}Konfiguration
POSECODE_BASE_URLPlayground origin used for render permalinks (defaults to https://posecode.org).
| Name | Beschreibung | Typ |
|---|---|---|
| POSECODE_BASE_URL | Playground origin used for render permalinks (defaults to https://posecode.org). |
Automatisierte Checks
Geluften am 12. Nov. 2026Vollständiger Bericht →Unsere automatisierten Checks bestanden. Das ist kein Security-Audit: Lies den Code und gib dem Server nur den minimal notwendigen Zugriff. Wie die Checks funktionieren
- Source Repository verknüpft und erreichbarBestanden
- Open Source Lizenz (OSI)Bestanden
- Commit oder Release im letzten JahrBestanden
- Package-Name ähnelt keinem populären PackageBestanden
- Remote Endpoint nutzt HTTPSNicht geprüft
- Destruktive Tools sind markiertNicht geprüft
- Keine versteckten Anweisungen an das ModellBestanden
- Keine kritischen Advisories im Paket oder seinen AbhängigkeitenBestanden
README
Auf GitHub ansehenWhy Posecode?
Animation clips and generated trajectories can show movement, but they often hide the semantic decisions that produced it.
Posecode keeps those decisions in readable source. A human can write the document, an animation tool can emit it, or an LLM can draft it. Parsing, validation, editing, and rendering do not require an AI model.
For example:
Bend your knees, move your hips backward, and keep your chest upright.
A human may understand that instruction, but a renderer cannot reliably determine:
- which joints should move,
- by how many degrees,
- in which coordinate frame,
- over what duration,
- in what sequence,
- or within which physical limits.
Humans, tools, and language models all need a shared syntax for expressing movement in a renderable and testable form.
Posecode provides that missing representation.
See Posecode in 28 seconds
From readable movement source to validated 3D rendering, MCP tools, and a one-script web embed.
Movement examples
Why Not Diffusion Text-to-Motion?
Neural text-to-motion systems can generate impressive movement, but they introduce problems for lightweight, programmable applications.
Resource intensive
Many systems require large models and GPU-backed inference, making real-time consumer deployment expensive.
Difficult to control
They usually produce coordinate trajectories rather than editable semantic instructions.
It is difficult to request a precise change such as:
Reduce knee flexion by 10 degrees during the second phase.
Hard to validate
Black-box trajectories do not naturally expose readable joint rules, phase definitions, or range-of-motion limits.
Hard to debug
When a movement looks wrong, developers may not know which semantic instruction caused the problem.
The Posecode Approach
Posecode uses a lightweight, text-driven pipeline.
- Readable: movements are stored as small
.posecodedocuments. - Structured: joints, actions, angles, timings, and constraints are explicit.
- Editable: developers and models can modify individual movement properties.
- Fast: parsing and rendering happen client-side.
- Deterministic: the same Posecode input produces the same validated representation.
- Inspectable: parser warnings and fidelity checks explain problems.
- Agent-friendly: the MCP server exposes generation, validation, critique, and sharing tools.
- Safety-aware: authored and IK-generated angles are constrained by configured range-of-motion limits.
The Idea in 30 Seconds
A .posecode file describes movement as timed phases with targeted joint actions.
1. Write .posecode |
2. Render the movement |
|---|---|
posecode exercise "Body-weight squat"rig humanoidpose start = standingstep "Descend" 1.6s settle: hips: flex 80 knees: flex 95 ankles: dorsiflex 14 ground-lock: feet cue "Sit the hips back"step "Drive up" 1.2s drive: hips: flex 0 knees: flex 0 ankles: dorsiflex 0 ground-lock: feetrepeat 8 |
OpenAI Build Week 2026: Posecode existed before the hackathon. During Build Week, the project was extended using Codex — running on GPT-5.6 — as the primary engineering tool for a real batch of shipped work: motion/grounding quality, language contract diagnostics, licensing restructuring, release automation, and product-facing pages. The sections below distinguish previous work from Build Week work using actual commit history, not a roadmap.
OpenAI Build Week Extension
What existed before Build Week
Before Build Week, Posecode already included:
- the core
.posecodedomain-specific language, - a parser and intermediate motion representation,
- basic range-of-motion validation,
- a Three.js/WebGL renderer,
- forward kinematics,
- basic inverse-kinematics and ground-lock behavior,
- a browser playground,
- example movement files,
- shareable Posecode links,
- and an MCP server foundation.
This original version was developed primarily with Claude as an AI-assisted engineering tool.
That prior work provides the foundation for the project, but it is not presented as the new hackathon contribution.
What was added during Build Week
Every item below is a merged, dated pull request built with Codex (GPT-5.6) — see Build Week Evidence for direct links.
- Motion and grounding overhaul — ROM-constrained reach IK, semantic palm/fist/sole/knee/pelvis contact surfaces, multi-contact refinement, stable support handoffs, and XBot-aware grounding (#76).
- Language contract and diagnostics — Posecode language/IR v0.3 custom start-pose blocks with ROM-checked overrides, live and clip-wide grounding/self-collision diagnostics, and an accessible metric floor guide (#92).
- Licensing restructure — split the monorepo into an Apache-2.0 standard layer (spec, parser, share, language, LSP, VS Code) and an AGPL-3.0 product layer (render, embed, MCP, eval, playground), with a commercial-license path (#84).
- Release automation — Changesets-driven npm publishing via GitHub OIDC, MCP Registry publishing, and CI validation of package versions, entry points, and tarball contents (#66).
- Third-party integration readiness — Posecode 0.2 timing vocabulary (
drive/settle/flow/snap), a parser validation CLI, and embed compatibility metadata (#62). - Ground-lock correctness — parser-owned validation for per-side foot/hand/elbow ground locks and back-contact support for supine movements, replacing silent acceptance of invalid contacts (#61, #64).
- LLM-first landing page and product page — redesigned the landing page around a prompt → Posecode → live 3D story, and added a
/for-productspage documenting the web component, parser, renderer, and MCP server for integrators (#82, #74). - Mobile and search fixes — mobile toolbar/viewer layout, natural hand orientation, and Google Search indexing corrections (#78, #65).
Build Week feature status
- Motion/grounding quality overhaul shipped (#76)
- Language contract + diagnostics shipped (#92)
- Licensing restructure shipped (#84)
- Release automation shipped (#66)
- Ground-lock correctness shipped (#61, #64)
- Landing/product pages shipped (#82, #74)
How GPT-5.6 Is Used
During Build Week, Codex sessions ran on GPT-5.6 (GPT-5.6 Terra), which is the model that powers Codex for this event. GPT-5.6 is the reasoning engine behind every Build Week change listed above: reading the existing monorepo, proposing the ROM-constrained IK and contact-surface design in #76, designing the language/IR v0.3 diagnostics in #92, and drafting the licensing boundary in #84.
A GPT-5.6-powered natural-language-to-Posecode generation feature (describe a movement in plain English, get a validated .posecode document back) is a natural next step given the existing posecode_authoring_guide MCP tool, but it is not yet built — it is not claimed as shipped functionality here.
How Codex Is Used
Codex is the primary engineering tool used for the Build Week extension.
During the hackathon period, Codex was used to:
- inspect and understand the existing monorepo before each change,
- design and implement the ROM-constrained reach IK and contact-surface system (#76),
- design and implement the language/IR v0.3 diagnostics and floor guide (#92),
- restructure package licensing across the monorepo (#84),
- build the Changesets/OIDC npm and MCP Registry release pipeline (#66),
- fix ground-lock validation and silent-acceptance bugs (#61, #64),
- redesign the landing page and add the product integration page (#82, #74),
- write unit, integration, and evaluation-harness tests for each change,
- and fix mobile UI and search-indexing regressions.
Codex accelerates implementation, but the project remains human-directed. The following decisions were reviewed and selected manually: DSL semantics, system architecture, licensing boundaries, biomechanical constraints, validation policy, user experience, and acceptance or rejection of generated code.
Codex development workflow
The Build Week workflow follows this process:
- Define a specific product or engineering problem.
- Ask Codex to inspect the relevant implementation.
- Request one or more possible approaches.
- Review the trade-offs and choose the architecture.
- Use Codex to implement the selected approach.
- Run type checking, tests, and biomechanical evaluations (
npm run eval). - Inspect failures manually.
- Refine the implementation with additional Codex sessions.
- Review the final changes before committing.
Build Week Evidence
All Build Week work is public, dated, and directly linked below — no placeholders.
Build Week pull requests
| PR | Merged | What it did |
|---|---|---|
| #62 | 2026-07-15 | Posecode 0.2 timing vocabulary, validation CLI, embed compatibility |
| #61 | 2026-07-15 | Per-side ground-lock validation |
| #65 | 2026-07-16 | Google Search indexing fix |
| #66 | 2026-07-16 | npm + MCP Registry release automation |
| #64 | 2026-07-16 | Back ground-lock for supine movements |
| #74 | 2026-07-16 | /for-products integration page |
| #76 | 2026-07-17 | Motion/grounding overhaul: ROM-constrained reach IK, contact surfaces |
| #78 | 2026-07-17 | Mobile viewer sizing and natural hand orientation |
| #82 | 2026-07-17 | LLM-first landing page redesign |
| #84 | 2026-07-17 | Apache-2.0 / AGPL-3.0 licensing restructure |
| #92 | 2026-07-19 | Language/IR v0.3, grounding/self-collision diagnostics, floor guide |
Build Week comparison
| Before Build Week | Added during Build Week |
|---|---|
| Core Posecode DSL | Language/IR v0.3 custom start-pose blocks |
| Basic ROM clamping | Grounding, self-collision, and floor-guide diagnostics |
| Working IK/grounding | ROM-constrained reach IK with semantic contact surfaces |
| Single license file | Apache-2.0 / AGPL-3.0 layered licensing with commercial path |
| Manual publishing | Automated npm + MCP Registry release pipeline |
| Editorial landing page | LLM-first landing page + /for-products integration page |
| Existing tests | New diagnostics, IK, and licensing regression tests |
Architecture
┌─────────────────────────┐
│ Natural-language prompt │
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ GPT-5.6 authoring layer │
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ .posecode source │
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ Parser and ROM checking │
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ Kinematics and IK layer │
└────────────┬────────────┘
│
├─────────────────────┐
▼ ▼
┌─────────────────────────┐ ┌──────────────────────┐
│ Three.js/WebGL renderer │ │ Fidelity measurements│
└─────────────────────────┘ └──────────┬───────────┘
│
▼
┌──────────────────────┐
│ GPT-5.6 Physics │
│ Critic and revision │
└──────────────────────┘
Installation and Usage
Live Playground
Preview, edit, and share movements without installing anything:
Local Development
Requirements:
- Node.js 20 or newer
- npm
Clone the repository:
git clone https://github.com/posecode-dev/posecode.git
cd posecode
Install dependencies:
npm install
Start the playground:
npm run dev
Run tests:
npm test
Run type checking:
npm run typecheck
Run fidelity evaluations:
npm run eval
Build the playground:
npm run build
Editor support
A VS Code extension provides syntax highlighting, ROM diagnostics, and
completion for .posecode files — see
editors/vscode. Until it is published, you can
get basic highlighting immediately by associating .posecode files with
Markdown:
"files.associations": {
"*.posecode": "markdown"
}
See the editor guide for VS Code, Cursor, Sublime Text, and Neovim instructions.
MCP Server
Posecode includes a Model Context Protocol server for AI agents.
Run it with:
npx -y posecode-mcp@latest
Example MCP client configuration:
{
"mcpServers": {
"posecode": {
"command": "npx",
"args": ["-y", "posecode-mcp@latest"]
}
}
}
The MCP server exposes:
validate_posecoderender_posecode
See packages/posecode-mcp for the complete configuration and tool documentation.
Web Component Embed
Embed a Posecode player on a page:
<script src="https://unpkg.com/posecode-embed/dist/posecode-embed.js"></script>
<posecode-player src="/movements/squat.posecode"></posecode-player>
The player can be used in:
- documentation,
- educational content,
- exercise guides,
- blog posts,
- and movement libraries.
Core Libraries
Install the parser:
npm install posecode-parser
Install the renderer:
npm install posecode-render
Example:
import { parse } from "posecode-parser";
import { createViewer } from "posecode-render";
const source = `
posecode exercise "Lateral raise"
rig humanoid
pose start = standing
step "Raise" 1.4s settle:
shoulders: abduct 90
`;
const { ir, errors, warnings } = parse(source);
if (!ir || errors.length > 0) {
console.error(errors);
} else {
console.warn(warnings);
const viewer = createViewer(document.querySelector("#viewer"));
viewer.load(ir);
viewer.play();
}
The #viewer element is an HTML <canvas>.
Exporting motion (BVH)
posecode-render can bake a movement into a Biovision Hierarchy
(.bvh) file for import into Blender and other animation tools. In the
playground, use the Download BVH button; programmatically:
import { parse } from "posecode-parser";
import { exportBVH } from "posecode-render";
const { ir } = parse(source);
const bvh = exportBVH(ir!, { fps: 30 }); // string, ready to write to disk
Options: fps (default 30), scale (default 1 = metres; pass 100 for
centimetres), includeFingers (default false), and proportions for a
calibrated rig.
- Coordinate system: right-handed, Y-up, figure faces +Z in the rest pose (identical to the renderer and Three.js). Enable Blender's "Y up" BVH import option.
- Units: metres by default.
- Rotation channels:
Zrotation Xrotation Yrotation(Euler orderZXY). - Scope: this exports the authored joint motion plus root travel/turn. It
does not yet re-run the renderer's contact/IK solve, so IK-dependent movements
(e.g.
reach: hand_left floor) export the authored pose rather than the solved one. See issue #63.
Exporting motion (glTF / GLB)
For web animation pipelines, posecode-render can export the rig and a
baked animation clip as a glTF/GLB asset. In the playground, use Download
glTF; programmatically:
import { parse } from "posecode-parser";
import { exportGLTF } from "posecode-render";
const { ir } = parse(source);
const glb = await exportGLTF(ir!); // GLB ArrayBuffer (default)
const gltf = await exportGLTF(ir!, { binary: false }); // glTF JSON object
The result loads with Three.js GLTFLoader,
and the clip plays on the included rig:
const gltf = await new GLTFLoader().loadAsync(url);
const mixer = new THREE.AnimationMixer(gltf.scene);
mixer.clipAction(gltf.animations[0]).play();
- Joint nodes are named by Posecode bone id; the animated root is
posecode_root. - Limitations: exports the procedural mannequin rig, not a humanoid/Mixamo skeleton, so there is no retargeting onto external rigs yet, and (as with BVH) it bakes the authored motion, not the contact/IK-solved motion. See issue #90.
How Posecode Stays Honest
Posecode uses multiple layers of checking.
1. Range-of-motion clamping
Joint angles are constrained before rendering.
For example:
knees: flex 200
is clamped to the configured knee-flexion limit and produces a warning instead of rendering an impossible angle.
2. Kinematic evaluation
The engine measures the actual resulting skeleton after:
- parsing,
- forward kinematics,
- inverse kinematics,
- and ground-lock corrections.
3. Geometric fidelity invariants
Movement examples can define expected properties.
For example, a deadlift may require:
- sufficient torso pitch,
- limited forward knee travel,
- stable foot contact,
- and symmetrical hip movement.
4. GPT-5.6 Physics Critic
The Build Week critic interprets the movement and deterministic measurements together.
It explains biomechanical problems in natural language and proposes specific revisions.
Packages
| Package | Purpose |
|---|---|
posecode-language |
Language definitions and editor support |
posecode-parser |
Converts .posecode text into a validated, range-constrained intermediate representation |
posecode-render |
Renders animated figures with Three.js, forward kinematics, and IK |
posecode-share |
Encodes Posecode documents into URL-safe share tokens |
posecode-mcp |
Exposes Posecode capabilities to AI agents through MCP |
posecode-eval |
Runs headless biomechanical and geometric fidelity evaluations |
playground |
Interactive editor, 3D viewport, warnings, generation, critique, and sharing |
Technology
Posecode is built with:
- TypeScript
- JavaScript
- Node.js
- Three.js
- WebGL
- Vite
- CodeMirror
- Model Context Protocol
- Zod
- Vitest
- Playwright
- esbuild
- GPT-5.6
- Codex
Scope
Posecode MCP Fragen
Wie füge ich Posecode MCP zu Claude Code hinzu?
Führe claude mcp add posecode -- npx -y posecode-mcp in deinem Terminal aus. Füge --scope user hinzu, damit der Server in jedem Projekt verfügbar ist.
Wie füge ich Posecode MCP zu Cursor hinzu?
Öffne ~/.cursor/mcp.json und füge den Server unter mcpServers hinzu, mit der Cursor-Config aus dem Installationsabschnitt oben.
Was ist Posecode?
Posecode ist ein einsehbares und editierbares Bewegungsformat, das kleine Textdokumente nutzt, um deterministische menschliche Bewegungen zu beschreiben, zu validieren und zu rendern.
Wie unterscheidet sich Posecode von Diffusion Text-to-Motion?
Im Gegensatz zu ressourcenintensiven neuronalen Systemen ist Posecode leichtgewichtig, programmierbar und liefert editierbare semantische Anweisungen anstelle von Black-Box-Trajektorien.
Kann ein AI Agent diesen Server nutzen?
Ja, der MCP server ist agentenfreundlich konzipiert und stellt Tools für die Generierung, Validierung, Kritik und das Teilen bereit.