The Infracost MCP Server enables Claude to estimate and manage Terraform infrastructure costs using Infracost CLI and Cloud API.
Cost Analysis & Estimation: Generate detailed resource-level cost breakdowns for Terraform configurations, compare costs between different versions or branches, and format reports in multiple formats (JSON, HTML, table, diff). Upload estimates to Infracost Cloud for centralized tracking.
Pull Request Integration: Post and update cost estimate comments automatically to GitHub, GitLab, Azure Repos, or Bitbucket pull requests.
Tagging Policies: List, get, create, update, and delete tagging policies that enforce mandatory tags with validation rules (ANY value, LIST of allowed values, or REGEX patterns). Configure policy scope with filters for repositories, projects, resources, and branches. Block or comment on non-compliant PRs.
Cost Guardrails: List, get, create, update, and delete cost guardrails to control infrastructure spending. Set thresholds for total costs, cost increases (dollar amounts), or percentage increases. Block expensive PRs exceeding thresholds and send webhook notifications. Scope guardrails to all projects, specific repositories, or specific projects.
Custom Properties: Upload custom property values via CSV for resource classification.
Usage Templates: Access predefined usage YAML files (small, medium, large, example) as MCP resources for realistic cost estimation with different usage patterns.
Enables posting cost comments and estimates to Bitbucket pull requests for Terraform infrastructure changes.
Enables posting cost comments and estimates to GitHub pull requests for Terraform infrastructure changes.
Enables posting cost comments and estimates to GitLab pull requests for Terraform infrastructure changes.
Provides tools for Terraform cost estimation and cloud governance, including generating cost breakdowns, comparing configurations, creating tagging policies, setting up cost guardrails, and managing custom properties for resource classification.
Provides cost analysis capabilities for Terraform configurations, including breakdown generation, configuration comparison, and cost estimation for infrastructure as code.
Infracost MCP Server
MCP server that lets Claude interact with Infracost for Terraform cost estimation and cloud governance. Works with Claude Desktop and Claude Code.
What it does
Generate cost breakdowns for Terraform configurations
Compare costs between different configs or branches
Create and manage tagging policies in Infracost Cloud
Set up cost guardrails that block expensive PRs
Post cost comments to GitHub/GitLab/Azure/Bitbucket PRs
Upload custom properties for resource classification
Access predefined usage YAML files for cost estimation
Prerequisites
Node.js >= 18
Infracost CLI (for cost estimation tools)
Infracost service token from Infracost Cloud > Org Settings > API tokens
Installation
Configuration
Create a .env file in the project root:
Get your service token from the Infracost Cloud dashboard under Org Settings > API tokens.
Usage
With Claude Code
The repo includes .mcp.json and .claude/agents/ so it works out of the box - just open the project in Claude Code and the Infracost tools will be available.
With Claude Desktop
Add to your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.jsonWindows:
%APPDATA%/Claude/claude_desktop_config.json
Restart Claude Desktop after updating the config.
Examples
Natural Language Queries
Ask Claude things like:
Cost Estimation:
"What's the monthly cost of my Terraform in ./infrastructure?"
"Show me a cost breakdown for ./terraform/prod in table format"
"Generate an HTML cost report and save it to report.html"
"Upload the cost estimate from infracost.json to Infracost Cloud"
Cost Comparison:
"Compare costs between ./staging and ./prod configs"
"What's the cost difference if I switch from t3.medium to t3.large?"
"Show me cost changes between the current branch and main"
Tagging Policies:
"Create a tagging policy that requires Environment and Owner tags"
"List all tagging policies for my organization"
"Add a tagging policy that allows only 'dev', 'staging', 'prod' for Environment tags"
"Update the tagging policy to also require a CostCenter tag"
Cost Guardrails:
"Set up a guardrail that blocks PRs adding more than $200/month"
"Create a guardrail that warns when total infrastructure cost exceeds $10k/month"
"Block PRs with cost increases over 25% for my production repo"
"List all active guardrails"
Pull Request Integration:
"Post the cost estimate from infracost.json to GitHub PR #123 in owner/repo"
"Add a cost comment to the current GitLab merge request"
JSON Examples
Generate cost breakdown:
Compare configurations:
Create tagging policy:
Create cost guardrail:
See docs/EXAMPLES.md for more detailed examples.
Available Tools
CLI Tools (require Infracost CLI)
infracost_breakdown- Generate cost breakdown for Terraform infrastructureinfracost_diff- Show cost differences between two configurationsinfracost_output- Combine and format Infracost JSON filesinfracost_upload- Upload cost estimates to Infracost Cloudinfracost_comment- Post cost comments to pull requests
Cloud API Tools (require service token)
Tagging Policies:
infracost_cloud_list_tagging_policies- List all tagging policiesinfracost_cloud_get_tagging_policy- Get a specific tagging policyinfracost_cloud_create_tagging_policy- Create a new tagging policyinfracost_cloud_update_tagging_policy- Update an existing tagging policyinfracost_cloud_delete_tagging_policy- Delete a tagging policy
Guardrails:
infracost_cloud_list_guardrails- List all guardrailsinfracost_cloud_get_guardrail- Get a specific guardrailinfracost_cloud_create_guardrail- Create a cost guardrailinfracost_cloud_update_guardrail- Update an existing guardrailinfracost_cloud_delete_guardrail- Delete a guardrail
Custom Properties:
infracost_cloud_upload_custom_properties- Upload custom property values via CSV
MCP Resources
The server provides predefined Infracost usage YAML files as MCP resources:
infracost://usage/small- Small usage defaults ($5/month) for development environmentsinfracost://usage/medium- Medium usage defaults ($10/month) for staging environmentsinfracost://usage/large- Large usage defaults ($20/month) for production environmentsinfracost://usage/example- Example template showing how to customize usage values
These resources can be used to understand Infracost usage files or as templates for creating custom usage configurations. Claude can access these resources directly to help you set up cost estimation with realistic usage patterns.
Project Structure
src/- TypeScript source codedist/- Compiled JavaScript output (created bynpm run build)resources/- Predefined Infracost usage YAML filesdocs/- Additional documentation and examples.claude/- Claude Code agent configuration
Development
Troubleshooting
CLI tools not working:
Verify Infracost CLI is installed:
infracost --versionEnsure
INFRACOST_SERVICE_TOKENis set correctly
Cloud API errors:
Check that your service token has the necessary permissions
Verify the organization slug is correct
Server not connecting:
Ensure the path to
dist/index.jsis absolute in your MCP configRestart Claude Desktop after making config changes
Check that
npm run buildcompleted successfully
No resources found:
Run
terraform initin your Terraform directory firstVerify the path to your Terraform files is correct
Resources
License
MIT