Resonite social VR platform MCP server for natural language control of avatars, worlds, and Proto...
Runs on your machine from its package; the steps are below.
At most: moves money, runs code or commands, deletes data, or sends messages for you.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Distributed as an MCP bundle (`https://github.com/sandraschi/resonite-mcp/releases/download/v1.2.0/resonite-mcp-v1.2.0.mcpb`) — download it and import the bundle in your MCP client.
Talk to your virtual world.
Resonite MCP is an integration bridge and state-of-the-art web dashboard that connects AI assistants to the Resonite social VR platform. Using natural language, you can command your world, customize your avatar, inspect your sessions, and control your telemetry directly through chat.
Claude Desktop (1-click):
irm https://github.com/sandraschi/resonite-mcp/releases/latest/download/install.ps1 | iexOther clients (stdio):python -m resonite_mcp --stdiowithPYTHONPATH=src.
This repository is not just a standalone connector, but a vital node in a wider Multi-Agent Fleet Ecosystem:
~/.avatarmcp/ and uses MCP_BRIDGE_URLS for cross-network state synchronization between developer nodes.In the spirit of kami and miko -- this MCP server serves as a bridge between human creators and the digital spirits of virtual worlds. The kawaii and clever miko tends the shrines of code, ensuring the kami of creation flow freely through our digital spaces.
Make sure the Resonite game client is running on Steam. Enable the ResoniteLink connection inside the session settings (Dashboard ➔ Session ➔ Settings ➔ Enable ResoniteLink).
Clone the repository and spin up the frontend webapp and Python server:
git clone https://github.com/sandraschi/resonite-mcp
cd resonite-mcp
just bootstrap
just serve
The web dashboard is now active at http://localhost:10978.
Add the server configuration to your Claude Desktop config file (claude_desktop_config.json):
"mcpServers": {
"resonite-mcp": {
"command": "uv",
"args": ["--directory", "D:/Dev/repos/resonite-mcp", "run", "resonite-mcp"]
}
}
resonite-mcp works completely standalone. You can optionally connect it with companion servers in the sandraschi fleet to unlock extended features:
| Companion Server | Feature Unlocked | Status | Setup |
|---|---|---|---|
blender-mcp | asset-decimation, gltf-vrm-pipeline | Optional | Install Guide |
yahboom-mcp | digital-twin-visualization, vbot-teleoperation | Optional | Install Guide |
teleoperator-mcp | osc-robot-teleop, vr-controller-stream | Optional | Install Guide |
mixx-dj-mcp | live-dj-audio-stream, bpm-reactive-dance-rig | Optional | Install Guide |
Self-Contained Companions: Fleet companions operate independently. Installing companions does not trigger transitive dependency chains.
For deep architectural details, setup advice, and API references, check out our dedicated guides:
| Guide | Description |
|---|---|
| ARCHITECTURE.md | High-level system architecture, protocols, and port mappings |
| INSTALL.md | Full installation paths and environment configurations |
| docs/TOOLS.md | List of the 86 Python tools and HTTP API endpoints |
| docs/RESONITELINK_GUIDE.md | Deep-dive into the ResoniteLink WebSocket protocol |
| VR_WORLDS_COMPARISON.md | Detailed comparison between Resonite, VRChat, and Vircadia |
| BUILD_AND_INHABIT_PIPELINE.md | Automation stages from Blender/GIMP to live VR injection |
| COMMUNITY_RESOURCES.md | Links to RML modding, video tutorials, subreddits, and Discords |
| BEGINNERS_GUIDE.md | Onboarding basics and control references for new users |
| docs/ONBOARDING.md | 10-minute setup: prerequisites, env vars, sanity check, pitfalls |
v1.1.0 (ResoniteLink Protocol 0.13.1).find_nearby query built on Overte's Entities.findEntities; ResoniteLink has no equivalent primitive, so this hasn't been ported. Building it would mean walking the scene graph (recursive get_children/get_slot from a root, filtering by distance client-side) instead of a single server-side spatial query -- a different, slower design, not a straight port. See CHANGELOG.md (2026-09-02 entries) for the rest of what did port cleanly from overte-mcp (animate, fixture spawner, model/texture depot + backup).