Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BUILDER_CORE_URLNoThe URL of the builder-ide core HTTP API the world-mcp server is a client of (e.g. http://127.0.0.1:8000 or http://thor-lan:8000).
WORLD_MCP_OWNER_TOKENNoPer-agent token for the owner class; its `agent` claim lands on every audit row written. Defaults to a fresh $BUILDER_HOME's per-agent dev token.
WORLD_MCP_PANEL_TOKENNoToken for the panel class. Defaults to a fresh $BUILDER_HOME's per-agent dev token.
WORLD_MCP_CHARACTER_TOKENNoPer-agent token for the character class; its `agent` claim lands on every audit row written. Defaults to a fresh $BUILDER_HOME's per-agent dev token.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_contextB

Read the context packet for a view (§1.4): the selection's resolved referents and current params, the recent history, the conversation labels, the project state, the budget left tonight, and the vocabulary and its gaps. Pass the node ids you are looking at; omit them for the world's own situation.

list_vocabularyB

The closed, typed vocabulary: words with their kinds, owners, statuses, param schemas and taste notes. Filter by status to see the coming-soon edges — the gaps that only a work order can close.

read_night_planB

The night's plan and its price: the slated tasks with their asks (the cost model's p50, or the filer's override), the bar (the night's rails), the owner's two lines — what tonight costs and whether it fits — and the budget left if a night is running.

propose_recipe_editC

Change the world through the typed vocabulary, sealing the prediction FIRST (§5.1: the seal is committed before the render exists). The word's param schema is the contract; anything outside it is refused at the door and the refusal is honest. The render that tests the prediction is requested separately (request_render), so the bet stays sealed before its test exists.

request_renderC

Request a render or preview of entries at a rung of the ladder (1 fast layout · 2 mid with lighting and materials · 3 full). The request is queued at the core's door priced by the measured cost model (kind rung.N); the engine that renders it is the recipe half's seat, so until it lands the queue row is the honest state. Price a sealed prediction against the SAME rung and seed you render.

file_work_orderB

File a work order from a terse request plus the context packet: the core captures the packet, resolves the referents through the node registry, and compiles either a draft (with the one-line confirmation and BOTH price lines) or — when two referent sets are both plausible — a one-tap question. It never guesses; answer the question with answer_question. Fill intent.spec_sentence (≤ 25 words), intent.goal, intent.acceptance (≥ 1 machine-checkable check) and intent.estimate {build_verify, generate_test} to shape the compile.

confirm_work_orderA

Answer a draft work order's confirmation: go (queue it), no (cancel), or edit (cancel and refile with amendments). This is the owner's one word; the call is idempotent by key. Pass the idem_key again if a retry must not double-file.

answer_questionA

Answer a parked question (the never-guess rule: when the compile found two plausible referent sets it asked, and the answer unblocks the work order). The options are on the question; answer with one of them, in the owner's words.

propose_plan_intentionA

Propose to the night's slate (kind plan.intention): a plan you believe the night should run — read world://context first and aim the proposal at a real gap. It is priced by the cost model like everything else, but the band is the proposal's own footprint: a slate row and the owner's decision on it (zero GPU; the attention estimate, marked [e]). It prices the proposal, not the work it may seed — that work is priced by its own kind when the night runs it. The owner reads the slate before starting the night; starting it is their door, not yours.

queue_genbatchB

Queue a generative batch (genbatch): a night of props made by the local image model + TRELLIS.2, measured, judged and recorded as assets with provenance and licence. The kind prices it from the measured cost model — prop.512 or prop.1024 per variant; count scales the ask (the p50) and the rail (the p95). The requests themselves ride the intention (what to make, how many seeds); the genbatch seat consumes the queue.

subscribe_world_dirtyA

Subscribe to world.dirty: what changed in the world and when. Returns the cursor {branch, head, seq} and the dirty events since since_seq (rewind is free — the feed is the log). Clients that hold a subscription stream receive world://dirty resource-updated notifications the moment the recipe moves; this tool is the polling form for clients that cannot.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
the context packetWhat the core attaches to every call (§1.4): the view, recent history, the conversation labels, the project state, the budget left tonight, and the vocabulary and its gaps. Read this before acting.
the vocabularyEvery word (including coming-soon edges) with its typed param schema, the taste notes (read-only) and the capability rows. A word's schema is the contract a vocabulary call must satisfy.
the recipe and its historyBranch heads and the committed version history (hashes, messages, authors). The recipe is the source of truth; meshes and renders are caches. The versions themselves read at world://recipe/{version} — the document, the hash-verified record, and the diff against any base.
the latest renders and critic verdictsRecent render.completed artifacts and critic verdicts, newest last. A verdict is a word, never a colour.
the ledger talliesThe two tallies kept apart (§1.7): predictions about the world (scored by the critic) and taste notes (written by the owner only), plus the budget rails.
the world.dirty cursorWhat changed in the world and when: the cursor carries {branch, head, seq} so a client fetches a since_version delta, not everything (RV patch 14). Subscribe to this resource to be notified when the world changes.

TDQS

B3.3/5.0

Scored across 11 tools

Disambiguation4/5

Each tool targets a distinct action or resource (context, vocabulary, recipe edit, render, work-order flow, night planning, genbatch, dirty feed). A few night-related and answer/confirm tools could be momentarily confused, but the descriptions clearly separate them.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun pattern (get_context, list_vocabulary, propose_recipe_edit, confirm_work_order). Compound nouns are used predictably with no style mixing.

Tool Count5/5

The 11 tools are well-scoped for a complex world-editing domain. Each tool covers a distinct capability without obvious redundancy or extreme thinness.

Completeness4/5

Core flows are covered: reading context/vocabulary/night plan, editing recipes, requesting renders, filing/confirming work orders, answering questions, proposing plans, queuing genbatches, and subscribing to changes. Minor gaps remain around listing or inspecting queued work orders, renders, and genbatches, but agents can likely work around them via context and dirty events.

Maintenance

ActivityMaintained
ResponsivenessNo issues