Skip to main content
Glama
quantitats

quantitats-mcp

Official
by quantitats

Create a bot

create_bot

Create and start an automated trading bot from an account script, selecting exchanges and paper or live mode; paper is default, live trades real funds.

Instructions

Creates and starts a bot running one of the account's scripts. Answers 409 if the name is taken and 403 if the plan's bot limit is reached, naming the limit. Mode defaults to paper; sim settings are refused on a live bot rather than ignored. A live bot trades real funds.

Requires the bots: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
simNoSimulator settings, for a paper bot only. Refused on a live bot.
modeNoPaper simulates; live trades real funds. Defaults to paper.
nameYesName for the new bot: 3 to 22 characters of lowercase letters, digits and dashes, starting and ending with a letter or digit. Must be unused. Stored lower-cased; later tools take the name this answers with.
configNoOverrides for the script's own settings, for this bot only. Checked against the script.
scriptYesThe script's name.
exchangesYesVenues this bot trades on.
killSwitchNoPer-market loss limit. A bare number is the limit for every market; the object form is {"currency": "USDT", "max_loss": 250, "limits": {"binance_spot:BTCUSDT": 100}} — note max_loss is snake_case. The first market to exceed its limit ends the run for good.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: specific 409 (name taken) and 403 (plan bot limit, naming the limit) failure modes, the paper-default mode, the fact that sim settings are refused on a live bot rather than silently ignored, that a live bot trades real funds, the required `bots:write` scope, and the shared rate-limit budget. None of this is derivable from readOnlyHint/destructiveHint/openWorldHint.

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-loads the core action and error behavior, then scope, then rate limits, so an agent gets the essentials first. The rate-limit paragraph is somewhat long for its informational payload, but each sentence carries operational content rather than filler.

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 mutation tool with no output schema, seven params (including nested objects), and open-world behavior, the description covers failure modes, auth scope, and quota — the main gaps an agent needs closed. It does not describe the response shape, though the name schema note ('later tools take the name this answers with') partially covers identity of the created bot.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents all seven parameters, setting the baseline at 3. The description earns above baseline by clarifying the cross-parameter interaction the schema states only locally — mode defaults to paper and sim settings are refused on a live bot — which is genuine added meaning.

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+resource with scope: 'Creates and starts a bot running one of the account's scripts.' This is clearly distinguishable from sibling mutations like update_bot_config, stop_bot, and create_script without opening any schema.

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 real operational context — the 30 req/min shared budget and the advice to make one considered change rather than a sequence of adjustments, which implicitly frames create/reconfigure/stop/delete as competing uses of the same quota. It does not, however, explicitly name a sibling alternative or a when-not-to-use condition.

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