Skip to main content
Glama
INo-xious

stockbit-mcp

by INo-xious

alert_check

Read-only

Evaluate stored alert rules against current Stockbit bars, reporting which fire while preventing duplicate fires. Distinguishes false conditions from rules still warming up.

Instructions

Evaluate stored alert rules against current Stockbit bars and report which fired. Fetches only the symbols with rules, and only as much history as the slowest indicator needs. A rule that fires is recorded so it does not fire again for the same bar. reason on a rule that did not fire distinguishes 'condition-false' from 'warming-up' — the second means the comparison could not be made, which is NOT the same as a no. It covers two situations: not enough history yet, which more bars fix; or an operand the SERIES DOES NOT CARRY — a response can omit volume, and where a bar is missing it the value is absent rather than zero. The second never resolves by waiting, however much history arrives, because the field is not in the payload. Check volume is present on the bars before widening the window.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolNoOnly check rules for this ticker
dry_runNoEvaluate without recording fires, so a check can be repeated. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.2.2

TDQS

A3.5/5.0
Behavior1/5

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

The annotations declare readOnlyHint=true, yet the description states 'A rule that fires is recorded so it does not fire again for the same bar' and describes dry_run as 'Evaluate without recording fires.' This directly contradicts the read-only claim and indicates a state-changing side effect.

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 core action is front-loaded in the first sentence, and the later caveats about reason, warming-up, and missing volume are substantive rather than filler. It is longer than necessary but each part contributes to correct interpretation of results.

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?

With no output schema, the description does a good job of explaining the tricky reason semantics and the volume-missing situation, and it makes the optional parameters understandable. It still does not describe the full response shape (how fired rules are identified), but the essential invocation and interpretation guidance is present.

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 coverage is 100% and both parameters already have clear descriptions ('Only check rules for this ticker' and dry_run's explanation). The body of the tool description adds useful behavior context but no additional parameter-level syntax or formatting detail, so the baseline score 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?

The opening sentence states a specific action — 'Evaluate stored alert rules against current Stockbit bars and report which fired' — and clearly identifies the resource. This sets it apart from sibling alert_list, alert_create, and alert_delete, which manage rule definitions rather than execute checks.

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 clear context on when to call this tool: to evaluate stored rules and see which fired, with optional symbol scoping and dry_run behavior. It does not explicitly name alternatives or state when not to use it, but the purpose sentence makes the use case unambiguous.

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