Skip to main content
Glama
FerroxLabs

TVControl

by FerroxLabs

alert_create_bulk

Create price alerts for multiple symbols or an entire watchlist in a single call, setting per-symbol levels as a percentage from live price and optionally sending alerts to a webhook.

Instructions

Create price alerts across MANY symbols, or the whole watchlist, in one call. Does NOT touch the chart. Each alert can carry a webhook URL so every fire posts to your own endpoint instead of your inbox. Use percent_from_last to set a level per symbol from its live price, which is the only thing that makes sense across a mixed watchlist.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
priceNoOne fixed level for every symbol. Give this OR percent_from_last, not both.
dry_runNoCompute every level and return the plan without creating anything. Do this first on a large set.
messageNoAlert text. Supports TradingView placeholders: {{ticker}}, {{close}}, {{time}}, {{exchange}}, {{interval}}. This is the payload your webhook receives.
symbolsNoExchange-prefixed symbols. OMIT to use every symbol in the active watchlist (section headers are skipped).
conditionNocrossing, greater_than, or less_thancrossing
frequencyNoon_bar_close keeps watching; on_first_fire stops after one trigger.on_bar_close
resolutionNoSeries the condition is evaluated on: 1, 5, 15, 60, 240, D, W, M.60
webhook_urlNohttp(s) URL that every alert in this batch posts to when it fires.
expiration_daysNo
percent_from_lastNoLevel per symbol as a percent from its live price, e.g. 5 for 5%% above, -3 for 3%% below. Quotes for the whole set are fetched in one request.
Behavior3/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It discloses that webhook URLs redirect alert posts, that quotes are fetched in one request for the whole set, and that the tool avoids chart interactions. However, it doesn't mention error handling, rate limits, or what happens if some symbols fail, leaving some uncertainty for a bulk operation.

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 concise, front-loading the core action and scope in the first sentence. Subsequent sentences efficiently address key behavioral aspects (webhook, percent_from_last) without redundancy. It avoids unnecessary detail and remains focused on what an agent needs to know before invoking the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a bulk-alert tool with 10 parameters and no output schema, the description covers primary use cases and parameter selection guidance. However, it omits potential pitfalls like partial failures, idempotency, or how results are returned (e.g., whether created alerts are listed). Given the complexity, a bit more context would improve completeness, though the schema fills many gaps.

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 description coverage is 90%, so the baseline is 3, but the description adds meaningful context beyond the schema. It explains the price vs. percent_from_last trade-off, describes webhook functionality, and clarifies that percent_from_last is per-symbol based on live prices. This supplemental information helps agents choose parameters correctly.

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 clearly states the tool's purpose: creating price alerts across many symbols or the whole watchlist in one call. It distinguishes itself from the singular alert_create sibling by emphasizing 'MANY symbols' and explicitly notes it does not touch the chart, making the function's scope unambiguous.

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?

The description gives practical guidance on parameter selection, notably advising percent_from_last as the only sensible approach for a mixed watchlist. It also clarifies the tool is for bulk operations, implicitly steering single-alert needs to alert_create, though it doesn't explicitly name the alternative. The 'Does NOT touch the chart' note further contextualizes use cases.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/FerroxLabs/tvcontrol'

If you have feedback or need assistance with the MCP directory API, please join our Discord server