Skip to main content
Glama

run

Execute a JavaScript cell in the Effect House eh kernel to drive the open editor through its eh API, enabling live scene, script, asset, and preview changes.

Instructions

Run a JavaScript cell in the Effect House eh kernel, which drives the open editor through a pre-connected eh API. The kernel is not available right now; call instances to see why.

(Bridge note: Effect House must be open. instances shows the editor the next cell uses; launch opens it.)

Input Schema

NameRequiredDescriptionDefault
codeNoCell source. Exactly one of `code` or `path`.
nameNoOptional save name for the cell.
pathNoPath of an existing .mjs cell to run.
timeoutMsNoPer-cell timeout in milliseconds.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does real work: it discloses that cells execute against a live editor via a privileged `eh` API (i.e. side effects are possible), states the out-of-band prerequisite, reports current unavailability, and points at remediation tools. Still missing: failure behavior, whether/timeout effects, and what a run yields (logs, return value).

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?

Front-loaded with the core action in the first clause, and the parenthetical groups the prerequisite and sibling routing efficiently. Minor waste: the 'kernel is not available right now' status claim duplicates runtime information that belongs in a status check and may be stale inside a static description.

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 an execute-arbitrary-code tool with no output schema and no annotations, the definition covers prerequisites and alternatives but never explains what a successful run produces (return value, output channel, how cell results surface). That gap matters for an agent deciding between `code` and `path` and interpreting results.

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 schema already states the mutually exclusive `code`/`path` rule, timeout semantics, and optional save name. The description adds no parameter-level meaning beyond the schema, so the baseline 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?

States a specific verb and resource: runs a JavaScript cell in the Effect House `eh` kernel driving the open editor. The generic name `run` is disambiguated by the body, and it names sibling tools (`instances`, `launch`) that cover adjacent concerns, though it does not contrast against `reset` or `status`.

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?

Gives clear routing: if the kernel is unavailable, call `instances`; to open the editor, call `launch`. Prerequisite (Effect House must be open) is stated explicitly. It lacks an explicit 'prefer X over run when...' rule or guidance on choosing `code` vs `path` beyond the schema.

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