Skip to main content
Glama

BotSpot: AI Trading, Backtests and Bots

Show trading research, options and broker cards

show_trading_cards
Read-only

This panel uses supplied inputs; rendering does not independently verify their prices, timestamps or account marks. For portfolio attribution, use run_data_analysis to calculate and publish every holding’s daily change/contribution and quantity × ending price versus reported mark where that valuation applies, retaining verified contract multipliers and account currency. Keep both original ISO endpoints and price basis. Explain observed mark discrepancies and the account-minus-price-estimate gap before interpreting performance; reuse an already completed calculation. For watchlists, use symbol for a short ticker and name for the full instrument name. Set priceUnit="points" for index levels; currency is the default for ETF and security prices. For account value, performance or owned holdings, use show_bot_activity, show_account_overview or show_holdings. Those tools already render authoritative account-value and holdings panels; do not duplicate them with research panels. risk-budget is for a proposed trade with known maximum loss and sizing budget, never daily account loss, P&L, investment allocation or ownership share. watchlist is for market price changes, never a substitute for holdings value and unrealized P&L. Render the approved visual family directly inside chat. Choose a panel kind: watchlist (comparisons/observed mini charts), news (source-linked catalysts), price-chart (real bars, selected strikes), strategy-diagram (spread legs/zones, debit may be unknown), payoff-compare (known premiums only), expiry-compare (holding-window table; decay only when returned), option-chain (buy/sell rows, closed-market last prices), broker-status (actual connection and price availability), setup-checklist (conditions with met/unmet/unknown), risk-budget (known account value/max loss/budget), trade-ticket (draft/waiting or ready linked to an EXISTING place_trade authorizationUrl), strategy-problem (one bot, backtest or broker connection the person owns that is broken: strategyId and strategyName from tool results, subject bot/backtest/broker, status, a plain detail of what was observed and observedAt; use it only after reading the runs and logs of that bot, backtest or connection, state only what was observed, never a fix; the panel itself offers Fix It and Show Me Why). Every panel with longStrike/shortStrike (strategy-diagram, payoff-compare, trade-ticket) is a TWO-LEG debit vertical only: call longStrike < shortStrike, put longStrike > shortStrike. Never encode a plain option as equal strikes or a dummy short leg; without known premiums, draw the spread anatomy with debit:null and explain the plain option briefly beside it. Render these visuals often when answering substantive trading questions; do not replace them with prose or a Markdown table. Copy data from current tool results, cite source and observation asOf as ISO 8601 WITH TIMEZONE (2026-10-08T20:00:00Z), never prose/date-only; omit asOf when unavailable and retrieval time is labeled instead; missing numbers are null and unavailable series are empty, NEVER invented charts, prices, status, balance or countdowns. Percent values are ratios (.0214 = 2.14%). Only label known observed account data live/paper; public research is market, hypothetical structures/calculations are scenario. Trade-ticket is read-only and creates no order or approval: approvalUrl/reviewUrl must come from a successful existing tool result; editing a ready ticket requires a new preview before approval. For an iron condor use data.card="credit-scenarios": underlying, expiration, longPutStrike < shortPutStrike < shortCallStrike < longCallStrike, contracts, multiplier, fees, optional initialCredit and creditPresets. One orange credit slider updates the four-leg payoff, both breakevens and risk metrics. Omitted credit is an explicitly hypothetical midpoint; no quotes or orders are created. Prefer this single calculator to separate empty put/call tables. Connection diagnostics belong in details unless the user asks about them or must act. Use data.card="debit-scenarios" for the working hypothetical debit slider: supply underlying, expiration, kind, longStrike, shortStrike and optional contracts (default 1), multiplier (default 100), fees (default 0), initialDebit, debitPresets and known accountValue. Initial debit is an explicit hypothetical assumption; omitted starts at half the width for illustration. Fetches no quotes and creates no order, approval or schedule. The only top-level argument is the panel array. Optional supporting notes belong in the details field of each array item, inside that panel wrapper; never put details at the top level. Every panel wrapper requires title, source, mode and data; details cannot replace data. Setup-checklist data requires underlying, items, bars, levels and notes; supply [] for each unavailable optional series/list. Every vertical requires contracts, multiplier and fees, even when debit is null. Ready trade-ticket data.account must identify the account actually selected for the staged trade; the outer context account does not replace it. A broker-neutral pending selection remains a draft/waiting ticket until the approval workflow selects an account. Read-only. Shows an interactive panel in apps that support MCP Apps; always returns a text summary and a botspot.trade link.

Input Schema

NameRequiredDescriptionDefault
cardsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare read-only and non-destructive behavior; the description adds important context: supplied inputs are not independently verified, calculators fetch no quotes, trade-ticket creates no order or approval, and approval URLs must come from existing tool results. It also discloses hypothetical assumptions and null/empty-data behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a very long, dense wall of text with repeated caveats and a purpose that is not front-loaded; much of the content could be structured or moved to schema descriptions. Complexity justifies some length, but this is not concise and is hard to scan.

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 complex multi-card renderer with no output schema, the description covers return behavior, safety, data-quality rules, and most important card-specific constraints. Minor nested schema semantics remain undocumented, but an agent can call it correctly.

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?

With 0% schema description coverage, the description compensates by documenting the top-level cards array, required wrapper fields, details placement, per-card required arrays, percent ratio encoding, and asOf formatting. It does not fully enumerate every nested field or enum, but it adds substantial meaning 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?

The description states that the tool renders an approved visual family/panel inside chat and returns a text summary plus link, and it explicitly distinguishes this from account, holdings, and analysis tools. The verb ('render'/'show') and resource (trading research, options, and broker cards) are specific enough for sibling selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use and when-not-to-use guidance, naming run_data_analysis, show_bot_activity, show_account_overview, and show_holdings, plus detailed per-card selection rules. It also forbids using risk-budget or watchlist for account P&L/holdings, so an agent can route correctly.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.