Use at your own risk.
Expose mooR's REST automation surface as Model Context Protocol (MCP) tools so agents can authenticate, inspect, and edit a running mooR world.
Repo for mooR (LambdaMOO server): https://github.com/rdaum/moor
When using with an assistant such as Cursor, AugmentCode, you can provide multiple sets of MOO credentials via agents.md or similar, allowing the assistant to switch between wizard/programmer/player for testing.
- Python 3.10+
- Docker (optional)
python -m venv .venv
# PowerShell: .venv\\Scripts\\Activate.ps1 | Bash: source .venv/bin/activate
pip install -r requirements.txtSet environment variables (defaults shown):
MOOR_BASE_URL(http://localhost:8081)MOOR_PLAYERMOOR_PASSWORDMCP_HOST(127.0.0.1)MCP_PORT(8085)
HTTP transport (default):
python -m main run --host 0.0.0.0 --port 8085Stdio transport:
python -m main --transport stdioDebug tools list (HTTP): open http://127.0.0.1:8085/debug/tools
Build image:
docker build -t moor-mcp-server .Run container (HTTP):
docker run --rm -p 8085:8085 \
-e MOOR_BASE_URL=http://host.docker.internal:8081 \
-e MOOR_PLAYER=YourUser -e MOOR_PASSWORD=YourPass \
moor-mcp-serverNotes:
- Dockerfile entrypoint is
python -m mainwith default commandrun. - The image sets
MCP_HOST=0.0.0.0andMCP_PORT=8085so the server binds externally. - Override args if needed, e.g.:
docker run ... moor-mcp-server run --host 0.0.0.0 --port 8085.
moor_connect_auth,moor_eval_exprmoor_resolve_object,moor_create_objectmoor_list_properties,moor_get_property,moor_set_propertymoor_list_verbs,moor_get_verb,moor_ensure_verb,moor_program_verb,moor_invoke_verbmoor_get_history