The Banxico MCP Server provides programmatic access to Bank of Mexico economic data through MCP-compatible clients like Claude Desktop and Gemini CLI.
Capabilities:
Exchange Rates: Retrieve real-time and historical USD/MXN exchange rate data with customizable limits and date ranges (YYYY-MM-DD format)
Inflation Metrics: Access monthly, accumulated, or annual inflation data with configurable time periods
Interest Rates: Get current and historical CETES 28-day interest rates
Financial Indicators: Obtain UDIS (Investment Units) values and Banxico Reserve Assets data
Labor Market: Query current and historical unemployment rate data
Series Metadata: Access detailed information (title, description, date range) for specific data series
All queries return formatted data with dates and values, and historical data supports customizable limits on data points.
Click on "Install 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., "@Banxico MCP Serverwhat's the current USD to MXN exchange rate?"
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.
Banxico MCP Server
A Model Context Protocol (MCP) server for accessing the Bank of Mexico (Banxico) SIE API to retrieve USD/MXN exchange rate data and other economic indicators.
Features
Real-time Exchange Rates: Get the latest USD/MXN exchange rate from Banxico
Historical Data: Retrieve historical exchange rate data with customizable limits
Series Metadata: Access detailed information about economic data series
Date Range Queries: Get exchange rate data for specific date ranges
MCP Compatible: Works with Claude Desktop, Gemini CLI, and other MCP clients
Related MCP server: Binance Bitcoin MCP Tool
Prerequisites
Python 3.10+ installed on your system
uvx (recommended) or uv package manager
Banxico API Token - Get one from Banxico SIE API
Installation Methods
Option 1: Direct from GitHub (Auto-Updates) ⭐ Recommended
This method automatically gets the latest updates when you restart your MCP client:
Configuration for MCP clients:
No manual installation needed! uvx will automatically download and run the latest version.
Option 2: Download Single File (Manual Updates)
If you prefer to download the file locally:
Install uvx (if not already installed):
pip install uvDownload the server file:
curl -O https://raw.githubusercontent.com/cfocoder/banxico_mcp/main/banxico_mcp_server.pyConfiguration for MCP clients:
"banxico": { "command": "uvx", "args": [ "--python", "3.12", "--from", "fastmcp", "--with", "httpx", "--", "python", "/absolute/path/to/banxico_mcp_server.py" ], "env": { "BANXICO_API_TOKEN": "your_token_here" } }To get updates: Re-download the file when new features are added.
Option 3: Traditional Installation
Clone the repository:
git clone https://github.com/cfocoder/banxico_mcp.git cd banxico_mcpInstall dependencies:
pip install fastmcp httpxRun the server:
BANXICO_API_TOKEN=your_token_here python banxico_mcp_server.py
Deployment with Docker/Coolify
Deploy as HTTP MCP Server (Coolify, Docker, Cloud)
This MCP server can run as a persistent HTTP service:
Key points:
✅ Not just uvx - Can run as a long-lived service
✅ HTTP endpoint -
/healthavailable for monitoring✅ Configurable port - Set via
MCP_PORTenvironment variable✅ Graceful shutdown - Responds to SIGTERM signals
✅ Perfect for Coolify - Simple Docker deployment
Quick Start with Docker Compose (Local Testing)
Clone and setup:
git clone https://github.com/cfocoder/banxico_mcp.git cd banxico_mcp cp .env.example .env # Edit .env with your BANXICO_API_TOKEN and desired MCP_PORTRun with Docker Compose:
docker-compose upTest the server:
curl http://localhost:8000/health
Deployment in Coolify (Oracle Cloud)
Push to GitHub - Coolify will pull from your repository
Create new Docker service in Coolify - Select "Docker" type
Configure environment variables:
BANXICO_API_TOKEN: Your Banxico API tokenMCP_PORT: Port number (default: 8000, change to avoid conflicts)
Expose port - Configure port mapping in Coolify dashboard
Health checks - Coolify will automatically use the
/healthendpoint
The Docker image will build automatically with production-ready features including health checks, non-root user, and graceful shutdown handling.
Configuration
Get Your Banxico API Token
Fill out the form to request an API token
You'll receive your token via email
Configure MCP Clients
The server works with any MCP-compatible client. Use Option 1 from "Installation Methods" above (auto-updates from GitHub) for the easiest setup.
For local configuration, use the uvx commands shown in Installation Methods and substitute your Banxico API token in the env section.
Available Tools
Tool | Description | Parameters |
| Get the most recent USD/MXN exchange rate | None |
| Get historical exchange rate data |
|
| Get metadata for a data series |
|
| Get data for specific date range |
|
| Get inflation data |
|
| Get UDIS (Investment Units) values |
|
| Get CETES 28-day interest rates |
|
| Get Banxico Reserve Assets data |
|
| Get unemployment rate data |
|
Usage Examples
Once configured with your MCP client, you can ask:
Exchange Rates:
"What's the current USD to MXN exchange rate?"
"Show me the USD/MXN exchange rate for the last 10 days"
"Get the exchange rate data from 2024-01-01 to 2024-01-31"
"What's the metadata for the USD/MXN series?"
Inflation Data:
"What's the current monthly inflation rate in Mexico?"
"Show me the annual inflation data for the last year"
"Get the accumulated inflation for the last 6 months"
Interest Rates:
"What are the current CETES 28-day rates?"
"Show me the CETES rates for the last month"
Financial Indicators:
"What are the current UDIS values?"
"Show me Banxico's reserve assets"
"Get the latest financial indicators from Banxico"
Labor Market:
"What's the current unemployment rate in Mexico?"
"Show me unemployment trends for the last year"
"How has unemployment changed over the last 2 years?"
API Reference
The server uses the Banxico SIE API with the following endpoints:
Exchange Rates:
Latest Data:
/series/SF63528/datos/oportunoHistorical Data:
/series/SF63528/datosSeries Metadata:
/series/SF63528Date Range:
/series/SF63528/datos/{start_date}/{end_date}
Inflation Data:
Monthly Inflation:
/series/SP30577/datosAccumulated Inflation:
/series/SP30579/datosAnnual Inflation:
/series/SP30578/datos
Financial Indicators:
UDIS:
/series/SP68257/datosCETES 28-day:
/series/SF282/datosBanxico Reserves:
/series/SF308843/datos
Labor Market:
Unemployment Rate:
/series/SL1/datos
Development
Project Structure
Testing
To test the server without an MCP client:
Adding New Tools
See EXTENDING.md for detailed instructions on adding new Banxico API endpoints.
Troubleshooting
Common Issues
"BANXICO_API_TOKEN environment variable not set"
Ensure your API token is properly configured in the MCP client settings
"Failed to retrieve data"
Check your internet connection
Verify your API token is valid
Ensure the Banxico API is accessible
Server doesn't start
Verify Python 3.10+ is installed
Check that uvx or required dependencies are available
Debug Mode
Run with debug logging:
Contributing
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Bank of Mexico (Banxico) for providing the SIE API
Model Context Protocol for the protocol specification
FastMCP for the excellent MCP server framework