{
  "markdown": "# overte-mcp\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)\n[![Status: beta, core tools verified live](https://img.shields.io/badge/status-beta%2C%20verified%20live-brightgreen.svg)](#what-you-can-do)\n\n## What this wraps\n\nAn MCP server for **[Overte](https://overte.org)**, the open-source social-VR\nplatform — a C++ desktop client (\"Interface\") + domain-server + entity-server,\ndescended from High Fidelity's codebase. **Not the same thing as current\n\"Vircadia\"** — see [docs/WRAPPEE.md](docs/WRAPPEE.md) for the full\ndisambiguation and official links (site, docs, community). Complements the\nfleet's other virtual-world servers: `resonite-mcp`, `vrchat-mcp`,\n`godot-mcp`, `unity3d-mcp`, `gazebo-mcp`.\n\nPlus a companion React web dashboard.\n\n## What You Can Do\n\n**How it runs**: Overte (domain-server + Interface) is a separate\napplication you install yourself — never bundled. `overte_domain_status`\nworks against just the domain-server (no GUI needed). `overte_entity_spawn`\nand `overte_script_inject` need a running Interface client with\n`scripts/overte-mcp-bridge.js` loaded, because Overte's entity-server has no\nplain HTTP \"create entity\" endpoint — only Interface's JavaScript API can do\nthat. See [docs/ONBOARDING.md](docs/ONBOARDING.md) for first-time setup.\n\n| Direction | Artifacts | Notes |\n|-----------|-----------|-------|\n| **Hands-in** | Entity properties (position, scale, type), JS behavior scripts, GLB/FBX/OBJ model URLs | Via MCP tool calls or the dashboard's Entities/Scripting pages |\n| **Hands-out** | Live domain-server telemetry, spawned in-world entities, animated/scripted entities | Every response labeled `source: \"live\"` or `source: \"simulated\"` — never a silent fake success |\n\n**Tools** — all three core tools verified live against Overte 2026.04.1 (2026-07-30):\n\n| Tool | Status |\n|------|--------|\n| `overte_domain_status` | **Verified live** — real domain-server `/nodes.json` + `/settings.json` admin API on port `40100` |\n| `overte_entity_spawn` | **Verified live** — in-world entity spawning via WebSocket bridge; `permanent=True` for cross-restart persistence |\n| `overte_script_inject` | **Verified live** — in-world JS behavior injection via WebSocket bridge |\n| `overte_sampling_assist` | Multi-step planning via `ctx.sample()` when host supports it |\n\n**Dashboard pages**:\n\n| Page | Route | Features |\n|------|-------|----------|\n| Dashboard | `/` | Domain status, node list, settings viewer |\n| Avatars | `/avatars` | Connected avatar-mixer/agent nodes |\n| Entities | `/entities` | Spawn form + entity explorer |\n| Scripting | `/scripting` | JS code editor + script injection |\n| Chat | `/chat` | Skill-first LLM chat with 4 personalities |\n| Settings | `/settings` | Backend health + LLM provider detection |\n| Tools | `/tools` | Dynamic tool discovery + search |\n| Skills | `/skills` | Skill content viewer (markdown) |\n| Logs | `/logs` | Ring-buffer log viewer with level filter |\n| Help | `/help` | Domain setup + JS API reference |\n\n## Quick Install\n\n### Claude Desktop (`.mcpb`)\n1. Build: `just mcpb-pack` → `dist/overte-mcp.mcpb`\n2. Drag the `.mcpb` into Claude Desktop (needs Python 3.12+ and `uv` on PATH).\n\nStdio without MCPB: `uv run overte-mcp`. Full install paths: [INSTALL.md](INSTALL.md).\n\n### Full stack (dashboard + bridge)\n```powershell\n./start.ps1\n```\nSyncs deps, starts FastAPI backend (`11110`) and Vite dashboard (`11111`),\nopens the browser. Then start Overte `domain-server.exe`, open Interface,\nload `scripts/overte-mcp-bridge.js` for live spawn/inject — see\n[docs/ONBOARDING.md](docs/ONBOARDING.md).\n\n## Example Prompts\n\n- \"What's the status of my Overte domain?\"\n- \"Spawn a permanent box entity at the origin\"\n- \"Attach the dance script to that entity\"\n\n## Lint / test\n```powershell\njust lint      # Ruff + Biome\njust test      # unit + e2e\njust mcpb-pack # validate + pack Claude Desktop bundle\n```\n\n## Documentation\n- [docs/WRAPPEE.md](docs/WRAPPEE.md) — what Overte is, disambiguation from Vircadia, official links\n- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) — data flow, ports, WebSocket bridge\n- [INSTALL.md](INSTALL.md) — Overte setup, MCPB, Claude Desktop config\n- [STATUS.md](STATUS.md) — current verification status, remaining work\n- [ASSESSMENT.md](ASSESSMENT.md) — fleet audit findings and improvement plan\n- [PROJECT_PAGE.md](PROJECT_PAGE.md) — roadmap and task tracker\n- [CHANGELOG.md](CHANGELOG.md) — release notes\n- [docs/ONBOARDING.md](docs/ONBOARDING.md) — first-time Overte + bridge setup\n- [docs/CONFIGURATION.md](docs/CONFIGURATION.md) — env vars, ports\n- [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) — dev setup, contributing\n- [docs/TOOLS.md](docs/TOOLS.md) — full MCP tool reference\n- [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) — common issues\n- [llms.txt](llms.txt) / [llms-full.txt](llms-full.txt) — LLM index + full corpus\n- [mcpb/README.md](mcpb/README.md) — Claude Desktop bundle layout\n\n## Requirements\n- Python 3.12+ with `uv`\n- [Bun](https://bun.sh) (webapp + Biome)\n- [Overte Client + Server](https://overte.org/downloads.html) installed separately for live domain + bridge features\n\n## License\nMIT\n",
  "bytes": 5280,
  "sha": "6247570c4849f2033d7bc4e1e801b43128d333b128f77b715d29c47cca00cf10",
  "repo_slug": "sandraschi/overte-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_sandraschi_overte_mcp_b2940989/readme"
}