Skip to main content
Glama

Alert me at a price

set_price_alert

Tell the person when a coin's price reaches a level: one message (Telegram, the event stream and webhooks get a price.alert event), then the alert is done. Use when the user asks to be told or woken at a price, instead of polling prices. Not an order: nothing is traded (for an order that waits for a price use preview_order with trigger_price). Inputs: symbol, price, optional direction (default: from the current price) and venue. At most 20 wait at once. Needs only the read scope, since an alert never trades. Next: get_my_price_alerts.

Input Schema

NameRequiredDescriptionDefault
priceYesThe price level, USD per coin
venueNoOptional: watch one exchange's mark. Omitted: the reference price (median of the exchanges' marks)
symbolYesBase coin, e.g. BTC
directionNoFire when the price is at or above / at or below the level. Omitted: from the current price (a level above it fires on the way up)

Output Schema

NameRequiredDescriptionDefault
priceYesThe level, USD per coin
venueYesThe exchange whose mark is watched; null: the reference price (median of the exchanges' marks; on the sandbox deployment the sandbox's real-market price)
statusYesactive (waiting), triggered (fired once, done) or deleted
symbolYesBase coin
alert_idYesAlert id, alr_…
directionYesabove: fires when the price is at or above the level; below: at or below
created_atYesISO 8601 UTC
created_byYesThe agent that created it, or person
deprecationNoPresent only while this tool is deprecated: replacement, removal_date, changelog
triggered_atNoWhen it fired, ISO 8601 UTC
current_priceNoOn creation: the price it is compared with now, USD per coin
triggered_priceNoThe price that fired it, USD per coin

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed41 schema fields changed
    • removedInput schema / properties / direction / anyOf
      Removed value: -[
      -  {
      -    "enum": [
      -      "above",
      -      "below"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / direction / default
      Removed value: -null
    • addedInput schema / properties / direction / enum
      Added value: +[
      +  "above",
      +  "below"
      +]
    • removedInput schema / properties / direction / title
      Removed value: -"Direction"
    • addedInput schema / properties / direction / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / price / title
      Removed value: -"Price"
    • removedInput schema / properties / symbol / title
      Removed value: -"Symbol"
    • removedInput schema / properties / venue / anyOf
      Removed value: -[
      -  {
      -    "maxLength": 20,
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / venue / default
      Removed value: -null
    • addedInput schema / properties / venue / maxLength
      Added value: +20
    • removedInput schema / properties / venue / title
      Removed value: -"Venue"
    • addedInput schema / properties / venue / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / title
      Removed value: -"set_price_alertArguments"
    • removedOutput schema / properties / alert_id / title
      Removed value: -"Alert Id"
    • removedOutput schema / properties / created_at / title
      Removed value: -"Created At"
    • removedOutput schema / properties / created_by / title
      Removed value: -"Created By"
    • removedOutput schema / properties / current_price / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / current_price / default
      Removed value: -null
    • removedOutput schema / properties / current_price / title
      Removed value: -"Current Price"
    • addedOutput schema / properties / current_price / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • addedOutput schema / properties / deprecation / additionalProperties
      Added value: +true
    • removedOutput schema / properties / deprecation / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": true,
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / deprecation / default
      Removed value: -null
    • removedOutput schema / properties / deprecation / title
      Removed value: -"Deprecation"
    • addedOutput schema / properties / deprecation / type
      Added value: +[
      +  "object",
      +  "null"
      +]
    • removedOutput schema / properties / direction / title
      Removed value: -"Direction"
    • removedOutput schema / properties / price / title
      Removed value: -"Price"
    • removedOutput schema / properties / status / title
      Removed value: -"Status"
    • removedOutput schema / properties / symbol / title
      Removed value: -"Symbol"
    • removedOutput schema / properties / triggered_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / triggered_at / default
      Removed value: -null
    • removedOutput schema / properties / triggered_at / title
      Removed value: -"Triggered At"
    • addedOutput schema / properties / triggered_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / triggered_price / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / triggered_price / default
      Removed value: -null
    • removedOutput schema / properties / triggered_price / title
      Removed value: -"Triggered Price"
    • addedOutput schema / properties / triggered_price / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / venue / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / venue / title
      Removed value: -"Venue"
    • addedOutput schema / properties / venue / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / title
      Removed value: -"PriceAlert"
  2. Added

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, idempotentHint=false, destructiveHint=false), it discloses that the alert is single-fire and self-terminating, the delivery channels including the 'price.alert' event name, the concurrency cap of 20, and the required read scope. These are exactly the facts an agent cannot infer from the hint flags.

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

Conciseness5/5

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

Front-loaded with the action, then the when/exclusion, then inputs, limits, permissions, and the follow-up tool — each clause carries distinct information. No sentence restates another, and the telegraphic style stays parseable.

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?

For a 4-parameter mutation tool with annotations and an output schema present, the description covers everything an agent needs: what it does, when to pick it over alternatives, side effects, delivery channels, rate limit, and the logical next call. Return values are correctly left to the output schema.

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 documents price, venue, symbol and direction including the default behavior. The description restates the same defaults ('optional direction (default: from the current price) and venue') without adding syntax, units, or edge-case guidance the schema lacks. Baseline 3 applies.

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 — 'Tell the person when a coin's price reaches a level' — and immediately scopes it as a one-shot notification ('one message ... then the alert is done'). It explicitly separates itself from order placement and from polling, so an agent can distinguish it from preview_order and get_my_price_alerts 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 Guidelines5/5

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

Gives a positive trigger ('when the user asks to be told or woken at a price, instead of polling prices'), an explicit exclusion ('Not an order: nothing is traded'), and names the correct alternative for the excluded case ('for an order that waits for a price use preview_order with trigger_price'). Both branches are resolved.

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.

Resources