hx-multianim-mcp
Connects MCP clients to a running hx-multianim game via DevBridge for scene inspection, state manipulation, input injection, and diagnostics.
README
hx-multianim-mcp
An MCP server that connects Claude (or any MCP client) to a running hx-multianim application via its DevBridge.
Call
connectfirst. All other tools return anot_connectederror untilconnectsucceeds. The DevBridge port is printed to game stdout as[DevBridge] Listening on port N(default 9001).
Tools
Connection & health
| Tool | Description |
|---|---|
connect |
Connect to a game instance on a specific port/host. Must be called first. |
ping |
Lightweight health check — uptime and port |
performance |
FPS, draw calls, triangle count, object count, scene dimensions |
Scene inspection
| Tool | Description |
|---|---|
list_screens |
Registered screens with active/failed status |
list_builders |
Loaded .manim builders and their parameter definitions |
scene_graph |
Recursive scene tree dump (depth) |
inspect_element |
Position, size, visibility, text of a named element |
inspect_programmable |
Deep inspection of a live programmable (params, slots, refs, elements) |
find_element_at |
Hit-test scene coords, front-to-back list of objects |
get_screen_state |
Screen manager state: mode, transitions, pause, counts |
get_tween_state |
All active tweens with target, duration, progress |
list_interactives |
Interactive hit-test regions with IDs and bounds |
list_slots |
Swappable container slots of a programmable |
list_active_programmables |
Live incremental-mode programmables with current state |
list_resources |
Loaded sprites, fonts, .manim, .anim files |
list_fonts |
Registered font names |
list_atlases |
Loaded sprite atlases and tile/sprite names |
coordinate_transform |
Convert between scene and element-local coordinates |
check_overlaps |
Detect overlapping interactives/visuals to find layout bugs |
Screenshots
| Tool | Description |
|---|---|
screenshot |
Capture current frame as PNG (optional width/height scale-down) |
State manipulation
| Tool | Description |
|---|---|
set_parameter |
Modify a programmable parameter at runtime (incremental mode) |
get_parameters |
Current parameter values and definitions for a programmable |
set_visibility |
Toggle element visibility |
reload |
Hot-reload .manim files (specific file or all changed) |
eval_manim |
Parse and validate .manim snippets |
Game control
| Tool | Description |
|---|---|
pause |
Pause/resume the game loop |
step |
Advance N frames while paused (max 100) |
wait_for_idle |
Check if no tweens/transitions are active |
quit |
Cleanly shut down the game |
Input injection
| Tool | Description |
|---|---|
send_event |
Inject a single mouse/keyboard/wheel event |
send_events |
Sequence of events with frame steps (drag, scrub, multi-step gestures) |
click_button |
Click an interactive by ID, bypassing hit testing |
Diagnostics
| Tool | Description |
|---|---|
get_traces |
Recent trace() output (ring buffer) |
get_errors |
Accumulated runtime errors/exceptions |
get_debugger_hits |
Poll DevBridge.debugger(data, pause?) breakpoint hits (cursor-based) |
Breakpoints from game code
Call DevBridge.debugger(data, pause) anywhere in your game code to capture a data snapshot (with auto-captured file/line/method):
screenManager.devBridge.debugger({hp: unit.hp, target: unit.target?.name}); // pauses by default
screenManager.devBridge.debugger({fps: hxd.Timer.fps()}, false); // push-only, no pause
Hits are delivered two ways:
- Push — real-time
debuggerSSE events surfaced as warning-level MCP log notifications. - Poll —
get_debugger_hitstool withsince_idcursor (in case the agent missed the push).
If pause=true, resume with pause({paused:false}).
Usage
Claude Code
// .mcp.json
{
"mcpServers": {
"hx-multianim": {
"command": "npx",
"args": ["-y", "@bh213/hx-multianim-mcp"]
}
}
}
Environment variables
| Variable | Default | Description |
|---|---|---|
HX_DEV_PORT |
9001 |
DevBridge port |
HX_DEV_HOST |
localhost |
DevBridge host |
License
BSD-3-Clause
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.