slekrem/MacroPulseMCP
If you are the rightful owner of MacroPulseMCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
MacroPulseMCP is a comprehensive Model Context Protocol (MCP) server that provides access to Trading Economics data through standardized tools.
IndicatorsTools
Economic indicators such as GDP, inflation, and unemployment.
CalendarTools
Economic calendar events and releases.
MarketsTools
Real-time market data including stocks, commodities, currencies, and bonds.
ForecastsTools
Economic forecasts and projections.
NewsTools
Economic and financial news.
MacroPulseMCP
A comprehensive Model Context Protocol (MCP) server that provides access to Trading Economics data through standardized tools. This server exposes economic indicators, market data, forecasts, news, and more through MCP-compatible interfaces.
Features
MacroPulseMCP provides 13 comprehensive tool categories covering all major Trading Economics API endpoints:
High Priority Tools
- IndicatorsTools - Economic indicators (GDP, inflation, unemployment, etc.)
- CalendarTools - Economic calendar events and releases
- MarketsTools - Real-time market data (stocks, commodities, currencies, bonds)
- ForecastsTools - Economic forecasts and projections
- NewsTools - Economic and financial news
Medium Priority Tools
- MarketsHistoricalTools - Historical market price data
- EarningsTools - Corporate earnings calendar and data
- FederalReserveTools - US Federal Reserve economic data (FRED)
- LatestUpdatesTools - Recently updated data tracking
Specialized Tools
- RatingsTools - Credit ratings (sovereign and corporate)
- ComtradeTools - International trade statistics
- WorldBankTools - World Bank development indicators
- MarketsIntradayTools - Real-time intraday trading data
Installation
Prerequisites
- .NET 9.0 or later
- Trading Economics API key
Setup
- Clone the repository:
git clone https://github.com/slekrem/MacroPulseMCP.git
cd MacroPulseMCP
- Build the project:
dotnet build
- Configure your API key in
appsettings.json
:
{
"TradingEconomics": {
"ApiKey": "guest:guest"
}
}
Usage
Running the MCP Server
dotnet run --project MacroPulseMCP
The server runs via stdio transport and automatically exposes all available tools.
Available Tools
Each tool category provides multiple methods for accessing specific data:
Economic Indicators
Get_all_indicators()
- All economic indicatorsGet_indicators_by_country(country)
- Indicators for specific countryGet_indicator_all_countries(indicator)
- Specific indicator for all countriesGet_historical_indicators(countries, indicators, startDate?, endDate?)
- Historical data
Economic Calendar
Get_all_calendar_events()
- All calendar eventsGet_calendar_events_by_date(startDate, endDate)
- Events by date rangeGet_calendar_events_by_countries(countries)
- Events by countryGet_calendar_events_by_indicator(indicators)
- Events by indicator
Markets
Get_commodities()
- Commodities pricesGet_currency()
- Currency exchange ratesGet_market_indices()
- Stock market indicesGet_bonds()
- Bond market dataGet_market_by_symbols(symbols)
- Data for specific symbols
Forecasts
Get_forecast_by_country(country)
- Forecasts by countryGet_forecasts_by_indicators(indicators)
- Forecasts by indicatorGet_forecasts_by_countries_and_indicators(countries, indicators)
- Combined forecasts
News
Get_latest_news()
- Latest economic newsGet_news_by_country(countries)
- News by countryGet_news_by_indicator(indicators)
- News by indicator
API Key
You can use the default test key guest:guest
for testing, but it has limitations. For production use, obtain your own API key from Trading Economics.
Architecture
The server is built using:
- .NET 9.0 - Runtime platform
- ModelContextProtocol - MCP server framework
- Microsoft.Extensions.Hosting - Application hosting
- Dependency Injection - Service management
Key Components
ITradingEconomicsService
- HTTP client abstraction for API callsTradingEconomicsService
- Implementation with authenticationMacroPulseMcpOptions
- Configuration model for API key- Tool classes with
[McpServerTool]
attributes for MCP exposure
Configuration
The server uses standard .NET configuration with support for:
appsettings.json
- Base configurationappsettings.{Environment}.json
- Environment-specific settings- Environment variables
Configuration Schema
{
"TradingEconomics": {
"ApiKey": "string" // Your Trading Economics API key
}
}
Development
Adding New Tools
- Create a new class in the
Tools/
directory - Add
[McpServerToolType]
attribute to the class - Add
[McpServerTool]
and[Description]
attributes to methods - Use dependency injection to access
ITradingEconomicsService
Example:
[McpServerToolType]
public class CustomTools(ITradingEconomicsService service)
{
[McpServerTool, Description("Get custom data.")]
public async Task<string> Get_custom_data(
[Description("Parameter description")] string parameter)
{
return await service.GetData($"custom/{parameter}");
}
}
Building and Testing
# Build the project
dotnet build
# Run the server
dotnet run --project MacroPulseMCP
# Clean build artifacts
dotnet clean
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.