Skip to main content
Glama
mcp-TesouroDireto

mcp-TesouroDireto

by msperlin

get_bond_data

Read-only

Retrieve historical prices and yields for Brazilian Tesouro Direto bonds as CSV, filtered by asset, date range, and daily, monthly, or yearly frequency.

Instructions

Historical daily prices and yields of Tesouro Direto bonds.

Returns CSV. For daily data the columns are `ref_date`, `yield_bid`
(decimal annual rate), `yield_bid_pct`, `price_bid` (R$), `asset_code` and
`matur_date`. For monthly/yearly data each row is the mean over the period,
with the number of observations and first/last dates.

If the result exceeds `max_rows`, the most recent observations are kept and
a truncation note is included in the CSV comments.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_bond_data"
  }
}

Input Schema

NameRequiredDescriptionDefault
end_dateNoOptional precise end date (YYYY-MM-DD), overriding last_year.
max_rowsNoMaximum rows returned (most recent observations are kept).
frequencyNoObservation frequency: daily raw data, or monthly/yearly means.daily
last_yearNoLast calendar year of the series. Defaults to the current year.
asset_codeNoOptional single maturity filter, matched as a case-insensitive substring, e.g. 'NTN-B Principal 150835' or '150835'.
first_yearNoFirst calendar year of the series (minimum 2005).
start_dateNoOptional precise start date (YYYY-MM-DD), overriding first_year.
asset_codesNoBond families: LTN, LFT, NTN-B, NTN-B Principal, NTN-F, NTN-C, RendA+, Educa+ (official names also accepted). Omit for all bonds.
force_downloadNoIgnore today's cached file and download the source again.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the description need not explain safety. It adds useful behavioral detail beyond annotations: CSV columns, monthly/yearly aggregation semantics, and truncation behavior when max_rows is exceeded.

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 front-loaded and appropriately sized: three short paragraphs cover purpose, return format, aggregation, and truncation without redundant wording. Every sentence adds information.

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 tool with 9 parameters, full schema descriptions, annotations, and an output schema, the description is largely complete and explains the key output and truncation behavior. Minor details such as date-filter precedence and asset-family filtering are left to the schema.

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%, so the baseline is 3. The description adds meaning beyond the schema for max_rows truncation behavior and for monthly/yearly aggregation, including observation counts and first/last dates.

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 states a specific resource and operation: historical daily prices and yields of Tesouro Direto bonds, returned as CSV. It clearly contrasts historical data with current-rate siblings implicitly, but does not explicitly name get_current_rates or get_yield_curve as alternatives.

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 is implied by 'Historical' data and by the frequency and date filters, but there is no explicit when-to-use or when-not-to-use guidance. It also does not name alternatives such as get_current_rates or get_yield_curve.

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