MCP Tools
The shared Oasis tool layer is the current source of truth for agent-world actions.
Current transport surfaces
The same tool substrate feeds three major entry points:
| Surface | Route or path | Notes |
|---|---|---|
| Remote HTTP MCP | /api/mcp/oasis | Streamable HTTP MCP — primary surface for remote agents |
| REST fallback | /api/oasis-tools | Useful for direct app and script access |
| Local stdio MCP | tools/oasis-mcp/index.js | Good for local agents and CLI workflows |
For solo / local use, no auth is required. The SSH reverse tunnel (see Quickstart) is already the auth boundary — only your VPS can reach port 4516.
If you're exposing Oasis to a shared network and want request-level auth, set OASIS_MCP_KEY in the Oasis .env. Remote clients must then send:
Authorization: Bearer <OASIS_MCP_KEY>
In Hermes YAML, paste the literal token (env var expansion is not documented as supported):
mcp_servers:
oasis:
url: http://127.0.0.1:4516/api/mcp/oasis?agentType=hermes
headers:
Authorization: "Bearer paste-the-literal-token-here"
Tool count
Oasis currently exposes 35 shared MCP tools.
Tool families
World state and search
get_world_stateget_world_infoquery_objectssearch_assetsget_asset_catalog
World lifecycle
list_worldsload_worldcreate_worldclear_world
Object and scene mutation
place_objectmodify_objectremove_objectcraft_sceneget_craft_guideget_craft_jobset_skyset_ground_presetpaint_ground_tilesadd_lightmodify_lightset_behavior
Embodied agents and avatars
set_avatarwalk_avatar_tolist_avatar_animationsplay_avatar_animation
Vision and screenshots
screenshot_viewportscreenshot_avataravatarpic_merlinavatarpic_user
Forge conjuration
list_conjured_assetsget_conjured_assetconjure_assetprocess_conjured_assetplace_conjured_assetdelete_conjured_asset
Important boundary
Screenshot tools are not purely server-side vision.
They depend on:
- a live Oasis browser client
- the screenshot bridge being mounted
- that browser actually being in the target world
If the browser bridge is absent, world mutation tools may still work while screenshot tools fail or time out.
Current recommendation for agents
When an agent needs context:
- call
get_world_state - call
screenshot_viewportonly if a live browser bridge is expected - use exact world-aware tools instead of inventing hidden state
That keeps agents grounded in the same world humans are seeing.