Skip to main content
Glama

Create an alert rule that posts to a signed webhook

create_alert

Creates an alert rule on the account that owns your API key (it also shows on the account's /alerts page, labelled "created by API key"). Needs an API key (x-api-key). Same kinds and validation as the site. Give the fields the kind needs (price_above/price_below: unit + priceAda; pct_move: unit + window + pct; volume_spike: unit + multiple; whale_trade: minAda (+ unit); wallet_activity: address; new_pool: unit or minLiquidityAda; nft_floor_above/below: policyId + floorAda; others: paramsJson). Deliver to a signed webhook with webhookUrl (public https only; the HMAC secret is returned ONCE, in webhook.secret) or to an existing targetId; with neither the alert stays in the account inbox. Deliveries are JSON POSTs signed with X-Realtap-Signature: t=<unix>,v1=<hex HMAC-SHA256 of "<t>.<body>"> (verify it and refuse a t more than 5 minutes off your clock), retried with backoff. Rules per account are limited by plan, and a key may create 20 rules an hour. The result links the delivery log; use test_alert to try the webhook.

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": {
      "kind": "<kind>"
    },
    "name": "create_alert"
  }
}

Input Schema

NameRequiredDescriptionDefault
pctNopct_move: the size of the move in percent.
kindYesWhat to watch. Use `paramsJson` for kinds that need fields not listed below.
unitNoToken unit: 56-hex policy id followed by the asset name in hex (no separator). Get it from `search` or `list_tokens`.
labelNoA short name for the token / wallet / pool shown in the alert.
drepIdNoDRep kinds: a drep1… id.
minAdaNowhale_trade: smallest single trade in ADA.
poolIdNoStake pool kinds: a pool1… id.
windowNopct_move: the window the move is measured over.
addressNowallet_activity and wallet-based kinds: an addr1… or stake1… address.
floorAdaNonft_floor_above / nft_floor_below: floor price level in ADA.
multipleNovolume_spike: last-hour volume as a multiple of the 24 h hourly average (at least 1.5).
policyIdNoNFT floor kinds: the collection policy id (56 hex).
priceAdaNoprice_above / price_below: the price level in ADA.
targetIdNoDeliver to an existing delivery target of the account instead (see `list_alerts`).
directionNopct_move: which way (default both).both
paramsJsonNoOptional JSON object text with further parameters for the kind (merged with the fields above), e.g. {"types":["TreasuryWithdrawals"]} for gov_new_action.
webhookUrlNoPublic https URL that receives the signed POST. Re-using a URL of the account re-uses its target (no new secret).
cooldownSecsNoSmallest time between two alerts of this rule (default depends on the kind).
webhookLabelNoName for a new webhook target.
minLiquidityAdaNonew_pool: smallest liquidity in ADA (instead of, or with, `unit`).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, it discloses the API-key requirement, one-time HMAC secret return, exact signature header format, retry-with-backoff behavior, per-plan rule limits, and a 20-rules-per-hour key limit. This is unusually rich behavioral context for a write tool.

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 content is front-loaded and every sentence carries useful information for a tool with 20 parameters and 29 kinds. It is a dense paragraph, though, and could be more scannable if the field mappings and delivery details were separated structurally.

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 complex create operation with no output schema, it covers authentication, required conditional fields, delivery target selection, signing, retries, limits, result linkage, and a testing alternative. An agent has enough information to invoke it correctly without guessing.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds conditional cross-field semantics that the schema alone does not fully convey, mapping each alert kind to required fields. It also explains `paramsJson` merging, `webhookUrl` target reuse, and the one-time `webhook.secret` return.

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 opens with a specific verb and resource: creates an alert rule on the account owning the API key. It also distinguishes creation from trying an existing webhook by naming `test_alert`, so an agent can identify the operation without opening the 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?

It gives clear usage context: requires an API key, supports webhook or `targetId` delivery, and falls back to the account inbox. It also points to `test_alert` for trying a webhook, but it does not explicitly discuss when to use `list_alerts` or `delete_alert` instead.

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