Skip to main content
Glama

Server Details

Live macro data for AI agents: regime, conditions, liquidity, with input provenance. No signup.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.7% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 22 tools

Disambiguation5/5

Each tool maps to a distinct resource or action: current reads, historical series, chapter framework, portfolio drift, and data health. Even closely related tools like get_financial_conditions and get_conditions_history are clearly separated by point-in-time vs timeseries, with explicit cross-references.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (get_, list_, run_, score_). The verbs are semantically meaningful and applied uniformly, creating a predictable and scannable surface.

Tool Count3/5

At 22 tools, the set sits in the heavy range for an MCP server. While each tool appears purposeful for covering macro data, framework chapters, and portfolio drift, the count is borderline and could start to tax an agent's selection.

Completeness4/5

The surface is comprehensive for the Jawz domain: current reads, histories, data health, event calendar, ETF look-through, price resolution, and drift scoring. Minor gaps exist (e.g., no explicit tool for user portfolio listing), but the core workflows are well covered.

Available Tools

22 tools
get_chapterGet chapterA
Read-only
Inspect

Fetch the full content of a chapter by loop slug and node. Loops not marked open require entitlement; every published loop is currently open and free. Does not log an invocation; run_chapter is the variant that runs the framework and logs.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeYesChapter node
loop_slugYesLoop slug

Output Schema

ParametersJSON Schema
NameRequiredDescription
nodeNo
titleNo
contentNo
versionNo
loop_slugNo
loop_titleNo
author_nameNo
terms_glossaryNo

TDQS

A4.7/5.0
Behavior5/5

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

The annotations already mark the operation as read-only and non-destructive, and the description adds further behavioral context: it does not log invocations, entitlement is required for non-open loops, and all published loops are currently open and free. This goes meaningfully beyond the structured annotations.

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?

Three concise sentences, each carrying distinct value: the action, the entitlement caveat, and the logging distinction from run_chapter. No filler or redundant restatement of the schema.

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 two-parameter read-only tool with an output schema, the description covers the essential context: what is fetched, how chapters are identified, entitlement rules, and the relationship to the logging variant. Nothing critical 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?

The input schema already covers both parameters fully, including an enum for node with descriptions. The description repeats 'loop slug and node' but adds no additional semantic detail, so the baseline of 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?

Description uses a specific verb ('Fetch') with a clear resource ('full content of a chapter') and identifies the two required identifiers ('loop slug and node'). It also distinguishes itself from run_chapter and get_loop by framing chapter-level content retrieval.

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?

Explicitly states when the tool is appropriate: fetching chapter content without logging an invocation. It names run_chapter as the alternative for running the framework and logging, and mentions entitlement conditions. This gives clear routing guidance.

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

get_china_liquidityGet China liquidityA
Read-only
Inspect

Read the latest Mako-curated PBoC balance-sheet publication (CNY trillions + source URL + as_of_month + note). Public read — suitable for surfacing directly when explaining the China leg of global liquidity. The same value is also embedded in get_financial_conditions.pillars.global_liquidity.components.china; this tool exists for direct/auditable access.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
rowNo
statusNo
terms_glossaryNo

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations by calling it a 'Public read' and indicating the data is Mako-curated and auditable, which helps the agent understand access and provenance.

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?

Two compact sentences, with the core purpose first and the sibling distinction second. There is no redundant wording, and the parenthetical field list efficiently conveys the return contents without bloating the description.

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 zero-parameter read-only tool with an output schema present, the description fully covers purpose, access level, data provenance, and the relationship to a sibling tool. Nothing needed for correct invocation or selection is missing.

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?

The tool has zero parameters and schema description coverage is 100%, so the baseline of 4 applies. The description adds no parameter confusion and even lists output fields ('CNY trillions + source URL + as_of_month + note'), which indirectly clarifies what the no-argument call returns.

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 uses a specific verb ('Read') and a specific resource ('latest Mako-curated PBoC balance-sheet publication'), then enumerates the contained fields. It also distinguishes itself from get_financial_conditions by noting the same value is embedded there, which prevents confusion among siblings.

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?

The description explicitly states when to use this tool ('suitable for surfacing directly when explaining the China leg of global liquidity') and names the alternative path (get_financial_conditions.pillars.global_liquidity.components.china) with the reason to prefer this tool ('direct/auditable access'). This is clear routing guidance.

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

get_conditions_historyGet conditions historyA
Read-only
Inspect

Financial-conditions read-history — a timeseries of how conditions have moved over recent weeks. Returns one row per sample date with the composite (loose/neutral/tight), direction (easing/stable/tightening), and every pillar's value + class: 10Y real yield, HY/IG credit spreads, DXY, VIX, global-liquidity class. The rate legs behind the real yield are exposed numerically too (dgs10_pct, t10yie_pct, t5yie_pct, t10y2y_pct), so a real-yield move can be read as nominal-led or breakeven-led rather than only as a fused number. Completes the Chapter 1 history trio with get_regime_history (the judgment) and get_liquidity_history (the flow) — this is the price of risk. Surfaces trajectory that a point read hides (e.g. HY spreads widening for six straight weeks while VIX stays calm), and grounds 'conditions are tightening' statements in observed pillar changes. Window deltas per pillar are in 'summary.deltas'; composite/direction/pillar classification changes are listed as events. The response includes a 'presentation' object whose 'display_markdown' is a pre-formatted table; 'data.rows' and 'summary' carry the same values structured. Rows are provenance-tagged 'observed' (live that day, true vintage) or 'reconstructed' (point-in-time from vintage data — each series as it was published on that date, ~4 months deep). Defaults to the last 12 weeks, weekly.

ParametersJSON Schema
NameRequiredDescriptionDefault
intervalNoSample cadence (default weekly)
lookback_weeksNoHow many weeks of history to cover (default 12, clamped 1–52)

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
toolNo
statusNo
summaryNo
warningsNo
generated_atNo
presentationNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description fully aligns by calling itself a read-history. It adds valuable behavioral detail beyond annotations: provenance tags ('observed' vs 'reconstructed'), default windows, response structure with presentation/display_markdown, event/delta summaries, and the distinction between point-in-time and live data.

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 dense but every clause contributes: return contents, rate-leg nuance, tool differentiation, use-case motivation, response layout, and provenance. It could be trimmed slightly without losing meaning, but it is well organized and front-loaded with the core purpose before diving into details.

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?

Despite having an output schema, the description still explains the response's important structural aspects: presentation.display_markdown, data.rows, summary.deltas, events, and provenance tags. It also covers defaults, depth, and interpretation guidance, making the tool fully callable and interpretable by an agent with no prior context.

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%, so the description carries no heavy burden for parameter meaning. It reinforces defaults ('Defaults to the last 12 weeks, weekly') already present in the schema, and adds no new parameter-level semantics beyond what the schema documents.

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: 'Financial-conditions read-history — a timeseries of how conditions have moved over recent weeks.' It enumerates exactly what is returned (composite, direction, pillar values, rate legs), and differentiates itself from sibling history tools by positioning itself as 'the price of risk' alongside get_regime_history and get_liquidity_history.

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 usage context: it is the historical complement to point-in-time reads, and it names sibling history tools and their distinct purposes ('the judgment' vs 'the flow'). It does not explicitly name a point-read alternative or state when NOT to use it, so guidance is strong but slightly implicit.

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

get_data_healthGet data healthA
Read-only
Inspect

Freshness status for every data source Jawz reads: per-source release date, latest observation date, expected cadence, age in days, and whether any source is stale or unavailable. Also reports whether the ingestion pipeline is keeping up, and carries plain-language notices when a scheduled update has not arrived. Applies when the reliability of a figure depends on how current its underlying data is.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
as_ofNo
cronsNo
noticesNo
sourcesNo
any_staleNo
collectorNo
terms_glossaryNo
any_unavailableNo
china_release_alertNo
umich_release_alertNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral detail: it reports pipeline health, staleness, unavailability, and plain-language notices for missed scheduled updates, which goes beyond a generic 'get status' phrasing. No contradictions with annotations.

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 rich but every sentence earns its place: the first defines the resource and its contents, the second adds pipeline and notice behavior, the third clarifies when to use it. It is front-loaded with the most identifying phrase and contains no filler or tautology.

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?

With no parameters, a read-only annotation, and an existing output schema, the description fully covers what an agent needs: what is returned, the scope ('every data source'), and the decision context. Nothing essential is missing for correct invocation.

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?

There are zero parameters and the schema is empty, so the description has no parameter burden. The description instead explains what the output covers, which is the relevant semantic content for a no-argument health-check tool. The no-parameters baseline of 4 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 concrete resource ('Freshness status for every data source Jawz reads') and a specific verb/action implied by reporting status. It enumerates concrete artifacts (per-source release date, latest observation date, expected cadence, age in days) that clearly distinguish it from sibling data-retrieval tools. The 'Applies when...' clause further anchors its purpose.

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 an explicit applicability condition: use when the reliability of a figure depends on how current its underlying data is. It does not explicitly contrast with sibling tools or name when not to use it, but the stated context is enough to guide selection among the many get_* siblings.

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

get_drift_alertsGet drift alertsA
Read-only
Inspect

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).

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
alertsNo
as_of_dateNo
terms_glossaryNo
staleness_flagsNo
total_positionsNo
flagged_positionsNo
positions_without_recordsNo

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.

get_etf_profileGet ETF profileA
Read-only
Inspect

ETF look-through for Chapter 2 Mode 2.2 (Concentration Check). Given ETF ticker(s), returns each fund's top holdings with weights so the AI can overlay them with the user's direct positions and surface hidden single-name concentration. Each profile carries source='live' (Vanguard API, fresh) or source='catalog' (dated snapshot — see as_of). Holdings are TOP-N only, so any true-exposure figure computed from this is a floor, not exact. Bond and commodity ETFs return no holdings by design. Tickers not in the catalog come back in unknown_tickers; their contents are not known to Jawz and no holdings are returned for them.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickersYesETF ticker symbols to look through (e.g. ['QQQ','VGT','SPY'])

Output Schema

ParametersJSON Schema
NameRequiredDescription
coverageNo
guidanceNo
profilesNo
requestedNo
data_sourcesNo
terms_glossaryNo
unknown_tickersNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations mark this as read-only and non-destructive, and the description adds substantial behavioral context beyond that: data can be 'live' or a dated 'catalog' snapshot, holdings are TOP-N so exposure is a floor, bond/commodity ETFs return no holdings by design, and unknown tickers are surfaced in unknown_tickers. This is rich, accurate, and non-contradictory.

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?

Four sentences, each carrying distinct value: the use case, the source/data freshness distinction, the TOP-N limitation, and edge-case behavior. The most important information is front-loaded and the description is efficient without being terse.

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 tool with a single parameter and an output schema, the description covers the essential operational details: purpose, data provenance, freshness semantics, coverage limitations, and unknown-ticker behavior. Nothing critical is missing for an agent to invoke and interpret the tool correctly.

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?

The schema already documents the sole parameter (tickers) with examples, so the baseline is 3. The description adds meaningful semantic value by explaining how unknown tickers are handled, that only top-N holdings are returned, and that certain ETF types yield no holdings—all directly relevant to using the parameter 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 identifies the tool's function: ETF look-through that returns top holdings and weights for concentration checks. It distinguishes itself from the broad set of sibling 'get_' tools by specifically targeting Chapter 2 Mode 2.2 and by explaining why it exists.

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 explicit usage context: this is for the Concentration Check in Chapter 2 Mode 2.2, and explains how the AI should use it to overlay holdings with direct positions. It does not explicitly name alternatives or when-not-to-use, but the context is strong and no sibling tool competes directly.

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

get_event_calendarGet event calendarA
Read-only
Inspect

Scheduled US macro events (FOMC + CPI + NFP + PCE) with dates and consensus. Consensus values are Mako-curated and arrive with provenance (source, source_url, published_at, age_days). An event with no curated consensus carries consensus: null, which means the value is not published rather than zero. Mode 1.2 covers the qualitative-scenario path for events whose consensus is not published. consensus_metrics_expected lists the metric keys a complete consensus would carry for that event type. Market-implied pricing (what_is_priced / CME FedWatch) is a separate quantity and remains deferred. COVERAGE: only fomc, cpi, nfp and pce have dates in this calendar. ecb, boj and boe are accepted for consistency with the consensus vocabulary but carry NO dates, so filtering to them returns an empty list and says so in staleness_flags — that is 'not tracked here', never 'none is scheduled'. Coverage also runs to a fixed last date; a window past it is flagged rather than silently short.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_typesNoFilter by event types (default: fomc, cpi, nfp, pce). Only those four carry dates; ecb/boj/boe return empty with a staleness flag.
lookahead_daysNoHow many days forward to look (default 14)

Output Schema

ParametersJSON Schema
NameRequiredDescription
as_ofNo
eventsNo
data_sourcesNo
terms_glossaryNo
staleness_flagsNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds substantial behavioral detail: consensus: null means unpublished rather than zero, results carry provenance fields, unsupported event types return empty lists with a staleness flag rather than silence, and coverage ends at a fixed date with a flag. No contradiction exists.

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 long but information-dense, with the core purpose front-loaded in the first sentence. Some redundancy with the schema and heavy use of caveats make it less crisp, but each behavioral note earns its place given the tool's edge cases.

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?

With an output schema present, the description covers the non-obvious behavioral context: null consensus semantics, provenance fields, fixed coverage horizon, unsupported event types, and deferred pricing. An agent has enough context to invoke the tool correctly and interpret surprising empty or flagged results.

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%, so the schema already documents both parameters and defaults. The description reinforces event_types semantics and explains the empty-list behavior, but adds little new meaning for lookahead_days. Baseline 3 is appropriate because the schema carries the parameter documentation burden.

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 and resource: getting scheduled US macro events (FOMC, CPI, NFP, PCE) with dates and consensus. It clearly differentiates the tool through explicit coverage constraints, so an agent understands what this calendar does and does not contain.

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 does not name sibling alternatives, but it gives clear selection guidance by specifying which event types are tracked and which are accepted-but-empty, and by noting that market-implied pricing is a separate deferred quantity. This tells an agent when to expect meaningful results and when not to use the tool.

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

get_financial_conditionsGet financial conditionsA
Read-only
Inspect

Full financial conditions read: global liquidity (Fed + ECB + BoJ central-bank balance sheets, FX-converted to USD; PBoC included when a fresh Mako-curated publication is available — basis 'g4' vs 'g3'), real yields, HY/IG credit spreads, DXY, VIX. US net liquidity is retained as a sub-component. Returns composite + direction + per-pillar classifications + drivers. The scope and scope_note fields tell you whether the read is G4 or G3, and the China sub-component carries Mako-curated provenance (as_of_month, source_url, note). Pass summary_only:true for the lightweight one-line read used in regime composition.

ParametersJSON Schema
NameRequiredDescriptionDefault
summary_onlyNoIf true, return composite + direction + one-line driver only

Output Schema

ParametersJSON Schema
NameRequiredDescription
as_ofNo
scopeNo
driversNo
pillarsNo
compositeNo
directionNo
scope_noteNo
data_sourcesNo
terms_glossaryNo
staleness_flagsNo

TDQS

A4.5/5.0
Behavior5/5

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

The annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds substantial behavioral context beyond that: conditional PBoC inclusion, G4 vs G3 basis, US net liquidity sub-component, and Mako-curated provenance fields. This gives an agent a realistic picture of how the result may vary by data availability without contradicting the annotations.

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: it lists components, explains conditional behavior, states the return shape, clarifies scope fields, and gives parameter guidance. It is front-loaded with the core purpose and packs necessary nuance without filler.

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 read tool with one optional parameter and an output schema, this description is complete. It explains the data composition, the G4/G3 conditional logic, provenance reporting, the composite/driver return shape, and the summary_only behavior. Nothing critical is missing for an agent to invoke it correctly.

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?

The schema already documents summary_only with 100% coverage, so the baseline is 3. The description adds value by explaining why summary_only matters as the lightweight one-line read used in regime composition, and by contrasting it with the full read. This is useful contextual semantics beyond the schema's boolean definition.

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 and resource: a 'full financial conditions read' encompassing liquidity, yields, spreads, DXY, and VIX. It goes well beyond the title by enumerating exact components and the G4/G3 distinction, making it clearly distinguishable from financial siblings like get_china_liquidity and get_macro_regime.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context on when to use the lightweight summary variant ('used in regime composition'), but it does not explicitly say when to prefer this tool over related siblings or when not to use it. Usage context is implied by the feature description rather than explicitly carving out alternatives.

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

get_growth_indicatorsGet growth indicatorsA
Read-only
Inspect

Growth pillar indicators: industrial production (ISM proxy), consumer sentiment, yield curve, initial claims, plus the Atlanta Fed GDPNow nowcast of the quarter in progress. GDPNow carries its own reference_quarter, the publication date of the estimate, and the previous estimate of the SAME quarter, so its direction of travel is readable; it is reported, not scored, so it does not move the classification. When no estimate is on file the block reports status: unavailable and says so in staleness_flags — not published, which is not the same as zero. Returns classification (green/yellow/red).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
as_ofNo
gdpnowNo
data_sourcesNo
classificationNo
terms_glossaryNo
staleness_flagsNo
ism_manufacturingNo
leading_indicatorsNo
consumer_sentiment_umcsentNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows it's safe. The description adds behavioral nuance: GDPNow is reported, not scored, and does not affect classification; missing data yields status 'unavailable' in staleness_flags, which is distinct from zero. These are valuable behavioral details beyond the annotation hints.

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 compact yet information-dense. It front-loads the indicator list, then explains the GDPNow quirk and the unavailable status. Every sentence adds value, and there is no redundant or filler content. The structure is logical: main content first, then edge cases.

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 parameterless read-only tool with an output schema (signaled), the description covers the returned indicators, the classification, and the special handling of GDPNow and missing estimates. Nothing an agent needs to decide whether to call it or interpret results is missing, given the output schema presumably provides field structure.

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?

The tool has zero parameters, and the schema coverage is trivially 100%. There are no parameter descriptions needed. Per the rubric, a baseline of 4 is appropriate when there are no parameters, and the description does not need to add parameter semantics.

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 exactly what the tool returns: a specific set of growth indicators (industrial production, consumer sentiment, yield curve, initial claims, GDPNow) and a classification. This is specific and distinguishes it from siblings like get_inflation_indicators, which are not mentioned but clearly different. The verb 'returns' is implied but the resource is precisely enumerated.

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 implies usage for growth-pillar analysis by naming the indicators, and the sibling list confirms alternatives exist. It does not explicitly say 'use this for growth questions, not for inflation' but the content makes the appropriate context clear. There is no explicit exclusion or alternative routing, but the specificity compensates.

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

get_inflation_indicatorsGet inflation indicatorsA
Read-only
Inspect

Inflation pillar indicators: headline + core CPI, headline + core PCE (YoY and MoM), 5Y/10Y breakevens, wage growth. Returns classification (supportive/neutral/headwind).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
cpiNo
pceNo
as_ofNo
breakevensNo
wage_growthNo
data_sourcesNo
classificationNo
terms_glossaryNo
staleness_flagsNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context by stating that the tool returns a classification (supportive/neutral/headwind), which is not derivable from structured fields alone.

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?

Two sentences deliver a scannable list of contents and a note on the returned classification. Every word earns its place, and the key scope phrase 'Inflation pillar indicators' is front-loaded.

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?

For a zero-parameter, read-only retrieval tool with an output schema, the description covers the input context and return behavior sufficiently. It does not explain classification semantics or data vintage/caveats, but the output schema likely covers return structure and the annotations cover safety.

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?

The tool has zero parameters, so the schema provides no parameter semantics to cover. The description meaningfully fills the void by enumerating exactly which indicators are included, which is the relevant information for invoking this no-arg tool.

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-and-resource purpose: get inflation pillar indicators. It enumerates concrete sub-indicators (CPI, PCE, breakevens, wage growth), distinguishing it from siblings like get_growth_indicators and get_financial_conditions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when inflation data is needed and names the exact coverage, but it does not explicitly state when to prefer this tool over alternatives or when not to use it. No exclusions or alternatives are named, so the guidance is clear but implicit.

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

get_liquidity_historyGet liquidity historyA
Read-only
Inspect

Global-liquidity read-history — a timeseries of central-bank liquidity over recent weeks. Returns one row per sample date with the full decomposition (Fed / ECB / BoJ / PBoC in USD trillions), the active basis (g4/g3/us_fallback), and the supportive/neutral/draining classification, plus coverage (basis) changes, China-leg publication steps, and classification changes as events. History companion to get_financial_conditions (Chapter 1 Mode 1.5 Global Liquidity Read). Reading note, enforced by the artifact: when the basis flips g4↔g3 (China PBoC publication freshness), the headline total moves by the ~$7T China component, which is a coverage change rather than a liquidity move. The window trend is therefore computed on constant G3 basis, and every basis flip is listed with an explicit note. A China-leg publication step is a DIFFERENT event and is reported separately: PBoC publishes monthly ~15 days in arrears, so on the day a new statement is recorded the PBoC leg absorbs a whole month of balance-sheet change (plus FX) in one step — real change, but not change that happened on that date, and not the same thing as a coverage flip. The response includes a 'presentation' object whose 'display_markdown' is a pre-formatted table; 'data.rows' and 'summary' carry the same values structured. Rows are provenance-tagged 'observed' (live that day, true vintage) or 'reconstructed' (point-in-time from vintage data — each series as it was published on that date, ~4 months deep). Defaults to the last 12 weeks, weekly.

ParametersJSON Schema
NameRequiredDescriptionDefault
intervalNoSample cadence (default weekly)
lookback_weeksNoHow many weeks of history to cover (default 12, clamped 1–52)

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
toolNo
statusNo
summaryNo
warningsNo
generated_atNo
presentationNo

TDQS

A4.6/5.0
Behavior5/5

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

The description goes far beyond the readOnlyHint annotation. It explains subtle behaviors: the basis flip (g4↔g3) that changes the headline total, the China-leg publication step that causes a one-time jump, and the provenance tagging (observed vs reconstructed). It also discloses the response structure (presentation object with display_markdown, data.rows, summary), making the tool's behavior fully transparent. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely verbose, with repetitive explanations about basis flips and China-leg steps that appear multiple times (e.g., 'Reading note, enforced by the artifact' and then again in the same paragraph). While each sentence adds some nuance, the redundancy and long, clause-heavy sentences could be trimmed for clarity. It is structured logically, but not concise.

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?

Given the complexity of the data (vintage handling, basis flips, provenance), the description covers all necessary context: what the data represents, how it's structured in the response (presentation, data.rows, summary), edge cases (China publication step), and defaults. The output schema is described in the prose, so an agent knows exactly what to expect. No gaps remain.

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?

Both parameters (interval, lookback_weeks) have descriptions in the schema, and the tool description adds crucial semantics: defaults, clamping (1–52), and how interval affects the sample cadence. This is high added value beyond the schema, which only lists enums and basic types. The coverage is 100%, and the description enriches both parameters meaningfully.

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 this is a read-only history of global liquidity, returning a timeseries with specific components (Fed/ECB/BoJ/PBoC, basis, classification). It explicitly names the sibling tool get_financial_conditions as its 'companion', distinguishing it as the historical counterpart. The verb 'get' plus the resource 'liquidity_history' leaves no ambiguity about its function.

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 provides strong usage context by naming get_financial_conditions as the current-day counterpart and specifying the default period (last 12 weeks, weekly). It also explains the data provenance (observed vs reconstructed) and the handling of basis flips, which helps an agent decide when to call it. However, it does not explicitly state 'use this when you need historical liquidity data' or contrast with other history tools like get_conditions_history, so a small gap remains.

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

get_loopGet loopA
Read-only
Inspect

Get metadata and chapter manifest for a loop by slug. Returns loop info and the list of chapter nodes with titles — no chapter content. All active loops are navigable by anyone.

ParametersJSON Schema
NameRequiredDescriptionDefault
loop_slugYesLoop slug (e.g. 'jawz')

Output Schema

ParametersJSON Schema
NameRequiredDescription
slugNo
titleNo
versionNo
chaptersNo
visibilityNo
author_nameNo
descriptionNo
price_centsNo
pricing_modelNo
terms_glossaryNo
improvement_modelNo
methodology_statementNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, and the description adds valuable context beyond those: it clarifies the return scope (no chapter content) and access rules ('all active loops are navigable by anyone'). This gives an agent useful behavioral expectations without redundancy.

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?

Two tight sentences that front-load the main purpose and immediately specify key limitations and access. Every clause adds value; no filler or unnecessary detail.

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?

Given the single required parameter, a rich output schema, and read-only annotations, the description provides everything an agent needs: what it returns, what it excludes, and who can use it. The mention of 'active loops' adds an important boundary condition. No significant gaps.

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?

The schema already documents loop_slug with a clear example ('jawz'), and description coverage is 100%. The description only reinforces that the lookup is 'by slug' without adding new meaning or constraints, so it meets the baseline but does not exceed it.

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?

Description uses specific verb 'Get' and resource 'metadata and chapter manifest for a loop by slug,' clearly stating what the tool returns. It explicitly notes it returns 'loop info and the list of chapter nodes with titles — no chapter content,' which differentiates it from content-returning tools like get_chapter.

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?

Provides clear context: this tool is for metadata and titles only, not chapter content, and states that 'all active loops are navigable by anyone,' addressing access. It implies the alternative of using a content-focused tool but does not explicitly name one, 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.

get_macro_regimeGet macro regimeA
Read-only
Inspect

Get current macro regime (GREEN/YELLOW/RED) with business cycle positioning. The response carries the same values three ways: 'presentation.display_markdown' is a pre-formatted rendering with tables, 'tables' is the structured form of those tables, and 'data' holds the raw values. A 'provenance' block lists each input with its as-of date and age in days.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
toolNo
statusNo
tablesNo
pillarsNo
summaryNo
warningsNo
generated_atNo
presentationNo
staleness_flagsNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds meaningful behavioral context by detailing the response's three representations (presentation, tables, data) and the provenance block with as-of dates and ages, which goes beyond the annotation-only signal.

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 purpose is front-loaded in the first sentence, and the subsequent sentences explain the response format and provenance without unnecessary padding. Slightly detailed for a zero-parameter read, but each sentence earns its place.

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?

For a zero-parameter read-only tool with an output schema and safety annotations, the description covers the core behavior and return structure well. It does not explicitly mention the historical alternative, but the 'current' qualifier partially makes up for that.

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?

The tool has zero parameters, so there is no parameter semantics to clarify. The description does not need to compensate, and the schema coverage is trivially complete.

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?

States a specific verb and resource: 'Get current macro regime' with the expected GREEN/YELLOW/RED values and business cycle positioning. The word 'current' also separates it from sibling get_regime_history, which covers historical regimes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'current' implies this is for the latest regime snapshot, while siblings such as get_regime_history and get_conditions_history cover historical views. However, the description never explicitly says when to choose this tool over the alternatives, leaving that to inference.

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

get_pricesGet pricesA
Read-only
Inspect

Live prices for one or more holdings, and the answer shows its work. Resolves raw tickers (stocks, ETFs, crypto, international listings) and returns price, value, and day change per symbol, plus per holding: what it resolved to (asset: type, exchange, ISIN, provider id), how surely (resolution: matched_by isin|qualified_symbol|bare_symbol, candidates, mismatch against the caller's hints), the native quote with its own time (quote), the FX rate actually applied, dated and sourced (fx), and the position value native and in the base currency. Optional per-holding hints — isin (equities/ETFs/funds), exchange, asset_class — narrow resolution; a hint that contradicts the result is reported, not silently overridden. Symbols that collide with tokenized-stock proxies on the crypto side (ALAB, LITE, NBIS, GLW, CBRS, DRAM, AIPO) resolve to the listed instrument, never the token; qualifying as NASDAQ:X / X.US does the same explicitly. base_currency defaults to USD; 'native' returns unconverted quotes.

ParametersJSON Schema
NameRequiredDescriptionDefault
holdingsYesPortfolio holdings to analyze
base_currencyNoCurrency for price, value and totalValue. Omit for USD (default). 'native' or null: no conversion — each line is stated in its quote currency and fx is null.

Output Schema

ParametersJSON Schema
NameRequiredDescription
holdingsNo
warningsNo
timestampNo
totalValueNo
terms_glossaryNo

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds substantial behavioral context: resolution logic (matched_by isin|qualified_symbol|bare_symbol), mismatch reporting rather than silent overrides, the tokenized-stock collision policy, and FX conversion behavior. This goes well beyond what annotations provide.

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 dense but well-organized, front-loading the core purpose and then layering resolution details, collision handling, and currency behavior. Every sentence adds information, though the tokenized-stock list and resolution taxonomy make it longer than strictly necessary. The structure is logical and scannable.

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?

Given the output schema exists (so return values are documented elsewhere), the description covers all decision-relevant context: what the tool does, how resolution works, how to force a path, how currency conversion behaves, and how conflicts are handled. An agent has everything needed to invoke it correctly and interpret results.

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 100%, so the schema already documents all parameters thoroughly. The description adds value by explaining the resolution semantics (hints narrow resolution, contradictions are reported), the collision policy for specific symbols, and the base_currency 'native' behavior. It doesn't repeat schema details but enriches them with behavioral context.

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 clear verb and resource: 'Live prices for one or more holdings' and immediately distinguishes itself from siblings by emphasizing it 'shows its work' with resolution details, FX, and per-holding breakdowns. It is specific about what it returns (price, value, day change, resolution, quote, fx) and how it handles ambiguous tickers, making it unmistakable among the many get_* siblings.

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?

The description explicitly states when to use this tool (live prices for holdings) and provides detailed guidance on how to disambiguate symbols, including the tokenized-stock collision list and the NASDAQ:X / X.US qualification. It also explains base_currency behavior and the 'native' option. While it doesn't name a specific alternative sibling, the guidance is so specific that an agent can confidently select it for price queries.

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

get_regime_historyGet regime historyA
Read-only
Inspect

Macro regime read-history — a timeseries of how the regime and its drivers have moved over recent weeks. Returns one row per sample date (regime color, business-cycle quadrant, growth + inflation class, consumer sentiment, global liquidity, dominant risk, confidence) plus the transitions between them (e.g. SUMMER → FALL). Provides the observed history behind a 'what changed since …' question, rather than a comparison of two separate point reads. Reading note, enforced by the artifact: the Liquidity column steps for two reasons that are NOT the market, and both are listed as first-class events in summary.liquidity_events — a g4↔g3 coverage flip (the whole PBoC component entering or leaving the sum: not a liquidity move at all), and a China-leg publication step (PBoC publishes monthly ~15d in arrears, so the day a new statement is recorded the column absorbs a whole month of change: real change, wrong date). Do not read that column as a trend without checking them; get_liquidity_history carries a constant-basis G3 series that is immune to both. The response includes a 'presentation' object whose 'display_markdown' is a pre-formatted table; 'data.rows' and 'summary' carry the same values structured. Each row is provenance-tagged: 'observed' (captured live that day — true vintage) or 'reconstructed' (computed point-in-time from vintage data — each series as it was published on that date, so later revisions are excluded; depth-limited). Defaults to the last 12 weeks, weekly.

ParametersJSON Schema
NameRequiredDescriptionDefault
intervalNoSample cadence (default weekly)
lookback_weeksNoHow many weeks of history to cover (default 12, clamped 1–52)

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
toolNo
statusNo
summaryNo
warningsNo
generated_atNo
presentationNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds substantial behavioral context beyond that: the Liquidity column's two non-market step reasons, the coverage flip and China-leg publication lag, provenance tagging (observed vs reconstructed), depth-limitation, and the presentation object structure. It also warns against misreading the Liquidity column and points to a safer alternative. No contradiction with annotations.

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 dense but well-organized: it front-loads the purpose, then explains the distinction, then the critical Liquidity warning, then the response format and provenance. While it is long, every sentence carries substantive information, especially the caveat about the Liquidity column. It could be slightly more scannable with bullet points, but it earns its length.

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?

Given the tool's complexity—two parameters, a tricky column, provenance semantics, and a presentation object—the description covers all essential aspects: what it returns, how to interpret the risky field, how to avoid pitfalls, the alternative tool, and the output structure. The output schema exists, so return-value details are covered elsewhere. Nothing an agent needs to call it correctly 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?

The schema already covers both parameters with descriptions: interval has 'Sample cadence (default weekly)' and lookback_weeks has 'How many weeks of history to cover (default 12, clamped 1–52)'. The description adds no new parameter semantics beyond echoing the defaults ('Defaults to the last 12 weeks, weekly'). With 100% schema coverage, the baseline of 3 is appropriate.

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 and resource: 'Macro regime read-history — a timeseries of how the regime and its drivers have moved over recent weeks.' It enumerates the exact columns (regime color, business-cycle quadrant, growth + inflation class, etc.) and explicitly distinguishes it from a comparison of two point reads and from get_liquidity_history. This makes the tool's function and scope unambiguous relative to its siblings.

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 explicitly says when to use: 'Provides the observed history behind a

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

get_startedGet started with JawzA
Read-only
Inspect

Orientation for a new Jawz connection, and for questions about what Jawz is, what it covers, or how it is used. Returns a description of the Jawz Loop, example opening prompts, a one-line live market read drawn from the current data layer, a note on the plain-English glossary included in Jawz responses, and a link to the full guide.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
live_nowNo
memory_noteNo
what_this_isNo
audience_noteNo
first_promptsNo
terms_glossaryNo
how_to_go_deeperNo
if_rumo_is_connectedNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and destructiveHint=false, so the description does not need to restate safety. It adds useful transparency by listing exactly what the tool returns: the Jawz Loop description, example prompts, a live market read, glossary note, and guide link. No contradictions with annotations.

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 one well-organized sentence that front-loads purpose and then enumerates the returned content. It is slightly dense, but every clause earns its place and there is no fluff or repetition.

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 zero-parameter read-only tool with an output schema, the description is fully sufficient. It explains the purpose, when to use it, and what to expect in the response, leaving no major gaps for an agent to call it correctly.

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?

The tool has zero parameters, so parameter description is unnecessary. Setting the baseline at 4 is appropriate because no parameter disambiguation is required and schema coverage is effectively complete.

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 identifies the tool as an orientation/onboarding aid for a new Jawz connection and for questions about what Jawz is and how to use it. It names specific, concrete outputs, distinguishing it from sibling tools like get_loop or get_prices, which appear focused on data retrieval.

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 explicitly states when to use it: for new connections and for questions about Jawz's scope, coverage, or usage. It does not explicitly name alternatives or exclusion cases, but the use context is clear enough for an agent to select this tool appropriately.

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

get_weekly_data_releasesGet weekly data releasesA
Read-only
Inspect

Past week's data releases with H.4.1 net liquidity update. Anchored to Friday — most current when run Friday morning or later. Each release classifies actual vs consensus where BOTH are on file (both Mako-curated): surprise is hot / modestly hot / in-line / modestly cool / cool on the headline metric, vs_consensus is the same comparison stated neutrally as above/below/in-line, and metrics breaks it down per metric. hot/cool is DIRECTIONAL versus consensus, not a verdict — a hot CPI and a hot payrolls print mean opposite things for the same book. surprise: "n/a" means the comparison could not be made; implication names which half is missing. consensus_provenance.age_days is measured at week_ending, not at call time, so re-asking for an earlier week returns the same age it did the first time.

ParametersJSON Schema
NameRequiredDescriptionDefault
week_endingNoWeek ending date (YYYY-MM-DD); defaults to last Friday

Output Schema

ParametersJSON Schema
NameRequiredDescription
as_ofNo
week_endingNo
data_sourcesNo
data_releasesNo
policy_eventsNo
fed_h41_updateNo
terms_glossaryNo
staleness_flagsNo

TDQS

A4.4/5.0
Behavior5/5

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

The description goes well beyond the readOnly and destructive annotations by explaining classification semantics, the difference between surprise and vs_consensus, the directional meaning of hot/cool, the n/a case, and the provenance age measurement behavior. This is exactly the behavioral context an agent needs to interpret results correctly.

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 by preventing misinterpretation. It front-loads the core resource and timing, then explains output semantics and edge cases without redundancy or filler.

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 single-optional-parameter read-only tool with an output schema, the description is highly complete. It covers timing, absence semantics, field explanations, interpretation pitfalls, and idempotent behavior. Nothing essential for correct invocation or result interpretation appears missing.

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 coverage is 100%, and the schema already documents week_ending format and default. The description adds meaningful parameter-adjacent semantics: the Friday anchoring, the freshness caveat, and the fact that consensus_provenance.age_days is measured at week_ending rather than call time. This goes beyond the baseline but does not redefine the parameter itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource: past week's data releases with an H.4.1 net liquidity update. It is specific about scope and timing, but it does not explicitly contrast itself with sibling tools such as get_event_calendar or get_data_health, so it stops short of full sibling differentiation.

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 provides clear usage context by stating the tool is anchored to Friday and most current when run Friday morning or later. It also advises that re-asking for an earlier week yields stable age_days values. However, it gives no explicit when-not-to-use guidance or alternative tool routing.

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

get_world_briefGet World BriefA
Read-only
Inspect

Read the Jawz World Brief — the weekly Mako-bylined market read published at jawz.ai/brief. Returns the latest edition by default, or a specific one by slug (YYYY-MM-DD). Every claim in a brief traces to a Jawz tool read from its week. Setting list_only:true returns the available editions without their content.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoEdition to fetch, YYYY-MM-DD. Omit for the latest.
list_onlyNoReturn only the list of available editions (slug, title, regimeLine, takeaway).

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
slugNo
titleNo
bylineNo
sectionsNo
takeawayNo
latest_urlNo
regimeLineNo
canonical_urlNo
terms_glossaryNo
available_editionsNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds useful behavioral context: default-to-latest behavior, slug format expectations, and list_only returning available editions without content, which goes beyond what the annotations convey.

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 three sentences with no filler. It front-loads the core purpose, then efficiently covers default behavior, slug format, provenance of claims, and list_only mode. Every sentence earns its place.

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?

Given this is a simple read-only retrieval tool with zero required parameters, a rich output schema, and clear annotations, the description covers everything needed: what it returns, how to select an edition, and how to list editions. No meaningful gap remains.

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 100%, so the baseline is 3, but the description adds meaningful detail: it specifies the YYYY-MM-DD slug format, confirms omission yields the latest, and explains that list_only excludes content. This enriches the parameter semantics beyond the schema alone.

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 verb ('Read') and a specific resource ('Jawz World Brief'), immediately distinguishing it from all 21 sibling getters. It also clarifies the default behavior and the key option, leaving no ambiguity about what the tool does.

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 states when to fetch the latest edition versus a specific slug, and when to use list_only to retrieve editions without content. It does not explicitly name alternatives, but the tool is unique among siblings and the usage context is unambiguous.

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

list_loopsList loopsA
Read-only
Inspect

List all available Jawz loops. Returns loop metadata, access status, and which loop is currently active for this user. Every published loop is free and open. Deprecated loops you are entitled to are included with deprecated: true.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
loopsNo
terms_glossaryNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and destructiveHint, so the safety profile is known. The description adds valuable behavioral detail: it returns loop metadata, access status, and the active loop, states that every published loop is free and open, and explains that entitled deprecated loops appear with deprecated: true. This goes beyond the annotations without contradicting them.

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?

Three concise sentences, each adding distinct information: the primary listing purpose, the return contents, and the deprecated-loop nuance. No filler or redundancy. The key facts are front-loaded.

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 zero-parameter listing tool with an output schema present, the description is complete. It covers the main use case, access semantics, current-active-loop information, and deprecated-loop behavior. Nothing essential is missing.

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?

The tool has zero parameters and the schema is empty, so there is no parameter documentation burden. The baseline for zero parameters is 4, and the description appropriately focuses on the output and behavioral aspects rather than parameter details.

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 verb ('List') and resource ('all available Jawz loops'), and specifies the scope: metadata, access status, and the currently active loop for the user. This distinguishes it from the sibling get_loop, which presumably fetches a single loop, by focusing on collection-level listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied but not explicit. The description implies this is the tool to call to enumerate available loops and see which is active, but it does not name alternatives or state when to prefer list_loops over get_loop or run_mode. The guidance is sufficient for a zero-parameter read-only listing, but lacks explicit routing.

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

run_chapterRun chapterAInspect

Returns a chapter's published framework text: its modes, the questions each asks, and the output format it describes. The framework is reference material for the assistant to apply as it judges appropriate. Repeat calls return the same chapter content — the text is not regenerated per call. Each call appends one usage-counter row and returns a new invocation_id used for feedback.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeYesChapter node
contextNoOptional user context (portfolio details, ticker, question)
loop_slugYesLoop slug

Output Schema

ParametersJSON Schema
NameRequiredDescription
nodeNo
loop_slugNo
loop_titleNo
author_nameNo
content_noteNo
invocation_idNo
terms_glossaryNo
framework_contentNo

TDQS

A4.1/5.0
Behavior5/5

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

The description discloses important behavioral traits beyond the annotations: repeated calls return identical content rather than regenerating text, each call appends a usage-counter row, and each call returns a new invocation_id for feedback. This is exactly the kind of side-effect and determinism information an agent needs and that annotations do not provide.

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?

Four sentences, no filler, primary behavior first, side effects after. Every sentence adds useful information and the structure makes the most important details immediately visible.

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?

The description covers what the tool returns, its stable/cached behavior, its side effect, and the invocation_id usage. An output schema is present, so return details do not need to be fully explained. The main gap is that loop_slug and node parameter semantics are left shallow, and no explicit comparison with get_chapter is provided.

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%, so the baseline is 3. However, the schema descriptions are minimal: 'Loop slug', 'Chapter node', and 'Optional user context' add little real meaning. The tool description also does not explain how loop_slug and node relate to the returned framework text, nor what each node enum value means. It earns the baseline but no more.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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: 'Returns a chapter's published framework text' and lists what that text contains (modes, questions, output format). This is much clearer than the tool title alone. It does not explicitly differentiate itself from the sibling get_chapter, so it loses a point for sibling distinction.

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 intended use: the framework text is reference material for the assistant to apply when judging appropriately. This tells an agent why it would call the tool. However, it does not mention when not to use it or compare it with alternatives like get_chapter or run_mode.

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

run_modeRun modeAInspect

Returns the published framework text for one named mode within a chapter, rather than the full chapter. Repeat calls return the same mode content — the text is not regenerated per call. Each call appends one usage-counter row and returns a new invocation_id used for feedback.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeYesChapter node
contextNoOptional user context
loop_slugYesLoop slug
mode_slugYesMode slug (e.g. 'equity-screen', 'regime-overlay')

Output Schema

ParametersJSON Schema
NameRequiredDescription
nodeNo
loop_slugNo
mode_slugNo
loop_titleNo
author_nameNo
content_noteNo
invocation_idNo
terms_glossaryNo
framework_contentNo

TDQS

A4.4/5.0
Behavior5/5

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

The description discloses behaviors beyond the annotations: repeated calls return identical content (not regenerated), each call appends a usage-counter row, and each call returns a new invocation_id for feedback. This is valuable operational context that annotations do not provide.

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?

Three sentences, each earning its place: one for what is returned, one for idempotent behavior, one for side effects and feedback linkage. No fluff, no repetition of schema content, and the most differentiating information is front-loaded.

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?

The description covers the core behavior, the side effect, and the deterministic nature of the tool. An output schema exists, so return-value details are not required. It could additionally mention prerequisites or explicit alternative conditions, but nothing essential for calling the tool correctly 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%, so the schema already documents all parameters. The description reinforces the 'mode' concept and the granularity of the call, but it does not add parameter-specific detail beyond what the schema's descriptions and enum already provide. Baseline 3 is appropriate.

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 ('Returns') and a precise resource: 'published framework text for one named mode within a chapter.' It also distinguishes itself from fetching the full chapter, which separates it from the sibling run_chapter. The purpose is immediately clear and 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 clearly frames when this tool is appropriate: when a single mode's text is needed rather than the entire chapter. It does not explicitly name sibling alternatives or state when not to use it, but the 'rather than the full chapter' contrast provides solid contextual guidance.

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

score_position_driftScore position driftA
Read-only
Inspect

Score how a single position's regime fit has drifted since entry. Returns regime_at_entry, regime_now, fit_score_at_entry, fit_score_now, drift_score (now - entry), drift_label (improved/stable/deteriorated/review_now), explanation, and review_questions. No buy/sell recommendation — output is observational. Supports Chapter 4 Mode 4.2 (Position Retrospective) for single-name regime-fit review and Mode 4.3 (Thesis Status Sweep) for per-position drift across the book.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesTicker or instrument (e.g. AAPL, BTC, TLT)
thesisNoOriginal thesis text. Echoed back word-for-word in review questions.
convictionNoUser-supplied conviction 1–10. Drives conviction_gap if a meaningful gap exists vs the regime fit score.
entry_dateYesISO date (YYYY-MM-DD) when the position was opened
asset_classYesAsset class for fit-score lookup, drawn from the holding's actual exposure (Chapter 2 Mode 2.1) rather than from the current regime. A hybrid holding is scored per sleeve and weight-blended. Drives the regime-fit calculation.
symbol_typeNoPrice-API hint. Inferred from asset_class if omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
symbolNo
price_nowNo
as_of_dateNo
entry_dateNo
regime_nowNo
asset_classNo
drift_labelNo
drift_scoreNo
explanationNo
fit_score_nowNo
conviction_gapNo
price_at_entryNo
terms_glossaryNo
regime_at_entryNo
staleness_flagsNo
review_questionsNo
total_return_pctNo
fit_score_at_entryNo
classification_warningsNo

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already mark the tool as read-only, and the description adds meaningful behavioral context beyond that: the output is observational, contains no buy/sell recommendation, and includes drift labels and review questions. This gives an agent an accurate model of what the tool will and will not do, without contradicting the annotations.

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 three sentences with a front-loaded purpose and no filler. The explicit list of output fields is slightly redundant given the declared output schema, but it is compact and useful enough to justify a high score.

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?

Given read-only annotations, a fully documented schema, and an output schema, the description is complete: it explains what the tool scores, which modes it supports, what type of output to expect, and that it is observational. No critical operational information 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%, so all six parameters are documented with types, enums, and descriptions. The tool description adds little parameter-level meaning beyond 'single position' and 'since entry', so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific verb and resource: score how a single position's regime fit has drifted since entry, and enumerates the returned fields. It is clear and actionable, but it does not explicitly contrast the tool with sibling get_drift_alerts or get_regime_history, so differentiation relies on name and context rather than an explicit statement.

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: it supports Chapter 4 Mode 4.2 for single-name retrospective review and Mode 4.3 for per-position drift across the book, and explicitly states that no buy/sell recommendation is made. It lacks explicit exclusions or named alternatives, but the mode references and observational caveat provide enough guidance for an agent to decide when to use it.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedget_prices4 fields changed
      • addedInput schema / properties / base_currency
        Added value: +{
        +  "description": "Currency for price, value and totalValue. Omit for USD (default). 'native' or null: no conversion — each line is stated in its quote currency and fx is null.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedInput schema / properties / holdings / items / properties / asset_class
        Added value: +{
        +  "description": "Optional. 'equity' | 'etf' | 'fund' force the listed-instrument path; 'crypto' forces the token path. Reported as resolution.mismatch when the result disagrees.",
        +  "enum": [
        +    "equity",
        +    "etf",
        +    "fund",
        +    "crypto",
        +    "commodity",
        +    "other"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / holdings / items / properties / exchange
        Added value: +{
        +  "description": "Optional exchange hint — NASDAQ, NYSE, NYSEARCA, XETRA, OSL, MIL, LSE, PAR, AMS, SWX, HKG, TSX, ASX. Narrows a bare symbol to a venue; a non-US venue prices the local listing.",
        +  "type": "string"
        +}
      • addedInput schema / properties / holdings / items / properties / isin
        Added value: +{
        +  "description": "Optional ISIN (equities, ETFs, funds — crypto has none). When present, resolution goes by ISIN first; the exchange hint picks the listing when the ISIN trades on several.",
        +  "type": "string"
        +}
  2. 22 tool updates
    • Changedget_chapter1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedget_china_liquidity1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedget_conditions_history1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedget_data_health4 fields changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
      • addedOutput schema / properties / china_release_alert
        Added value: +{
        +  "anyOf": [
        +    {
        +      "anyOf": [
        +        {
        +          "not": {}
        +        },
        +        {
        +          "additionalProperties": true,
        +          "properties": {},
        +          "type": "object"
        +        }
        +      ]
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / crons
        Added value: +{
        +  "anyOf": [
        +    {
        +      "anyOf": [
        +        {
        +          "not": {}
        +        },
        +        {
        +          "items": {},
        +          "type": "array"
        +        }
        +      ]
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / umich_release_alert
        Added value: +{
        +  "anyOf": [
        +    {
        +      "anyOf": [
        +        {
        +          "not": {}
        +        },
        +        {
        +          "additionalProperties": true,
        +          "properties": {},
        +          "type": "object"
        +        }
        +      ]
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
    • Changedget_drift_alerts2 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"
        +    }
        +  ]
        +}
    • Changedget_etf_profile2 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"
        +    }
        +  ]
        +}
    • Changedget_event_calendar1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedget_financial_conditions1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedget_growth_indicators1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedget_inflation_indicators1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedget_liquidity_history1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedget_loop1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedget_macro_regime1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedget_prices2 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"
        +    }
        +  ]
        +}
    • Changedget_regime_history1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedget_started1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedget_weekly_data_releases1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedget_world_brief1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedlist_loops1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedrun_chapter1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedrun_mode1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
    • Changedscore_position_drift1 field changed
      • changedOutput schema / additionalProperties
        Previous value: -falseNew value: +true
  3. 22 tool updates
    • First observedget_chapter
    • First observedget_china_liquidity
    • First observedget_conditions_history
    • First observedget_data_health
    • First observedget_drift_alerts
    • First observedget_etf_profile
    • First observedget_event_calendar
    • First observedget_financial_conditions
    • First observedget_growth_indicators
    • First observedget_inflation_indicators
    • First observedget_liquidity_history
    • First observedget_loop
    • First observedget_macro_regime
    • First observedget_prices
    • First observedget_regime_history
    • First observedget_started
    • First observedget_weekly_data_releases
    • First observedget_world_brief
    • First observedlist_loops
    • First observedrun_chapter
    • First observedrun_mode
    • First observedscore_position_drift

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Financial intelligence for AI agents. 31 tools across 8 data sources — regime, derivatives, stablecoin flows, momentum, volatility, macro, DeFi, weather patterns, political cycles, seasonality. The context layer between your agent and a bad trade.
    31
    5 npm
    9
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Recession probability, capital rotation, macro cascade analysis, and real-time economic data for Claude, ChatGPT, Cursor, and any MCP client.
    23
    26 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides AI agents with real-time financial market intelligence including regime detection, adaptive signals, macro context chains, and cross-market analysis for crypto, US, and Korean stocks.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources