Skip to main content
Glama
cvm-mcp
by msperlin

get_account_history

Read-only

Track one financial statement account over multiple years for one or more companies, returning a compact time series by CVM code, role, or label.

Instructions

Follow one account over time for one or more companies (a compact series).

Input Schema

NameRequiredDescriptionDefault
byNoHow to read `account`.role
formatNo'con' or 'ind'.con
accountYesAccount to follow: a CD_CONTA code ('3.01'), a role ('revenue', 'net_income', 'total_assets', 'equity', 'ebit') or, with by='name', a label fragment.
doc_typeNoBPA, BPP, DRE, DFC_MI, DFC_MD, DVA or DMPL.DRE
max_rowsNoSafety cap on returned rows.
cvm_codesYesCVM codes of the companies.
data_typeNo'dfp' = annual, 'itr' = quarterly.dfp
last_yearNoLast fiscal year.
first_yearNoFirst fiscal year.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint, and the schema documents the max_rows safety cap, so the safety profile is covered elsewhere. The description's only added behavioral signal is that results form a compact series over time, which usefully sets expectations about result density but says nothing about multi-company merging, ordering, or gaps in years.

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?

A single front-loaded sentence with no filler; the core scope appears first and the qualifier follows. It is efficient, though arguably so terse that it leans toward under-specification rather than crispness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With nine parameters, an output schema, and full annotation coverage, the heavy lifting is done by structured fields, so the description needn't repeat them. Still, for a tool spanning multiple companies and two data granularities (dfp/itr) with a row cap, one sentence leaves gaps around multi-company behavior and year-range semantics that a slightly richer description could close.

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 each parameter (account, by, doc_type, data_type, first_year/last_year, max_rows) already carries its own explanation. The description's phrase 'one account' loosely echoes the account parameter but adds no new semantics such as how `by` interacts with name fragments or how the year range is applied.

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 gives a concrete verb and resource: 'follow one account over time' across 'one or more companies', and the '(a compact series)' parenthetical signals this returns a lean time series rather than full statements. It stops short of naming siblings like get_financial_statements or get_statement_summary, so the boundary is implied rather than stated.

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 only implied: 'compact series' suggests you pick this over full statement retrieval when tracking a single metric over years. There is no explicit when-to-use or when-not-to-use guidance, and no mention of when to prefer the multi-account or summary siblings.

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