Skip to main content
Glama

script

Registers custom code to execute now and on every page load while connected, supporting live plugin prototypes; set remove=true to unregister or list=true to view IDs.

Instructions

Registers JavaScript that runs now and on every page load (reload) while this server is connected: a live plugin prototype. remove=true unregisters it (effects already applied stay until a reload). list=true shows ids.

Input Schema

NameRequiredDescriptionDefault
idNo
codeNo
listNo
removeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false; the description supplies the material behavior an agent actually needs: registration is persistent across reloads only while the server is connected, and removal does not undo already-applied effects until a reload. That is exactly the kind of side-effect detail annotations cannot carry.

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?

One dense sentence with the primary behavior front-loaded and the flag semantics trailing in order of importance. No waste, though the parenthetical/unregister clause is slightly crammed and could be split for scan-ability.

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?

All four parameters are optional and no output schema exists, so the description is not required to explain returns. However, with 0% schema coverage and an unaddressed 'id' parameter and no statement of what registration returns, an agent can still mis-invoke with ambiguous argument combinations.

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 carries the full burden. It explains the 'remove' and 'list' flags and implies 'code' is the script body, but never defines 'id' beyond 'shows ids', nor what happens when id and code are combined or when neither is supplied.

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 ('Registers JavaScript') plus the key scope ('runs now and on every page load while this server is connected'), which distinguishes it from the one-shot sibling 'eval'. It never names eval directly, so the differentiation is implied rather than explicit.

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?

Covers the tool's own modes ('remove=true unregisters it', 'list=true shows ids'), which is real usage guidance, but gives no guidance on when to choose this over siblings like eval or reload, nor any prerequisites. Usage context must be inferred.

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