Skip to main content

Model Context Protocol (MCP) server for AWS Billing and Cost Management Pricing Calculator

Project description

BCM Pricing Calculator MCP Server

MCP server for AWS Billing and Cost Management Pricing Calculator API - programmatically create cost estimates for planned cloud usage.

Author: oreokebu-dev
License: MIT

Features

Cost Estimation & Planning

  • Workload Estimates: Model usage patterns for specific workloads
  • Bill Scenarios: Create different cost configuration scenarios
  • Bill Estimates: Generate comprehensive cost projections
  • Line Item Analysis: View detailed cost breakdowns
  • Commitment Modeling: Include Savings Plans and Reserved Instances
  • Discount Integration: Apply your organization's discounts and benefit sharing

Query with Natural Language

  • Ask questions about your cost estimates in plain English
  • Create and compare multiple scenarios
  • Get detailed cost breakdowns and projections

Prerequisites

  1. Install uv from Astral
  2. Install Python using uv python install 3.10
  3. Set up AWS credentials with access to BCM Pricing Calculator
    • Configure AWS credentials with aws configure or environment variables
    • Ensure your IAM role/user has bcm-pricing-calculator:* permissions

Installation

Add to your MCP client config (e.g., ~/.kiro/settings/mcp.json for Kiro):

{
  "mcpServers": {
    "bcm-pricing-calculator": {
      "command": "uvx",
      "args": ["bcm-pricing-calculator-mcp-server@latest"],
      "env": {
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

Restart your MCP client and you're ready to use it!

Available Tools

Workload Estimates

  • create_workload_estimate - Create a new workload estimate
  • list_workload_estimates - List all workload estimates
  • get_workload_estimate - Get details of a specific workload estimate

Bill Scenarios

  • create_bill_scenario - Create a new bill scenario
  • list_bill_scenarios - List all bill scenarios for an estimate

Bill Estimates

  • create_bill_estimate - Create a new bill estimate
  • list_bill_estimates - List all bill estimates
  • get_bill_estimate - Get details of a specific bill estimate
  • list_bill_estimate_line_items - View detailed cost breakdown

Preferences

  • get_preferences - Get your pricing calculator preferences

Example Usage

Create a Cost Estimate

1. Create a bill estimate: "Create a bill estimate named 'Q1 2025 Migration'"
2. Create a scenario: "Create a bill scenario for the estimate"
3. Add usage modifications (via batch operations)
4. View results: "Show me the line items for this estimate"

Compare Scenarios

1. Create multiple scenarios with different configurations
2. Generate estimates for each
3. Compare costs across scenarios

AWS Authentication

The MCP server requires specific AWS permissions:

Required Permissions

Your AWS IAM role or user must have bcm-pricing-calculator:* permissions to access the Pricing Calculator API.

Configuration

Environment Variables (optional):

  • AWS_PROFILE - AWS profile to use (defaults to "default")
  • AWS_REGION - Must be "us-east-1" (only supported region)
  • FASTMCP_LOG_LEVEL - Log level: ERROR, INFO, DEBUG (defaults to INFO)

The server uses your AWS credentials from ~/.aws/credentials automatically.

Important Notes

  • BCM Pricing Calculator API is only available in us-east-1 region
  • All API calls are free of charge
  • Estimates are based on your organization's pricing, discounts, and commitments
  • This is different from the AWS Pricing API - it creates estimates rather than querying list prices

Documentation

Project Documentation

AWS Documentation

Development

Local Setup for Contributors

# Clone and install
git clone <repo-url>
cd bcm-pricing-calculator-mcp-server
uv pip install -e .

# Run tests
./test_local.sh

Configure for Local Development

Use local path in your MCP config:

{
  "mcpServers": {
    "bcm-pricing-calculator": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/bcm-pricing-calculator-mcp-server",
        "run",
        "bcm-pricing-calculator-mcp-server"
      ],
      "env": {
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

Testing

# Run all tests
./test_local.sh

# Run with coverage
uv run pytest --cov=bcm_pricing_calculator_mcp_server

# Run specific test
uv run pytest tests/test_server.py::test_create_workload_estimate_success

Important Note

Do NOT run the server directly - MCP servers communicate via stdio protocol and expect JSON-RPC messages. Always test through an MCP client or use the test suite.

License

MIT License - see LICENSE file for details

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bcm_pricing_calculator_mcp_server-0.1.0.tar.gz (124.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file bcm_pricing_calculator_mcp_server-0.1.0.tar.gz.

File metadata

File hashes

Hashes for bcm_pricing_calculator_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4f4dc578f61aa930270c156d7e1162bd6e79313c43c37bb86539eb84c4d8bc76
MD5 ea45b30b351e012b8e2bf0fd1ee48adb
BLAKE2b-256 1a7db8457748a4a52a81fc7a07049cf9af0b2109f9e53b8638e05ecb3f9e10ae

See more details on using hashes here.

File details

Details for the file bcm_pricing_calculator_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for bcm_pricing_calculator_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7393496508ed0587f816afb4bd5a9721c94a6283e5713e5ca17b696207e3adf8
MD5 b526209008e2da87bb745e49dfeafef8
BLAKE2b-256 83361c49c5dce8806c0e074c63ce94d721bbe0950f78be01e273bc12f0aa14b9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page