Skip to main content
Glama

three_live_link

Read-onlyIdempotent

Validates a Three.js scene script and returns a shareable playground URL that opens in desktop or phone browsers, with optional QR code and AR viewing; lists compile errors.

Instructions

Validate a Three.js scene script and return a web playground link that opens it on any desktop or phone browser (with View in AR on iPhone and Android). The scene rides in the URL fragment (raw DEFLATE + base64url), so nothing is uploaded. Optionally returns the link as a QR code (terminal text and SVG) for the user to scan with a phone. Fails, listing the errors, when the scene does not compile.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "three_live_link"
  }
}

Input Schema

NameRequiredDescriptionDefault
qrNoAlso return the link as a QR code (`qrText` for terminals, `qrSvg`) when it is short enough to scan.
baseNoPlayground page the link opens (default https://google.github.io/three-live/three/).
codeNoInline Three.js scene script (using pre-defined `THREE` and `scene` globals). Provide either `code` or `inputPath`.
inputPathNoPath to a .js scene script on disk when `code` is not provided.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.3.2

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and closed-world, so the safety profile is covered. The description goes meaningfully further: the scene is packed into the URL fragment (raw DEFLATE + base64url), nothing is uploaded, AR works on iPhone/Android, and the call fails with an error list when the scene does not compile. That failure-mode disclosure is exactly the kind of behavior annotations cannot express.

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, front-loaded with the outcome (validated link), then the mechanism (fragment encoding, no upload), then the optional QR and the failure case. No sentence is filler and no clause repeats the tool name.

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, the description carries the return-value burden and does so by naming the link, the optional QR as terminal text plus SVG, and the error-listing failure path. Minor gaps remain (no mention of URL length limits beyond the schema's hint, no shape of the success payload), but an agent has enough to invoke and interpret it.

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 all four parameters are already documented, including the `code`/`inputPath` either-or and the `qr` output fields. The description adds context about the fragment encoding but nothing parameter-level beyond what the schema states, so the baseline of 3 applies.

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 opens with a specific verb+resource pair: 'Validate a Three.js scene script and return a web playground link.' It clearly conveys that validation and link-generation happen together, but it never acknowledges the sibling `three_live_validate`, which sounds like it does part of the same job, so an agent must guess at the boundary.

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?

Usage is only implied: the tool is for sharing/running a scene in a browser, and either `code` or `inputPath` must be supplied (also in the schema). There is no explicit statement of when to choose this over `three_live_validate`, `three_live_render`, `three_live_convert`, or `three_live_sim`, and no stated prerequisites.

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