Skip to main content
Glama

FastMCP Version Ruff Linted with Biome Built with Just Marble Adventure

worldlabs-mcp (v0.5.0)

MCP gateway to World Labs Marble + Spark 2.0. Generate navigable 3D worlds from text, images, panoramas, multi-view sets, or video; view them with a streaming Gaussian-splat renderer; and ground a voice agent in scene coordinates.

Table of Contents

  • ๐Ÿš€ Setup & Quick Start โ€” install, API key, launch

  • ๐Ÿ’Ž Features & Tools โ€” 21 MCP tools, generation modes, spatial voice agent, export pipelines, Marble Community Gallery (browse/search public worlds + prompt mining)

  • ๐Ÿ† Marble Adventure โ€” Godot 4.4 agent-built gallery; 5+3 Marble portals with hub life (plants, lamps, beacon); launch from the webapp Apps page; itch draft ยท MCD

  • ๐Ÿ—๏ธ Architecture โ€” system design, ports, data flow

  • ๐ŸŽฏ Prompt Engineering Guide โ€” artist styles, landmarks, materials, categories

  • ๐Ÿฅฝ VR & WebXR โ€” Quest, Pico 4, Vive streaming

  • ๐ŸŽ™๏ธ Spatial Voice & TTS โ€” edge-tts narration, audio spatialization

  • โšก Spark 2.0 Renderer โ€” LoD splat tree, .RAD streaming, virtual paging

  • ๐ŸŽฎ DCC Export โ€” Blender, Unity3D, Resonite pipelines

  • ๐ŸŒ World Modeling โ€” spatial intelligence landscape

Related MCP server: ggui

Quickest Start

git clone https://github.com/sandraschi/worldlabs-mcp
cd worldlabs-mcp
just bootstrap
just serve

Opens the web dashboard at http://localhost:10864. Get your API key at platform.worldlabs.ai/api-keys.

Ports

Port

Service

10864

Frontend (Vite webapp โ€” dashboard, library, Marble Gallery, Reality Hub)

10865

Backend bridge (FastAPI REST /api/* + MCP HTTP + SSE narration)

32400

Plex server (optional; Cinema Worlds โ€” PLEX_TOKEN in .env)

Stack: FastMCP 3.4+ (Python) ยท FastAPI ยท Vite + React + Tailwind ยท Tauri 2.0 NSIS native build (native/).


MIT License โ€ข Maintained by sandraschi. Not affiliated with World Labs.

Available Tools

21 tools
broadcast_spatial_audioA

Broadcast spatial audio (Music/Ambience) to the scene.

Pass a URL to an audio file (mp3, wav) to play it at the given 3D coordinate. The audio is spatialised via WebAudio PannerNode in the Spark viewer.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
zNo
is_loopNo
prompt_or_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that audio is spatialized via WebAudio PannerNode and accepts mp3/wav formats. However, it omits behavioral details such as whether audio replaces existing sounds, limits on concurrent playback, volume control, error handling, or response behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long: the first states the purpose, the second details usage and technical context. There is no extraneous information; every sentence contributes meaningful guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters and an existing output schema, the description covers the core usage (URL and coordinates) but lacks information on prerequisites, error scenarios, or what the tool returns beyond the schema. It is adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It adds meaning for 'prompt_or_url' (URL to audio file, supported formats) and implies x,y,z specify 3D coordinates. It does not describe 'is_loop' or defaults. The additions are helpful but not comprehensive for all parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool broadcasts spatial audio (music/ambience) to the scene, specifying the verb 'broadcast' and the resource 'spatial audio'. It distinguishes from the sibling 'broadcast_spatial_notification' by focusing on audio playback and spatialization. However, it does not explicitly contrast with the notification tool, preventing a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains that the tool is used to play audio files at 3D coordinates via a URL, but it does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives like 'broadcast_spatial_notification'. Usage is implied rather than directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

broadcast_spatial_notificationB

Broadcast a spatial voice notification to the active World Labs Spark Viewer. Connects to the Spatial Voice Agent to narrate specific locations in the 3D world.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX coordinate in the 3D scene (Default 0.0).
yNoY coordinate in the 3D scene (Default 0.0).
zNoZ coordinate in the 3D scene (Default 0.0).
textYesThe message to be spoken by Gemini TTS.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It mentions connecting to the Spatial Voice Agent but does not describe any side effects, permission requirements, or state dependencies (e.g., whether the viewer must be active). This lack of detail hinders safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences that front-load the action and quickly explain the mechanism. Every word contributes value, making it easy for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists and the input schema covers all parameters, the description is minimally adequate. However, it lacks any mention of prerequisites (e.g., active viewer) or behavior when conditions are not met, leaving potential gaps for an agent relying solely on this description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters are already well-documented in the input schema (100% coverage). The description adds little beyond 'spatial' and '3D world' context, which is already implied by the schema's coordinate parameters. Thus, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: broadcasting a spatial voice notification to the active World Labs Spark Viewer, narrating specific locations. It uses specific verbs and resource, and implies differentiation from sibling 'broadcast_spatial_audio' by focusing on voice notification and text-to-speech via Gemini TTS.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives like 'broadcast_spatial_audio'. It implies usage for narrating locations but does not specify when not to use it or mention any prerequisites such as having an active viewer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_worldA

Delete a previously generated world by its ID.

Permanently removes the world and all its associated assets (splat files, mesh, panorama, thumbnail) from the Marble API. This action cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
world_idYesThe world UUID (from operation response or list_worlds).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description takes full burden and clearly discloses permanent deletion of the world and all associated assets, with explicit 'cannot be undone' warning.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise with two sentences, front-loaded action, and zero wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter destructive tool with output schema, the description covers everything needed: what it deletes, permanent effect, and irreversibility.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already covers parameter meaning (world UUID) at 100% coverage. Description adds no extra semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool deletes a world by ID and lists what assets are removed. Distinct from sibling tools like generate_world_from_image and get_world.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions that the action is permanent and cannot be undone, implying caution, but does not explicitly state when to use it vs alternatives or any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_world_from_imageB

Generate a 3D world from a public image URL.

Returns immediately with an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoOptional seed for deterministic generation.
tagsNoOptional tags for organising worlds.
modelNo'marble-1.1' or 'marble-1.1-plus'.marble-1.1
image_urlYesPublic URL of the source image (jpg, jpeg, png, webp).
is_panoramaNoSet True if image is a 360-degree panorama.
text_promptNoOptional text to guide generation.
display_nameNoOptional name for the world.
disable_recaptionNoIf True, use text_prompt as-is without auto-recaptioning.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description correctly notes that the tool returns immediately with an operation_id, implying asynchronous processing. However, it lacks details about error handling, rate limits, or any destructive effects (none expected). Without annotations, more behavioral context would be beneficial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise with two sentences. The first sentence states the core purpose, and the second adds a critical behavioral detail (synchronous return of operation_id). No superfluous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema (context), the description need not detail return values, but it does mention the operation_id. It covers the essential aspects for a generation tool, though additional info on error states or polling could improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter has a clear description in the schema. The tool description adds no extra insight beyond the schema, meeting the baseline for well-documented parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a 3D world from a public image URL. It distinguishes from siblings like generate_world_from_text and generate_world_from_video, but does not explicitly differentiate from generate_world_from_media_asset, which likely handles uploaded media vs public URLs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus its siblings, especially generate_world_from_media_asset for uploaded files. No scenarios or prerequisites are mentioned, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_world_from_media_assetB

Generate a world from a previously uploaded media asset.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes'image' or 'video'.
modelNo'marble-1.1' or 'marble-1.1-plus'.marble-1.1
is_panoramaNoTrue if image is a panorama (image kind only).
text_promptNoOptional guiding text.
display_nameNoOptional name for the world.
media_asset_idYesID returned by prepare_media_upload or upload_and_generate.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It only states it generates a world, omitting any details about side effects, permissions, rate limits, or the nature of the operation (e.g., synchronous/asynchronous).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, clear sentence with no redundancy. However, it is slightly too minimal and could incorporate more context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 parameters, many siblings, output schema exists), the description omits important contextual information like the prerequisite upload tools and the workflow. It does hint at 'previously uploaded' but is insufficient for a complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description adds no extra meaning beyond what the schema already provides. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Generate a world') and the resource ('from a previously uploaded media asset'), distinguishing it from sibling tools that generate from raw inputs like text or direct image/video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies the prerequisite of a prior upload, but does not explicitly state when to use this tool versus alternatives like generate_world_from_image or upload_and_generate. No explicit when-not or alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_world_from_multi_imageB

Generate a 3D world from multiple images at specified azimuth angles.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNo'marble-1.1' or 'marble-1.1-plus'.marble-1.1
image_urlsYesList of public image URLs (must match azimuths_deg length).
text_promptNoOptional guiding text.
azimuths_degYesAzimuth angles in degrees for each image (0-360). Example: [0, 90, 180, 270] for 4 images at cardinal directions.
display_nameNoOptional name for the world.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavior. It only states what the tool does but omits implications: generation time, constraints on image consistency, world properties, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise and front-loaded with key purpose. No unnecessary words, but could benefit from a brief additional sentence on constraints.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With full schema coverage and an output schema, the description is minimally sufficient. However, it does not mention the matching length requirement between image_urls and azimuths_deg, nor other prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all parameters documented. The description adds no new parameter meaning beyond repeating azimuth angles. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool generates a 3D world from multiple images with azimuth angles. Verb 'generate' and resource '3D world' are specific, and it distinguishes from siblings like generate_world_from_image or generate_world_from_video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage when multiple images with azimuths are available but lacks explicit when-not or alternatives. No guidance on prerequisites or comparison to other generation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_world_from_textA

Generate a 3D world from a text description.

Returns immediately with an operation_id. Use get_operation to check status, or wait_for_world for blocking poll (โ‰ค90s by default).

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoOptional seed for deterministic generation (0 to 4294967295).
tagsNoOptional tags for organising worlds (e.g. ["fantasy", "nature"]).
modelNo'marble-1.1' (default, 1500 credits) or 'marble-1.1-plus' (auto-expanding, 1500 + 300/dynamic-cube).marble-1.1
text_promptYesDescription of the world to generate.
display_nameNoOptional human-readable name for the world.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavior. It discloses the async pattern and polling timeout (โ‰ค90s) but omits credit costs, permissions, or failure handling. Adequate but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences front-load the purpose and immediately address usage pattern. Efficient, but could be slightly more structured (e.g., bullet points for status options).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters and an output schema, the description adequately covers the async workflow. However, it misses details like credit implications (mentioned only in model param description) and rate limits, leaving gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already documented. The description adds no extra semantics beyond the schema, sticking to post-call instructions. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a 3D world from a text description, which is distinct from sibling tools like generate_world_from_image. The verb 'Generate' and resource '3D world' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the asynchronous nature and directs to get_operation or wait_for_world for status. However, it does not explicitly differentiate when to use this tool over other generation methods (e.g., from image or video).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_world_from_videoB

Generate a 3D world from a public video URL.

Returns immediately with an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoOptional seed for deterministic generation.
tagsNoOptional tags for organising worlds.
modelNo'marble-1.1' or 'marble-1.1-plus'.marble-1.1
video_urlYesPublic URL of the source video (mp4, mov, mkv).
text_promptNoOptional text to guide generation.
display_nameNoOptional name for the world.
disable_recaptionNoIf True, use text_prompt as-is without auto-recaptioning.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only mentions async return via operation_id but lacks details on lifecycle, failure modes, rate limits, or constraints like video size/duration.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, very concise and front-loaded with purpose. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists but description fails to connect operation_id to sibling get_operation for polling. Missing details on completion, error handling, or video requirements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline 3 applies. Description adds no extra meaning beyond schema; merely restates parameter roles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Generate a 3D world from a public video URL' โ€“ specific verb (generate) and resource (3D world) with source identified. Distinguishes from siblings like generate_world_from_image and generate_world_from_text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites or exclusions mentioned. Only states 'Returns immediately with an operation_id' without explaining polling or completion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_operationA

Poll a generation operation for its current status.

Recommended for long-running jobs (marble-1.1-plus, auto-expanding, multi-minute). Call repeatedly until done=True rather than using wait_for_world.

ParametersJSON Schema
NameRequiredDescriptionDefault
operation_idYesThe operation_id returned by a generate call.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, so description covers polling behavior and the condition to stop (done=True). It doesn't detail error handling or rate limits, but the core polling semantics are clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no unnecessary words. Front-loaded with main purpose and key usage advice.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool (1 param, output schema exists), the description fully covers when to use, how to use, and what to expect. It is complete for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter 'operation_id', described in schema. The description does not add extra meaning beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool polls a generation operation for status. It specifies it's for long-running jobs and distinguishes from the sibling 'wait_for_world'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly recommends when to use (long-running jobs like marble-1.1-plus) and provides an alternative (use polling instead of wait_for_world).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_worldB

Fetch the latest details for a generated world by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
world_idYesThe world UUID (from operation response or list_worlds).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It says 'latest details', indicating a read operation, but does not confirm read-only behavior, permissions, or rate limits. It is adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundant words, clear and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple fetch operation with one parameter and an output schema existing, the description is complete enough. It covers the purpose and required identifier, though it could mention behavior on invalid ID.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter world_id described as 'The world UUID...' The description adds 'by its ID' which aligns but does not add significant meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Fetch' and the resource 'world details by its ID', distinguishing it from list_worlds which returns multiple worlds. However, it does not explicitly differentiate from other read tools like get_operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that you need a world ID, but it does not provide explicit guidance on when to use this tool versus alternatives like list_worlds or get_operation. No when-not or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_worldsB

List previously generated worlds.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNoNumber of worlds to return (default 20, max 100).
page_tokenNoPagination token from a previous response's next_page_token.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but fails to disclose any behavioral traits like ordering, default sort, or that it returns a paginated list. The minimal description leaves agents uninformed about important behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence. While efficient, it could include a bit more context (e.g., pagination hint) without becoming overly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (which likely documents return fields), the description's brevity is partially excusable. However, there are no annotations and no explanation of pagination or the absence of filtering options, leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides clear descriptions for both parameters (page_size and page_token). The description adds no extra semantic context beyond what the schema offers, but with 100% schema coverage, a score of 3 is baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List previously generated worlds' uses a specific verb ('List') and a distinct resource ('previously generated worlds'), clearly distinguishing it from sibling tools like get_world (single world) or generation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as get_world or the various generation tools. The context would significantly benefit from an explicit usage suggestion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

place_world_tvC

Place a virtual TV screen in the 3D world playing a Veo 3.1 video.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
zNo
scaleNo
video_urlYes
rotation_yNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavior. It only states the basic action without describing whether the TV is persistent, if it can be moved, or any side effects. The agent is left guessing about runtime behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise and front-loaded. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 6 parameters and no schema descriptions, the description is too sparse. An output schema exists but is not described. The tool's function is complex enough to warrant more details about placement, orientation, and results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It only mentions the video_url implicitly; none of the positional parameters (x, y, z, rotation_y, scale) are explained. The defaults in the schema are unhelpful without context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: placing a virtual TV screen playing a Veo 3.1 video. It uses specific verbs and resources, and distinguishes from siblings, as no other tool mentions placing a TV.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. There are no prerequisites, context, or exclusionary conditions mentioned. The agent has no help deciding between this and other tools like spawn_agent_avatar or broadcast_spatial_audio.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prepare_media_uploadA

Prepare a signed GCS upload URL for a local file.

After calling this, PUT the raw file bytes to upload_info.upload_url with the returned upload_info.headers, then pass media_asset.id to generate_world_from_media_asset. For a simpler flow, use upload_and_generate.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes'image' or 'video'.
extensionYesFile extension without dot (e.g. 'jpg', 'mp4').
file_nameYesOriginal filename (e.g. 'photo.jpg').

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description fully discloses behavior: generates signed URL, requires subsequent PUT, and passes media_asset.id to another tool. No hidden side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences only: purpose, follow-up steps, alternative. No repetition, all text earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values are covered. Description mentions key outputs (upload_info, media_asset.id) and provides complete workflow for a preparation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters with descriptions (100% coverage). Description adds no additional parameter meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific verb 'Prepare' and resource 'signed GCS upload URL for a local file', clearly distinguishing from sibling 'upload_and_generate' by mentioning simpler flow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly describes when to use (preparatory step) and when not to (simpler flow via upload_and_generate), plus provides step-by-step instructions for correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refine_with_local_llmA

Refine a world prompt using a local Ollama model.

Sends a short prompt to Ollama for expansion into a detailed, Marble-optimised 3D world generation prompt.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoOllama model name (default: llama3.2:3b).llama3.2:3b
styleNoVisual style hint (e.g. Cinematic, Fantasy, Photorealistic).Cinematic
promptYesThe short prompt to refine.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the core behavior (sending to Ollama for expansion) but omits details like requirements (Ollama must be running), error handling, or whether the operation is idempotent. The description adds context about Marble-optimization but lacks deeper transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no waste: first states the purpose, second elaborates on the action and output. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values are covered. The description is sufficient for a simple refinement tool, but it could note prerequisites (e.g., Ollama running locally). Given sibling tools, its role is clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description need not add param info; baseline is 3. The description does not provide additional meaning beyond the schemaโ€”'short prompt' is already in the prompt parameter description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Refine'), the resource ('a world prompt'), and the method ('using a local Ollama model'). It also specifies the output is a 'Marble-optimised 3D world generation prompt', distinguishing it from sibling tools that generate worlds directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for refining a prompt before world generation, but it does not explicitly state when to use this tool versus alternatives (e.g., generate_world_from_text). No when-not-to-use or alternative guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

show_world_cardA

Display a single world as a rich detail card with assets and viewer link.

Shows the world thumbnail, AI caption, model used, creation date, all available asset download links (SPZ splats at 100k/500k/full, collision mesh GLB, panorama), and a direct link to the Marble viewer. Equivalent to get_world but rendered as a Prefab card.

ParametersJSON Schema
NameRequiredDescriptionDefault
world_idYesThe world UUID from list_worlds or an operation response.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It describes the output content comprehensively (thumbnail, caption, assets, links), implying a read-only operation with no side effects. This is sufficient for a read tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, using bullet-like clarity in two sentences. Every sentence provides valuable information without redundancy or wordiness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simple function and single parameter, the description fully explains what the card includes, making it complete for an agent to understand and use the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter world_id has a schema description that is already clear, and the tool description does not add any additional meaning. With 100% schema coverage, this meets the baseline but adds no extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool displays a single world as a rich detail card with assets and viewer link, and distinguishes it from get_world by noting it's rendered as a Prefab card. This makes the purpose unambiguous relative to siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear usage context by comparing to get_world and specifying the card format. However, it lacks explicit guidance on when not to use it or alternatives beyond that comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

show_worlds_cardA

Display generated worlds as a rich scannable card with thumbnail previews.

Lists worlds from your Marble account with status badges, model labels, dates, and direct viewer links. Equivalent to list_worlds but rendered as a Prefab card rather than raw JSON.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNoNumber of worlds to return (default 20, max 100).
page_tokenNoPagination token from a previous response.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description bears full burden. Indicates it's a read operation ('Lists worlds from your Marble account') and mentions output elements (badges, labels, dates, links). But lacks detail on auth, rate limits, or any side effects. Adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with core purpose. Every word earns its place, no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, description helpfully lists card elements (badges, labels, dates, links). Does not cover pagination behavior or error handling, but for a simple list tool this is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters documented. Description does not add additional semantic information beyond what the schema provides. Baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb ('Display'), resource ('generated worlds'), and output format ('rich scannable card with thumbnail previews'). Explicitly distinguishes from sibling list_worlds by contrasting card vs raw JSON rendering.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Directly compares to list_worlds, telling the agent this is the visual alternative. Provides clear context for when to use this tool (when a card format is preferred), though no explicit 'when not to use' is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spawn_agent_avatarC

Materialize an animated agent avatar in the 3D scene. The viewer will attempt to ground the avatar on the collider mesh.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
zNo
rotationNo
avatar_urlNodefault_agent

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must cover behavior. It mentions that the viewer will 'attempt to ground the avatar on the collider mesh,' but does not disclose other important behaviors such as whether the operation is destructive, requires permissions, or affects the scene state beyond creation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences and front-loaded, but it omits necessary parameter details. It is concise but at the expense of completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema (not shown), the description lacks details about return values, parameter constraints, and the grounding behavior. With five parameters and zero schema descriptions, it is insufficient for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate. It does not explain any of the five parameters beyond their names and defaults, leaving their purpose and constraints ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'materialize' and clearly identifies the resource as an 'animated agent avatar' in the 3D scene, which distinguishes it from sibling tools like broadcast_spatial_audio or generate_world_from_text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives is provided. There is no mention of prerequisites, context, or exclusions, leaving the agent without clear direction on selecting this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_and_generateA

Upload a local file and generate a 3D world from it (end-to-end).

Handles the full flow: prepare upload -> PUT file to GCS -> generate world. Returns immediately with an operation_id once upload completes.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes'image' or 'video'.
modelNo'marble-1.1' or 'marble-1.1-plus'.marble-1.1
is_panoramaNoTrue if image is a 360-degree panorama (image only).
text_promptNoOptional guiding text.
display_nameNoOptional name for the world.
local_file_pathYesAbsolute path to the local image or video file.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behavioral traits. It mentions returning immediately with operation_id and the async flow, but lacks details on authentication, rate limits, file handling, or side effects. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise at three sentences, with the first stating purpose and the second enumerating sub-steps. Front-loaded but the enumeration adds slight verbosity. Still efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters, no annotations, and an output schema, the description covers the basic flow but lacks details on error handling, supported file formats, or alternatives. Output schema helps, but more contextual guidance would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline 3. The description does not add significant meaning beyond the schema; it only reiterates the 'local file' concept already in the schema. No extra semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: upload a local file and generate a 3D world end-to-end. It distinguishes from sibling tools like generate_world_from_image by emphasizing the full upload flow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when you have a local file to upload and generate, but does not explicitly exclude alternatives like generate_world_from_media_asset for already uploaded files. Context is clear, but no when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wait_for_worldA

Block-poll an operation until it completes, fails, or times out.

WARNING: Default timeout is 90 seconds to stay within MCP client limits. For marble-1.1-plus jobs (often multi-minute), use get_operation manually instead, or increase timeout_seconds explicitly (e.g. 600) if your client supports it.

ParametersJSON Schema
NameRequiredDescriptionDefault
operation_idYesThe operation_id to wait on.
timeout_secondsNoMax seconds to wait before giving up (default 90).
poll_interval_secondsNoSeconds between polls (default 15).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses blocking/polling behavior, timeout limits, and client constraints. Does not mention error handling or side effects, but covers main behavioral traits well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a warning block. Front-loaded with main purpose. Every sentence adds value, no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values need not be explained. Description covers usage, alternatives, and constraints. Complete for a blocking poll tool with good annotations (none) and schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description only reiterates parameter defaults (timeout 90, poll 15) already documented in schema. No additional meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb+resource: 'Block-poll an operation until it completes, fails, or times out.' Differentiates from sibling get_operation which is likely non-blocking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly warns about default timeout (90s) and when to avoid (marble-1.1-plus jobs), recommending get_operation or increasing timeout. Gives clear when-to-use and when-not-to-use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

worldlabs_helpA

World Labs MCP API reference โ€” three detail levels.

Returns structured documentation about every tool in this server, the Marble API models, typical workflow, and World Labs context.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoOptional filter. One of: generate, upload, poll, world, meta. Returns all tools if topic doesn't match any group.
detailNoLevel of detail to return. 'quick' โ€” tool names + one-line descriptions only. 'standard' โ€” names, descriptions, args, returns, workflow, models. 'verbose' โ€” everything above + full docstrings, examples, notes, World Labs company/API context, and output format docs.standard

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description mentions three detail levels, providing some behavioral insight. However, with no annotations provided, it does not disclose traits such as read-only nature, permission requirements, or potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of two short sentences with no fluff. It front-loads the primary purpose and details effectively.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description adequately covers the tool's purpose and parameters. It mentions what the tool returns (documentation, models, workflow, context), which is sufficient for a help tool of moderate complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains the parameters well. The description adds minimal extra meaning beyond mentioning 'three detail levels', which is already in the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns structured documentation about every tool in the server, Marble API models, typical workflow, and World Labs context. It distinguishes itself from siblings which are operational tools (e.g., generate_world_from_image) by being a help/reference tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving documentation but does not explicitly state when to use this tool versus alternatives. It lacks guidance on when not to use it or comparisons to other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.5.0
    • Addedgallery_explore
  2. 20 tool updatesv0.4.0
    • First observedbroadcast_spatial_audio
    • First observedbroadcast_spatial_notification
    • First observeddelete_world
    • First observedgenerate_world_from_image
    • First observedgenerate_world_from_media_asset
    • First observedgenerate_world_from_multi_image
    • First observedgenerate_world_from_text
    • First observedgenerate_world_from_video
    • First observedget_operation
    • First observedget_world
    • First observedlist_worlds
    • First observedplace_world_tv
    • First observedprepare_media_upload
    • First observedrefine_with_local_llm
    • First observedshow_world_card
    • First observedshow_worlds_card
    • First observedspawn_agent_avatar
    • First observedupload_and_generate
    • First observedwait_for_world
    • First observedworldlabs_help

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct function: world generation from various sources, retrieval, deletion, spatial broadcasting, avatar spawning, and media upload. The descriptions clearly differentiate tools even where they overlap in purpose (e.g., different generation inputs).

Naming Consistency4/5

Most tools follow snake_case with verb_noun patterns (e.g., generate_world_from_image, delete_world). Minor inconsistencies include 'list_worlds' vs 'get_world' (plural vs singular) and 'worldlabs_help' which breaks the pattern. Overall, the naming is predictable and clear.

Tool Count4/5

Twenty tools cover the domain of 3D world generation, management, and interaction without feeling bloated. While slightly above the ideal range, each tool serves a distinct purpose and contributes to a complete workflow.

Completeness4/5

The tool set provides comprehensive coverage for world generation (multiple input types), CRUD operations (create, read, list, delete), spatial interactions, and media upload. Minor gaps like an update tool are absent but likely unnecessary given the immutability of generated worlds.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sandraschi/worldlabs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server