Skip to main content
Glama

Get risk movers

get_risk_movers
Read-only

Identify companies whose composite risk score crossed into a new risk band within a chosen lookback, showing prior and current scores and the driving input to spot worsening or improving risk.

Instructions

Companies whose Bullrun composite risk score crossed into a different band (e.g. Elevated -> Stretched, or Acute -> Stretched) within the last N days, with prior and current score, the move in points, and the input driving the reading. Use for "what got riskier this week", "any risk deteriorations I should know about", or to monitor a watchlist (pass the tickers to get_company_risk afterwards). Band changes, not small score drift, so every row changed a word on the page. Read-only.

Input Schema

NameRequiredDescriptionDefault
daysNoLook-back window in days for band changes.
limitNo
directionNoKeep only companies whose composite got worse, got better, or both.all
minMarketCapUsdNoOnly companies with at least this market capitalisation in USD, e.g. 1e9 for $1B+. Without it the list is dominated by micro-caps, whose scores move most.
stableBasisOnlyNotrue (default) = only real movements. false also includes band changes caused purely by a category starting or stopping scoring (coverage changes, flagged basisChanged).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover read-only/no-destruction, so the description correctly focuses on semantics: it explains that rows represent band crossings rather than drift, and that default behavior suppresses movements caused purely by coverage changes (stableBasisOnly). It omits pagination/limit behavior and what happens when more movers exist than the limit allows, which is the main remaining gap.

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 definition and returned fields come first, followed by usage triggers and the band-vs-drift caveat. It is somewhat long with a parenthetical example and a quoted-phrase list, but each clause carries real routing value rather than filler.

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 the necessary work by naming the returned fields (prior/current score, point move, driving input). It does not cover result-set size limits or ordering, which matters for a ranked list tool with a limit parameter, so it falls just short of complete.

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 80%, so days, direction, minMarketCapUsd and stableBasisOnly are already documented with rationale in the schema. The description adds little parameter-specific detail beyond restating the N-day window; the micro-cap and coverage-change caveats live in the schema, not the description, so the 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?

The description names a specific resource (companies whose Bullrun composite risk score crossed a band) and a specific scope (last N days), then enumerates exactly what each row contains. It is clearly separable from siblings: get_company_risk is single-name, screen_risk_board is a filter board, and the description explicitly routes to get_company_risk as the follow-up step.

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 concrete user-intent triggers ("what got riskier this week", "risk deteriorations", watchlist monitoring) plus the downstream pattern of passing tickers to get_company_risk. It also states the rejection criterion — band changes only, not small score drift — which tells the agent when this tool is the wrong choice.

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