opensim-mcp

Control OpenSimulator servers via REST console commands through an MCP bridge.

1|Updated May 10, 2026
One-click install
npx skills add https://github.com/sanchorelaxo/opensim-tools --skill opensim-mcp-sanchorelaxo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: opensim-mcp
Source: https://github.com/sanchorelaxo/opensim-tools/tree/main/opensim-mcp
Command: npx skills add https://github.com/sanchorelaxo/opensim-tools --skill opensim-mcp-sanchorelaxo

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Managing an OpenSimulator server requires memorizing dozens of console commands and manually handling startup, shutdown, region management, terrain, users, and archives. This Skill wraps the OpenSim REST console in an MCP server so an AI assistant can query and mutate the simulator with structured tool calls. ## Core Features & Use Cases - Server Lifecycle Control: Start, stop, restart, and health-check OpenSimulator and the MCP REST bridge via shell scripts. - Console Command Execution: Three MCP tools (get, set, run) cover read-only queries, mutations, and raw console commands for regions, terrain, OAR/IAR archives, users, objects, scripts, land, and config. - LSL Knowledge Base: Searchable SQLite index of 204 LSL functions, events, and states built from Linden Lab PDFs, with a search script for quick lookups. - Use Case: Ask the assistant to list connected users, save an OAR backup, fill terrain to height 25, and restart a region — all executed through the REST console without opening a terminal. ## Quick Start Start OpenSimulator with the REST console enabled, then run the start-mcp.sh script and ask the assistant to show the server version and connected users.

Frequently Asked Questions about opensim-mcp

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control OpenSimulator from an AI assistant?

Run OpenSimulator with the REST console enabled (-console=rest), then start the MCP bridge server. The assistant uses three MCP tools — get for queries, set for mutations, and run for raw commands — to execute any OpenSim console command over HTTP.

How to create a prim in OpenSim via console commands?

Console-based prim creation does not work in OpenSim 0.9.3.0 — load xml2 silently fails to add objects. Use the viewer to rez prims manually, or place an LSL script with llRezObject() inside a rezzer prim to spawn objects from inventory.

Why does python -m opensim_mcp fail to start the server?

The opensim_mcp package has no __main__ module, so python -m opensim_mcp fails. Invoke the entry point directly with python -c "from opensim_mcp.server import main; main()" or use the provided start-mcp.sh script.

Why do LSL scripts fail to compile in OpenSimulator?

OpenSim's YEngine lacks several standard SL LSL features: break, llClamp, llStringTrim, and most symbolic PSYS particle constants. Replace break with loop-index assignment, write manual clamp logic, and use numeric particle constant values like 2 for EXPLODE.

Why is llRequestURL denied in OpenSim standalone mode?

The URL module reads ExternalHostNameForLSL from the [Network] config section; if it is missing or overridden by a later include, HTTP-IN is disabled. Add ExternalHostNameForLSL to [Network] in OpenSim.ini and allow port 9000 in OutboundDisallowForUserScriptsExcept.

What are the limitations of the OpenSim REST console?

The REST console supports queries, terrain, archives, users, config, and script control, but cannot create objects — load xml2 silently drops new scene objects in 0.9.3.0. Object creation requires the viewer or in-world LSL scripts using llRezObject.