Skip to main content
Glama

Get drift alerts

get_drift_alerts
Read-only

Portfolio-wide drift scan. Iterates Decision Records, calls score_position_drift on each, returns flagged positions with severity + why_flagged + review_questions. Flag types: drift_severe (review_now), drift_meaningful (deteriorated), fit_low_structural (score ≤2 but unchanged since entry — low by design, not decay), fit_low_decayed (score ≤2 AND below entry fit — deteriorated after entry), conviction_gap (|gap| ≥3), thesis_undocumented (entry_date or thesis missing). Backs Chapter 4 Mode 4.3 (Thesis Status Sweep) as the portfolio-wide drift scan; flagged names feed a Mode 4.2 (Position Retrospective).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
portfolioYesArray of Decision Records — one per position the user wants scanned

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
alertsNo
as_of_dateNo
terms_glossaryNo
staleness_flagsNo
total_positionsNo
flagged_positionsNo
positions_without_recordsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / additionalProperties
      Previous value: -falseNew value: +true
    • addedOutput schema / properties / terms_glossary
      Added value: +{
      +  "anyOf": [
      +    {
      +      "anyOf": [
      +        {
      +          "not": {}
      +        },
      +        {
      +          "additionalProperties": true,
      +          "properties": {},
      +          "type": "object"
      +        }
      +      ]
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and destructiveHint, so the description carries the load for behavior. It discloses that the tool iterates Decision Records, calls score_position_drift per record, returns specific fields, and explains the nuanced semantics of each flag type (e.g., fit_low_structural is low by design, not decay). This far exceeds what annotations provide and adds no contradictions.

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?

The description is dense but every sentence earns its place: the first sentence front-loads the core purpose and return values, and the flag-type list provides essential interpretation context. No filler or redundancy; the structure makes a complex behavioral contract digestible.

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 read-only scanner with an output schema, the description is complete: it explains the input (portfolio of Decision Records), the process (iterating and scoring), the output semantics (flag types and accompanying fields), and the operational context (backing Mode 4.3 and feeding Mode 4.2). Nothing critical for correct invocation or interpretation is missing.

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% and the schema already defines portfolio as an array of Decision Records with field-level descriptions. The description adds some contextual meaning by saying it iterates and calls score_position_drift, but the parameter semantics themselves are largely already documented in the schema, 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 states a specific verb ('portfolio-wide drift scan'), a clear resource (Decision Records), and the output (flagged positions with severity + why_flagged + review_questions). It also enumerates the exact flag types, making the tool's function unambiguous and easily distinguishable from its sibling score_position_drift.

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 clearly frames this as the portfolio-wide scan and references Mode 4.3 (Thesis Status Sweep) as its use case, plus mentions it calls score_position_drift on each record, implying the single-position alternative. However, it does not explicitly state 'use score_position_drift for a single position' or provide a when-not-to-use exclusion, so it stops short of a 5.

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