Skip to main content
Glama

BotSpot: AI Trading, Backtests and Bots

Buy BotSpot plans, the Bootcamp, credits and add-ons

purchases
Destructive

Buy anything BotSpot sells without leaving the chat. action="options" lists every item with its exact live price. action="prepare" freezes the price and the saved card and charges nothing. action="confirm" asks the person to confirm (in the chat where the app supports it, otherwise a one-click link) and then charges the saved card once and returns the receipt. Without a saved card, or for items such as payment plans and first Light or Starter purchases, prepare points to create_checkout_link instead. Never confirm without the person asking to buy.

Set "action" to choose the operation. Only send the fields listed for that action.

action="options": List what you can buy

No other fields required. Lists everything BotSpot sells right now with exact prices from the live catalog: plans, the AI Bootcamp, AI credit packs and add-ons. Each entry says whether it can be bought in one click with a saved card or opens the checkout page.

action="prepare": Get an exact price and get ready to buy

Required fields: productSlug. Prepares a purchase of one item from purchases(action="options"). With a saved card it returns the exact item, price and card, and nothing is charged yet: then call purchases(action="confirm") so the person can confirm. Without a saved card, or for items that need the checkout page, it returns the checkout link instead. Show the person the exact price before they confirm.

action="confirm": Confirm and pay

Required fields: purchaseId. Asks the person to confirm a prepared purchase and, once they say yes, charges their saved card exactly once and returns the receipt. In apps that support it the confirmation appears right in the chat; otherwise this returns a one-click confirm link. Never call it without the person asking to buy.

action="status": Check a purchase

Required fields: purchaseId. Shows whether a purchase is waiting, paid, canceled or failed, with the receipt.

action="cancel": Cancel a prepared purchase

Required fields: purchaseId. Cancels a purchase that has not been paid yet. Nothing is charged.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action": "<action>"
    },
    "name": "purchases"
  }
}

Input Schema

NameRequiredDescriptionDefault
actionYesWhich operation to run: "options", "prepare", "confirm", "status", "cancel". See the tool description for each one.
planKeyNoNeeded when a product has several plans. Used with action="prepare".
purchaseIdNoFrom purchases(action="prepare"). Used with action="confirm", action="status", action="cancel". Required for action="confirm", action="status", action="cancel".
productSlugNoFrom purchases(action="options"). Used with action="prepare". Required for action="prepare".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

The annotations already mark the tool as destructive and non-idempotent, and the description adds the operational payment details: options and prepare charge nothing, confirm charges the saved card and returns a receipt, cancel only applies before payment, and confirmation may happen in-chat or via a one-click link. This is substantial behavior beyond what the annotations provide.

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?

The description is front-loaded and organized by action, with required fields called out in each section. It is necessarily detailed for a five-action payment tool, though it repeats the confirmation guardrail and some pricing language, so it is not maximally tight.

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 destructive, multi-action payment tool with no output schema, the description covers the full workflow, safety constraint, checkout-link fallback, and what each action returns or changes. The notable gap is the missing planKey instruction in the prepare section, despite the schema documenting it.

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%, so the schema already defines action, productSlug, purchaseId, and planKey. The description adds useful per-action required-field mapping, but it says 'Only send the fields listed for that action' while omitting planKey from prepare even though the schema says planKey is needed when a product has several plans; that is a material gap.

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 opening line states a specific verb and resource: 'Buy anything BotSpot sells without leaving the chat,' and each action section defines a distinct operation. It also distinguishes the saved-card purchase flow from the checkout-link flow, so an agent can tell it apart from create_checkout_link.

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 an explicit workflow: options to list, prepare to freeze price/card without charging, confirm to charge once, plus status and cancel. It also names the alternative path to create_checkout_link when there is no saved card or for payment plans and first Light or Starter purchases, and includes the guardrail 'Never confirm without the person asking to buy.'

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.