BCRP-MCP
Model Context Protocol server that provides access to economic and financial time series data from Peru's Central Reserve Bank, enabling AI agents to search, explore, and analyze Peru's economic indicators through a standardized interface.
README Documentation
BCRP-MCP
Model Context Protocol (MCP) Server for BCRP Economic and Financial Time Series Data
👨💻 Author
Ivan Yang Rodriguez Carranza
📋 Table of Contents
- 🎯 Overview
- 🎬 Demo
- 🔧 Tools
- 💬 Prompts
- 🚀 How to Use
- 💡 Examples
- 🏛️ Architecture Diagram
- 📝 License
- 🙏 Acknowledgments
🎯 Overview
BCRP-MCP is a Model Context Protocol (MCP) server that provides seamless access to economic and financial time series data from the BCRP (Banco Central de Reserva del Perú) - Central Reserve Bank of Peru. This server enables AI agents and applications to search, explore, and analyze Peru's economic indicators, financial statistics, and monetary data through a standardized MCP interface.
🎬 Demo
Demo (Spanish): https://youtube.com/shorts/gsjC07WR0n0
🔧 Tools
Name | Input | Description |
---|---|---|
search_time_series_groups | keywords | Search for time series groups using one or multiple keywords |
search_time_series_by_group | time_series_group | Find all time series within a specific group, returns code and name pairs |
get_time_series_data | time_series_code start end | Retrieve time series data for a specific code within a date range |
Note: When using the remote server, the MCP client may require increased connection timeout settings.
💬 Prompts
Name | Input | Description |
---|---|---|
search_data | keyword | Guided workflow to find relevant time series using keyword search |
ask | question | Financial analysis workflow that extracts keywords, searches data, and answers questions |
🚀 How to Use
Claude Desktop (Remote Server)
Note: Requires
npx
which comes bundled with npm. If you don't have npm installed, install Node.js which includes npm.
Add to Claude Desktop config (Claude > Settings > Developer > Edit Config):
{
"mcpServers": {
"bcrp_mcp_remote": {
"command": "npx",
"args": [
"mcp-remote",
"https://bcrp-mcp.onrender.com/mcp"
]
}
}
}
Local Server
Note: Make sure you have
uv
installed. If not, install it from uv.tool.
Clone and install:
git clone https://github.com/rodcar/bcrp-mcp.git
cd bcrp-mcp
uv sync
Add to Claude Desktop config (Claude > Settings > Developer > Edit Config):
Note: Replace
/path/to/bcrp-mcp
with the actual path where you cloned the repository.
{
"mcpServers": {
"simple_mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/bcrp-mcp",
"run",
"main.py"
]
}
}
}
MCP Inspector (Alternative)
Note: Requires
npx
which comes bundled with npm. If you don't have npm installed, install Node.js which includes npm.
Note: Replace
/path/to/bcrp-mcp
with the actual path where you cloned the repository.
Run
npx @modelcontextprotocol/inspector \
uv \
--directory /path/to/bcrp-mcp \
run \
main.py
Open MCP Inspector (URL displayed in the console) and configure the MCP client with the following settings:
- Transport Type: Streamable HTTP
- URL:
http://bcrp-mcp.onrender.com/mcp
- Request Timeout: Increase from default values
- Maximum Total Timeout: Increase from default values
- Proxy Session Token: Use the token generated in the console
💡 Examples
Prompt | Language | Question | Conversation |
---|---|---|---|
ask | Spanish | "¿Cómo ha evolucionado la tasa de interés de referencia en el último año?" | https://claude.ai/share/34df5f90-7a35-474d-b4cf-e8f48c3f9772 |
🏛️ Architecture Diagram
BCRP-MCP follows the Model Context Protocol specification and provides a clean abstraction layer over the BCRP API.
graph LR
CLIENT[MCP Client<br/>Claude Desktop, IDE, etc.] --> MCP_SERVER[BCRP-MCP Server]
subgraph TOOLS ["🔧 Tools"]
SEARCH_GROUP[search_time_serie_group]
SEARCH_SERIES[search_time_series_by_group]
GET_DATA[get_time_series_data]
end
subgraph "💬 Prompts"
SEARCH_PROMPT[search_data]
ASK_PROMPT[ask]
end
MCP_SERVER --> SEARCH_GROUP
MCP_SERVER --> SEARCH_SERIES
MCP_SERVER --> GET_DATA
MCP_SERVER --> SEARCH_PROMPT
MCP_SERVER --> ASK_PROMPT
TOOLS --> BCRP_API[BCRP API<br/>estadisticas.bcrp.gob.pe]
style CLIENT fill:#e3f2fd
style MCP_SERVER fill:#f3e5f5
style BCRP_API fill:#fff3e0
📝 License
This project is licensed under the Apache License 2.0.
🙏 Acknowledgments
- BCRP for providing open access to Peru's economic data
- bcrpy library for the Python interface to BCRP data (https://github.com/andrewrgarcia/bcrpy)
Note: bcrpy was used in early development, is no longer a dependency. Unfortunately the performance for the remote MCP server led to response timeouts.