mcp-bcentral-chile
This server provides MCP tools to access economic data from the Central Bank of Chile (BDE/SIETE), including time series, metadata, and a local catalog of popular series.
Retrieve economic time-series data (
bcentral_serie_datos): Fetch observations for 1–30 series (e.g., UF, UTM, IPC, TPM, exchange rates) over a specified period. Returns structured JSON and a Markdown table. Requires a free BCENTRAL_API_KEY.Get series metadata (
bcentral_serie_info): Look up official metadata (description, frequency, unit, latest observation) to verify codes and understand series. Also requires an API key.Browse popular series (
bcentral_series_populares): View a local, offline catalog of commonly used series (UF, UTM, USD, EUR, IPC, TPM, IMACEC, PIB, unemployment) – no API key or internet needed.
Supports up to 30 series per request, date ranges in annual/monthly/daily formats, Spanish/English language selection, and responses are cached for 15 minutes. Deployable via Cloudflare (remote) or local STDIO.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-bcentral-chileWhat's the value of the UF today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-bcentral-chile
MCP server para la Base de Datos Estadísticos (BDE) del Banco Central de Chile (sistema SIETE): UF, UTM, IPC, TPM, tipo de cambio, IMACEC, PIB y miles de series económicas. Libre, gratuito y open-source.
Qué cubre
Series de tiempo de la API oficial del BCCh (
si3.bcentral.cl/SieteRestWS): hasta 30 series por consulta, con rango de períodos (AAAA, AAAA-MM o AAAA-MM-DD según la frecuencia).Metadatos oficiales de cada serie (descripción, frecuencia, unidad) para verificar que un código existe.
Catálogo local de las series más usadas (UF, UTM, USD, EUR, IPC, TPM, IMACEC, PIB, desempleo…).
Related MCP server: MCP CMF Tools
Herramientas
Tool | Qué hace |
| Observaciones de 1 a 30 series en un rango (JSON estructurado + tabla Markdown) |
| Descripción oficial, frecuencia y última observación de una serie |
| Catálogo local de series más usadas (sin red ni clave) |
Conexión
Cloudflare (recomendado):
https://bcentral-mcp.kumocloud.cl/mcpRequiere configurar la clave privada del API BDE en el Worker:
npx wrangler secret put BCENTRAL_API_KEYCómo obtener esa clave (es un proceso de 3 pasos):
Regístrate con usuario y contraseña en https://si3.bcentral.cl/Siete/es/Siete/API (sección Registrarse).
Inicia sesión — el propio sitio dice: "Para activar las credenciales debe iniciar sesión". Las credenciales del API se activan al entrar.
Dentro del portal, copia tu clave privada (la cadena alfanumérica que el sitio te muestra para el Web Service — no es tu contraseña). Esa cadena es
BCENTRAL_API_KEY.
Local (STDIO):
set BCENTRAL_API_KEY=tu_clave
npm run build
npm startEjemplos
bcentral_serie_datoscontimeseries: "UF",first: "2024-01-01",last: "2024-12-31"→ la UF de todo el año.bcentral_serie_datoscontimeseries: "UF,UTM,IPC,TPM"→ indicadores juntos.bcentral_serie_infocontimeseries: "IMACEC"→ verificar que el código existe y qué mide.
Límites y notas
Máximo 30 series por consulta (límite oficial del BCCh). El error te dice cuándo dividir.
Los períodos se expresan en el formato de frecuencia de la serie:
2024(anual),2024-01(mensual),2024-01-15(diaria).Si una serie no devuelve observaciones, verifica el código con
bcentral_serie_info; el catálogo completo se busca ensi3.bcentral.cl/Siete/es/Siete/Series.El servidor cachea las respuestas 15 minutos y limita el ritmo de consultas para no abusar del BCCh.
Desarrollar
npm install
npm test # tests unitarios sin red
npm run build # tsc
npm run verify # verificación contra la API real (requiere BCENTRAL_API_KEY en el entorno)
npm run deploy # wrangler deployLicencia
MIT — los datos pertenecen al Banco Central de Chile; el código de este servidor es libre.
Available Tools
3 toolsbcentral_serie_datosDatos de series económicas del Banco Central (UF, UTM, IPC, TPM, tipo de cambio…)ARead-only
Observaciones de una o más series de la Base de Datos Estadísticos del Banco Central de Chile (BDE/SIETE), en un rango de períodos. Requiere la clave privada gratuita BCENTRAL_API_KEY configurada en el servidor. Hasta 30 series por llamada.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Idioma de las descripciones (es por defecto) | |
| last | No | Período final (mismo formato que first). Ej: 2024 o 2024-12 o 2024-12-31 | |
| first | No | Período inicial según la frecuencia: AAAA (anual), AAAA-MM (mensual) o AAAA-MM-DD (diaria). Ej: 2024 o 2024-01 o 2024-01-15 | |
| timeseries | Yes | Códigos de serie separados por coma (máx 30). Ej: 'UF' o 'UF,USD,TPM'. Catálogo: bcentral_series_populares y si3.bcentral.cl/Siete |
Output Schema
| Name | Required | Description |
|---|---|---|
| series | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint false, so the safety profile is covered. The description adds valuable behavioral context: authentication via BCENTRAL_API_KEY and a per-call limit of 30 series. This goes beyond the minimal annotation information, though it doesn't cover other potential aspects like rate limits or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, both informative and waste-free. It front-loads the core purpose, then adds necessary constraints. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and complete parameter descriptions, the description covers essential context: purpose, authentication requirement, and series limit. The sibling tools are known, and the description implicitly differentiates. Slight gaps remain around error conditions or response format, but these are partially covered by the output schema, so the description is effectively complete for a data-fetching tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains each parameter in detail. The description does not add significant extra meaning beyond what the schema provides; it reiterates the period range concept but lacks new semantic details. The baseline of 3 applies when schema does the heavy lifting, and the description adds only marginal value here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns observaciones (observations) of economic series from the Central Bank database over a period range. It names the specific database (BDE/SIETE) and the resource type, making it distinct from sibling tools like bcentral_series_populares or bcentral_serie_info, which are for listing popular series or retrieving metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides important context on prerequisites (BCENTRAL_API_KEY) and constraints (max 30 series per call). It does not explicitly say when to use this tool over siblings, but the context is clear enough for an agent to infer this is for fetching data, not for metadata or popular series lists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bcentral_serie_infoMetadatos de series BDE (descripción, frecuencia, unidad)ARead-only
Metadatos oficiales de una o más series de la BDE: descripción, frecuencia y unidad. Útil para verificar que un código existe y qué representa antes de pedir datos.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | ||
| timeseries | Yes | Códigos de serie separados por coma (máx 30). Ej: 'UF,USD' |
Output Schema
| Name | Required | Description |
|---|---|---|
| series | Yes |
TDQS
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 context that it returns metadata fields rather than data, but does not disclose additional behavioral traits like error handling, rate limits, or pagination. With annotations covering the main concerns, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and immediately followed by a concrete use case. Every word earns its place with no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool (2 parameters, 1 required), the presence of an output schema, and strong annotations, the description is complete. It conveys the tool's official nature, the metadata fields returned, and the recommended usage context, leaving no critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a solid description for 'timeseries' including comma-separated codes and a max of 30, with an example. The 'lang' parameter has an enum (es/en) that is self-explanatory. The description adds only that it handles one or more series, which is already implied by the schema, so it does not significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns official metadata (description, frequency, unit) for one or more BDE series. It explicitly distinguishes this from data retrieval by noting it's useful to verify a code exists before requesting data, which differentiates it from the sibling tools bcentral_serie_datos and bcentral_series_populares.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use this tool before requesting data to verify a code exists and what it represents. It gives clear contextual guidance but does not explicitly name alternative tools or state when not to use it, though the 'antes de pedir datos' phrase implies the contrast with data-fetching tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bcentral_series_popularesCatálogo de series populares del Banco CentralARead-only
Catálogo local (sin red ni clave) de las series más usadas de la BDE: UF, UTM, IPC, TPM, tipo de cambio, IMACEC, PIB, desempleo. El catálogo completo se busca en si3.bcentral.cl/Siete; verifica cualquier código con bcentral_serie_info.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| series | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the readOnlyHint annotation by noting it is 'local (sin red ni clave)'—meaning no network or credentials are required, and it runs locally. It also implies the catalog is a static list rather than a live query. There is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with high information density: it states the purpose, gives examples, and provides actionable guidance in the second sentence. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter tool with an output schema, the description fully covers what the agent needs to know: what the catalog is, what it contains, where to find the full catalog, and how to verify codes. The output schema handles return format, and annotations handle safety, so nothing is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description adds context by enumerating the types of series included (inflation, rates, GDP, unemployment), which helps the agent understand the scope of the catalog, even though no parameter details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a 'Catálogo local de las series más usadas de la BDE' (local catalog of the most used BDE series) and lists concrete examples (UF, UTM, IPC, TPM, exchange rate, IMACEC, GDP, unemployment). It distinguishes itself from siblings by emphasizing the 'local' and 'popular' nature, and by pointing to the full catalog elsewhere.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool (for a quick local list of popular series without network/key) and when to use alternatives: the complete catalog is available at si3.bcentral.cl/Siete, and code verification should be done with bcentral_serie_info. This provides clear contrasts with sibling tools and external resources.
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.
3 tool updates
v0.1.0- First observed
bcentral_serie_datos - First observed
bcentral_serie_info - First observed
bcentral_series_populares
TDQS
Scored across 3 tools
Each tool has a distinct purpose: fetching observations, listing popular series, and retrieving metadata. There is no overlap or ambiguity between them.
All tool names follow a consistent bcentral_ prefix with descriptive, snake_case nouns (serie_datos, series_populares, serie_info). The slight plural variation is logical and does not break the pattern.
Three tools perfectly cover the core needs of discovering, verifying, and fetching data for a read-only economic series API. The server is well-scoped without being sparse.
The toolset covers the complete workflow: browsing a catalog (bcentral_series_populares), validating series codes via metadata (bcentral_serie_info), and retrieving time series data (bcentral_serie_datos). No essential operation is missing.
Maintenance
Related MCP Connectors
Banxico MCP — Banco de México (Mexico's central bank) via the SIE API.
Banco Central de Reserva del Perú (BCRP) statistics series API MCP. Keyless.
Argentina 'Series de Tiempo' MCP — national time-series API (apis.datos.gob.ar).
INEGI MCP — Mexico's national statistics office (INEGI) Indicators API.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for the Brazilian Central Bank (BCB/SGS) public API, providing access to 18,000+ economic time series. Includes a curated catalog of 150+ popular indicators organized in 12 categories: interest rates (Selic), inflation (IPCA, IGP-M, INPC), exchange rates (USD, EUR), GDP, employment, credit, fiscal data, and more. Supports historical queries with date filters, latest values, metadata loo17220 npm8MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for Chilean financial regulation, providing economic indicators (UF, dollar, euro, UTM) and fraud alerts from CMF and mindicador.cl.2-
- AlicenseNot gradedqualityCmaintenanceMCP server for querying real-time Argentine economic data, including dollar exchange rates, inflation, country risk, foreign currencies, and more.MIT
- AlicenseNot gradedqualityCmaintenanceBanco Central do Brasil MCP server that enables querying Brazilian central bank economic indicators via SGS codes.4 npmMIT