HeatPump MCP Server
A Model Context Protocol (MCP) server for residential heat pump sizing, cost estimation, and cold-climate performance verification. Use with AI assistants like Claude Desktop, Claude Code, Cursor, and other MCP clients.
Works out-of-the-box with bundled data - no API keys required!
Quick Start
1. No Installation Needed!
The server runs directly via uvx - no installation required. Your MCP client will handle this automatically.
2. Configure Your MCP Client
Choose your preferred AI assistant:
Claude Desktop (Anthropic)Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"heatpump-calculator": {
"command": "uvx",
"args": ["--refresh", "--from", "git+https://github.com/subspace-lab/heatpump-mcp-server.git", "heatpump-mcp-server"]
}
}
}
Restart Claude Desktop.
Claude Code (VS Code Extension)Add to .claude/mcp.json in your workspace:
{
"mcpServers": {
"heatpump-calculator": {
"command": "uvx",
"args": ["--refresh", "--from", "git+https://github.com/subspace-lab/heatpump-mcp-server.git", "heatpump-mcp-server"]
}
}
}
Restart VS Code.
Cursor (AI Code Editor)Add to Cursor's MCP settings (Settings > MCP):
{
"mcpServers": {
"heatpump-calculator": {
"command": "uvx",
"args": ["--refresh", "--from", "git+https://github.com/subspace-lab/heatpump-mcp-server.git", "heatpump-mcp-server"]
}
}
}
Restart Cursor.
Other MCP ClientsAny MCP-compatible client can use:
{
"mcpServers": {
"heatpump-calculator": {
"command": "uvx",
"args": ["--refresh", "--from", "git+https://github.com/subspace-lab/heatpump-mcp-server.git", "heatpump-mcp-server"]
}
}
}
3. Start Using
That's it! The server includes:
- 81 heat pump models from major manufacturers
- 2024 state-average electricity rates for all US states
- TMY3 weather station data for climate zones
No API keys needed to get started.
Features
๐ง Tools (Calculators)
calculate_heat_pump_sizing: Single-zone BTU sizing with humidity considerationscalculate_multi_zone_sizing: Floor-by-floor load calculations for complex homesestimate_energy_costs: Bill comparison and 10-year payback analysischeck_cold_climate_performance: Verify capacity at design temperatureget_electricity_rate: Fetch current electricity rates by ZIP codelist_heat_pump_models: Browse 81 heat pump models with specs
๐ Resources (Data Access)
design-temps/{zip_code}: Climate data and design temperaturesheat-pump-models: Complete model database with BTU, HSPF2, pricesclimate-zones: ASHRAE climate zone reference
๐ก Prompts (Guided Workflows)
size-heat-pump: Step-by-step sizing guidanceanalyze-costs: Cost comparison workflowverify-cold-climate: Cold climate suitability check
Example Interactions
Sizing a Heat Pump
User: I need help sizing a heat pump for my 2000 sq ft home built in 1995 in ZIP 02138.
AI: [Uses calculate_heat_pump_sizing tool]
Based on your location (Cambridge, MA - Climate Zone 5A) and home characteristics:
- Required BTU: 80,000 BTU
- Recommended range: 72,000 - 88,000 BTU
- Design temperature: 6ยฐF
...
Cost Analysis
User: What would a Mitsubishi MXZ-3C30NA cost to operate vs my gas furnace?
AI: [Uses estimate_energy_costs tool]
Annual cost comparison:
- Heat pump: $1,850/year (using bundled state average rate)
- Gas furnace: $2,400/year
- Annual savings: $550
- Payback period: 8.2 years
...
Cold Climate Verification
User: Will a Fujitsu AOU24RLXFZ work in Minneapolis?
AI: [Uses check_cold_climate_performance tool]
Cold climate analysis:
- Design temp: -13ยฐF
- Heat pump capacity at design: 18,000 BTU
- Your heating load: 75,000 BTU
- Coverage: 24% (Inadequate)
- Recommendation: You'll need substantial backup heat...
Advanced Configuration
Optional: Live Electricity Rate Data
For more accurate electricity rates, you can optionally provide an EIA API key:
Get a free EIA API key: https://www.eia.gov/opendata/register.php
Add to your MCP client config:
{
"mcpServers": {
"heatpump-calculator": {
"command": "uvx",
"args": ["--refresh", "--from", "git+https://github.com/subspace-lab/heatpump-mcp-server.git", "heatpump-mcp-server"],
"env": {
"EIA_API_KEY": "your_eia_api_key_here"
}
}
}
}
Or create a .env file in your working directory:
# Optional: For live electricity rate lookups
EIA_API_KEY=your_eia_api_key_here
Note: Without an API key, the server uses 2024 state-average electricity rates, which are generally accurate for cost estimates.
Installation from Source
For Development or Customization
git clone https://github.com/subspace-lab/heatpump-mcp-server.git
cd heatpump-mcp-server
uv pip install -e .
For Local Installation (Advanced)
If you prefer to install the package locally instead of using uvx:
# Install from GitHub
uv pip install git+https://github.com/subspace-lab/heatpump-mcp-server.git
# Then configure your MCP client to use the local installation:
{
"mcpServers": {
"heatpump-calculator": {
"command": "heatpump-mcp-server"
}
}
}
Note: Using uvx with --refresh is recommended for most users as it automatically updates to the latest version.
Architecture
Built on FastMCP for easy MCP server development.
Data Sources
- Heat Pump Models: Bundled database of 81 models (Mitsubishi, Fujitsu, Daikin, LG, etc.)
- Climate Data: TMY3 weather station database with design temperatures
- Electricity Rates: Bundled 2024 state averages (EIA API optional for live data)
Calculation Methods
- Sizing: Climate-zone specific BTU/sqft coefficients based on building age and insulation
- Costs: Monthly degree-day analysis with heat pump COP curves
- Cold Climate: Manufacturer capacity curves with temperature derating
Development
Setup Development Environment
# Clone repo
git clone https://github.com/subspace-lab/heatpump-mcp-server.git
cd heatpump-mcp-server
# Install with dev dependencies
uv pip install -e ".[dev]"
# Run tests
pytest
# Lint code
ruff check .
Project Structure
heatpump_mcp_server/
โโโ src/heatpump_mcp_server/
โ โโโ server.py # Main MCP server
โ โโโ tools.py # Calculator tools
โ โโโ resources.py # Data resources
โ โโโ prompts.py # Guided prompts
โ โโโ config.py # Configuration
โ โโโ models/ # Pydantic models
โ โโโ services/ # Business logic
โ โโโ quick_sizer_service.py
โ โโโ bill_estimator_service.py
โ โโโ cold_climate_service.py
โ โโโ ...
โโโ data/ # Bundled data files
โ โโโ hpmodels.json # 81 heat pump models
โ โโโ eeweather_stations.json # Weather data
โโโ tests/
โโโ pyproject.toml
โโโ README.md
Contributing
Contributions welcome! Areas for improvement:
- Additional heat pump models
- More weather stations for better coverage
- Manual J load calculation support
- International climate zone support
License
MIT License - see LICENSE file for details.
Acknowledgments
- Climate data from EEWeather
- Heat pump specs compiled from manufacturer data
- Built with FastMCP
- Electricity rate fallbacks from EIA