Skip to main content
Glama

bcrp_get_series

Fetch time series data from BCRP (Peru's central bank) by supplying 1–10 series codes and an optional date range. Get historical values for indicators like exchange rates, interest rates, or GDP.

Instructions

Fetch time series data from the BCRP (Banco Central de Reserva del Perú) API.

Accepts 1–10 series codes of the SAME frequency. Series codes can be found using bcrp_search_catalog or the bcrp://series-catalog resource.

Period format by frequency:

  • Monthly: YYYY-M (e.g. 2024-1 = January 2024, 2024-12 = December 2024)

  • Quarterly: YYYY-Q (e.g. 2024-1 = Q1 2024, 2024-4 = Q4 2024)

  • Daily: DD-MM-YYYY (e.g. 01-01-2025)

  • Annual: YYYY (e.g. 2024)

  • Leave both periods empty to get the most recent available data.

Important: All series in one call must have the same frequency (all daily, all monthly, etc.).

Example codes: PD04637PD (exchange rate), PD12301MD (policy rate), PN00196MM (total liquidity), PN03503MQ (GDP var%)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
languageNoLanguage for series names: 'esp' (Spanish) or 'ing' (English)esp
end_periodNoEnd of date range. Same format as start_period.
series_codesYesList of 1–10 BCRP series codes (same frequency). E.g. ['PD04637PD', 'PD12301MD']
start_periodNoStart of date range. Format depends on series frequency: - Monthly: YYYY-M (e.g. '2020-1') - Quarterly: YYYY-Q (e.g. '2020-1') - Daily: DD-MM-YYYY (e.g. '01-01-2025') Leave empty for most recent data.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It explains the 1–10 series limit, the same-frequency requirement, per-frequency period formats, and the empty-period behavior. It does not mention authentication, errors, or return shape, but for a data-fetching tool the provided behavior is substantial.

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 well-structured with clear sections and front-loaded purpose. It is slightly redundant by stating the same-frequency rule twice, but the overall length is justified by the frequency-format complexity.

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?

Given no output schema and no annotations, the description covers code discovery, parameter constraints, and period formatting well. The main gap is not explaining how this tool relates to bcrp_get_latest or bcrp_get_series_long, and not describing what the response looks like, though that is somewhat inferable from the tool name.

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, but the description adds genuine value: consolidated period format examples for monthly, quarterly, daily, and annual frequencies, concrete example series codes, and the explicit same-frequency rule. This goes beyond the schema's individual parameter descriptions.

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 it fetches time series data from the BCRP API, naming the resource and the specific verb. It does not explicitly differentiate itself from siblings like bcrp_get_latest or bcrp_get_series_long, but the main purpose is unmistakable.

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 usage context: how many series codes are accepted, how to discover codes via bcrp_search_catalog, the period format by frequency, and the same-frequency constraint. It does not explicitly state when to prefer bcrp_get_latest or bcrp_get_series_long, so it falls 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.