Odel
overte mcp

overte mcp

Local
@sandraschi1HTMLMITUpdated 1w ago

Overte (open-source Vircadia-lineage metaverse) Model Context Protocol server for domain administ...

overte-mcp

License: MIT Python 3.12+ Status: beta, core tools verified live

What this wraps

An MCP server for Overte, the open-source social-VR platform — a C++ desktop client ("Interface") + domain-server + entity-server, descended from High Fidelity's codebase. Not the same thing as current "Vircadia" — see docs/WRAPPEE.md for the full disambiguation and official links (site, docs, community). Complements the fleet's other virtual-world servers: resonite-mcp, vrchat-mcp, godot-mcp, unity3d-mcp, gazebo-mcp.

Plus a companion React web dashboard.

What You Can Do

How it runs: Overte (domain-server + Interface) is a separate application you install yourself — never bundled. overte_domain_status works against just the domain-server (no GUI needed). overte_entity_spawn and overte_script_inject need a running Interface client with scripts/overte-mcp-bridge.js loaded, because Overte's entity-server has no plain HTTP "create entity" endpoint — only Interface's JavaScript API can do that. See docs/ONBOARDING.md for first-time setup.

DirectionArtifactsNotes
Hands-inEntity properties (position, scale, type), JS behavior scripts, GLB/FBX/OBJ model URLsVia MCP tool calls or the dashboard's Entities/Scripting pages
Hands-outLive domain-server telemetry, spawned in-world entities, animated/scripted entitiesEvery response labeled source: "live" or source: "simulated" — never a silent fake success

Tools — all three core tools verified live against Overte 2026.04.1 (2026-07-30):

ToolStatus
overte_domain_statusVerified live — real domain-server /nodes.json + /settings.json admin API on port 40100
overte_entity_spawnVerified live — in-world entity spawning via WebSocket bridge; permanent=True for cross-restart persistence
overte_script_injectVerified live — in-world JS behavior injection via WebSocket bridge
overte_sampling_assistMulti-step planning via ctx.sample() when host supports it

Dashboard pages:

PageRouteFeatures
Dashboard/Domain status, node list, settings viewer
Avatars/avatarsConnected avatar-mixer/agent nodes
Entities/entitiesSpawn form + entity explorer
Scripting/scriptingJS code editor + script injection
Chat/chatSkill-first LLM chat with 4 personalities
Settings/settingsBackend health + LLM provider detection
Tools/toolsDynamic tool discovery + search
Skills/skillsSkill content viewer (markdown)
Logs/logsRing-buffer log viewer with level filter
Help/helpDomain setup + JS API reference

Quick Install

Claude Desktop (.mcpb)

  1. Build: just mcpb-packdist/overte-mcp.mcpb
  2. Drag the .mcpb into Claude Desktop (needs Python 3.12+ and uv on PATH).

Stdio without MCPB: uv run overte-mcp. Full install paths: INSTALL.md.

Full stack (dashboard + bridge)

./start.ps1

Syncs deps, starts FastAPI backend (11110) and Vite dashboard (11111), opens the browser. Then start Overte domain-server.exe, open Interface, load scripts/overte-mcp-bridge.js for live spawn/inject — see docs/ONBOARDING.md.

Example Prompts

  • "What's the status of my Overte domain?"
  • "Spawn a permanent box entity at the origin"
  • "Attach the dance script to that entity"

Lint / test

just lint      # Ruff + Biome
just test      # unit + e2e
just mcpb-pack # validate + pack Claude Desktop bundle

Documentation

Requirements

License

MIT