A Model Context Protocol (MCP) server for accessing the Climatiq API to calculate carbon emissions. This allows AI assistants to perform real-time carbon calculations and provide climate impact insights.
demo-climatiq-1.mov
demo-climatiq-2.mov
This MCP server integrates with the Climatiq API to provide carbon emission calculations for AI assistants:
- set-api-key: Configure the Climatiq API key used for authentication
- electricity-emission: Calculate carbon emissions from electricity consumption
- travel-emission: Calculate carbon emissions from travel by car, plane, or train
- search-emission-factors: Search for specific emission factors in the Climatiq database
- custom-emission-calculation: Perform custom calculations using specific emission factors
- cloud-computing-emission: Calculate emissions from cloud computing resources usage
- freight-emission: Calculate emissions from freight transportation
- procurement-emission: Calculate emissions from procurement spending
- hotel-emission: Calculate emissions from hotel stays
- travel-spend: Calculate emissions from travel expenses
- Carbon calculation results are exposed as resources with a
climatiq://calculation/{id}
URI scheme - Each resource contains detailed information about an emission factor and calculation results
- climate-impact-explanation: Generate natural language explanations about the climate impact of specific emission calculations
This project uses uv
for virtual environment and dependency management. Make sure to install uv first.
# Clone the repository
git clone https://github.com/your-org/climatiq-mcp-server.git
cd climatiq-mcp-server
# Create a virtual environment
uv venv
# Activate the virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate
# Install dependencies with development extras
uv sync --dev --extra all
uv pip install climatiq-mcp-server
The server requires a Climatiq API key to function. You have several options to provide it:
-
Environment Variable: Set the
CLIMATIQ_API_KEY
environment variable before starting the serverexport CLIMATIQ_API_KEY=your_climatiq_api_key
-
Configuration During Installation:
CLIMATIQ_API_KEY=your_climatiq_api_key uv pip install climatiq-mcp-server
-
set-api-key Tool: Use the
set-api-key
tool to configure it during runtime within the AI assistant -
Configuration File: Create a
.env
file in the project directory:CLIMATIQ_API_KEY=your_climatiq_api_key
To get a Climatiq API key:
- Sign up at app.climatiq.io
- Follow the instructions at Getting API Keys
The server can be started directly from the command line:
climatiq-mcp-server
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Configuration Example
"mcpServers": {
"climatiq-mcp-server": {
"command": "climatiq-mcp-server",
"env": {
"CLIMATIQ_API_KEY": "your_climatiq_api_key"
}
}
}
The examples/
directory contains:
- climatiq.ipynb: A Jupyter notebook demonstrating direct API usage with Climatiq
- simple_test.py: A simple utility for testing the API integration directly without MCP protocol
# Run the simple test
python examples/simple_test.py
The utils/
directory contains several helpful scripts:
The test_client.py
script tests all the tools, prompts, and resources:
python utils/test_client.py
The llm_example_client.py
script demonstrates how a Large Language Model (like Claude) could interact with the Climatiq MCP server:
python utils/llm_example_client.py
Key features:
- Complete API wrapper with error handling and timeout management
- Resource and result caching to preserve calculation history
- Example prompts showing how to generate natural language explanations
- Demonstrates electricity emission, travel emission, and emission factor search capabilities
A command-line interface tool for direct API access without the MCP server complexity:
# For electricity emissions
python utils/climatiq_cli.py electricity --energy 1000 --unit kWh --region US
# For travel emissions
python utils/climatiq_cli.py travel --mode car --distance 100 --unit km --region US
Use the run_mcp_server.py
script to directly run the server without installing:
python utils/run_mcp_server.py
An Activity ID is a key concept in Climatiq's API that groups similar emission factors together:
- Each emission factor in the Climatiq database has an activity ID
- Activity IDs group emission factors describing the same activity across regions, years, sources, etc.
- Examples:
electricity-supply_grid-source_residual_mix
(electricity),passenger_vehicle-vehicle_type_car
(car travel)
The Climatiq MCP server supports multiple calculation methods:
- Distance-based method for travel emissions
- Advanced travel calculations with origin-destination pairs
- Spend-based method for when you only have expenditure data
- Direct calculations using specific emission factors
- Ensure
CLIMATIQ_API_KEY
is set correctly in your environment or .env file - Verify the API key is active in your Climatiq dashboard
- Use
examples/simple_test.py
to check if your API key works correctly
For detailed documentation on using specific tools and advanced features, see the docs/README.md file.
Climatiq provides a powerful API for carbon intelligence, allowing you to calculate emissions from electricity usage, transportation, procurement, and more. This MCP server makes those capabilities accessible to AI assistants through the Model Context Protocol.
For more information about Climatiq, visit climatiq.io.
This project is licensed under the MIT License - see the LICENSE file for details.