Skip to main content
Glama

Br Financial Series

br_financial_series
Read-onlyIdempotent

One CVM account across fiscal years for a Brazilian listed company -- e.g. account_code "3.01" for the income-statement top line, "1" for total assets, "2.03" for equity -- in full BRL with the account label, scope and filing version of each year. Pass cnpj or name. Account codes follow the CVM chart (1 assets, 2 liabilities and equity, 3 income statement, 6 cash flow, 7 value added); labels and meaning differ between banks/insurers and industrials, and the label is returned per year so a change is visible. Years the company did not file the account are listed in missing_years rather than dropped. A code the company never reported returns found:false with data_as_of.

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "cnpj": "33.000.167/0001-01",
      "account_code": "3.01"
    },
    "name": "br_financial_series"
  }
}

Input Schema

NameRequiredDescriptionDefault
cnpjNoCompany CNPJ, formatted or 14 digits. Pass cnpj or name.
nameNoCompany name instead of cnpj.
scopeNoDefault: consolidated where filed, else individual (each row says which).
to_yearNoLast fiscal year (default: the latest this company filed).
from_yearNoFirst fiscal year (default: the earliest this company filed).
account_codeYesCVM account code, e.g. "3.01", "1", "2.03", "6.01".

Output Schema

NameRequiredDescriptionDefault
cnpjNo
foundNo
unitsNo
pointsNo
seriesNo
sourceNo
companyNo
licenceNo
data_as_ofNo
account_codeNo
missing_yearsNo
fiscal_years_loadedNo
latest_filing_receivedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish a safe read-only, idempotent profile, and the description adds meaningful behavioral context: full BRL values, per-year labels to expose label changes, missing_years for unfiled accounts, and found:false with data_as_of for codes never reported. This goes well beyond the annotations, though it does not discuss pagination or broader response shape.

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 front-loaded: it states the tool's purpose, gives account-code examples, explains defaults and edge cases, and stays on topic. It is appropriately sized for a domain-specific financial time-series tool, with only minor overlap with schema text such as 'Pass cnpj or name.'

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 that an output schema exists and annotations cover safety, the description provides the remaining domain-critical context: account-code meaning, company-type label variation, missing-year handling, and the not-found behavior. An agent has enough information to invoke the tool correctly without needing additional prose.

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 each parameter. The description still adds value by explaining the CVM account-code chart, the difference in labels across banks/insurers versus industrials, the default scope behavior, and how missing years are represented.

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 states that this tool retrieves one CVM account across fiscal years for a Brazilian listed company, with concrete examples for account_code and full BRL reporting. It is specific about the resource and scope, but it does not explicitly distinguish itself from sibling tools such as br_financials or br_financials_search.

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: pass cnpj or name, specify an account_code, and optionally narrow years. However, the description does not state when to use this time-series tool instead of br_financials or br_financials_search, nor does it provide explicit exclusions or alternatives.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.