Skip to main content
Glama
quantitats

quantitats-mcp

Official
by quantitats

Replace a script

update_script
DestructiveIdempotent

Replace a trading script's entire source via API; running bots stay on the old version until restarted. Edits changing declared settings are refused with 409, so save them under a new name.

Instructions

Replaces a script's whole source. Bots already running it keep running the version they started with until they are restarted. An edit that changes the settings the script declares is refused with a 409; save it under a new name instead.

Requires the scripts:write scope.

Rate limit: 30 requests per minute for your key, shared across every tool in the control-plane group. Changing configuration is metered far more tightly than reading it. Creating, reconfiguring, stopping and deleting all share this budget, so make one considered change rather than a sequence of adjustments.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesThe script's name.
scriptYesThe new source, replacing what is stored.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, but the description adds substantial context beyond them: running bots keep the old version until restarted, a 409 is returned when declared settings change, the required scripts:write scope, and the shared 30/min control-plane rate budget. These are exactly the operational facts annotations cannot convey.

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?

Three short, front-loaded paragraphs: what it does, the operational caveat, then the scope/rate constraints. Every sentence carries information, though the rate-limit paragraph is longer than strictly needed and could be tightened without losing meaning.

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?

With no output schema and a fully covered input schema, the description supplies everything else an agent needs for a destructive mutation: auth scope, concurrency behavior of running bots, the failure mode (409), and the rate ceiling. Nothing material is missing.

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% (both `name` and `script` documented), so the schema carries the parameter burden and the baseline is 3. The description marginally reinforces that `script` replaces the stored source wholesale, but adds no format, syntax, or constraint detail 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?

States a specific verb and resource ('Replaces a script's whole source'), and the phrase 'whole source' distinguishes it from an in-place edit or the sibling create_script path. An agent can unambiguously tell it apart from get_script, create_script, delete_script, and list_scripts.

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 a concrete when-not condition ('An edit that changes the settings the script declares is refused with a 409; save it under a new name instead') which routes the agent to create_script for that case, plus the scripts:write prerequisite. It stops short of naming the sibling tool explicitly or stating 'call this only when X'.

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