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_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1",
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}

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

  • AWS_PROFILE: AWS profile to use from your configuration file
  • AWS_REGION: Must be us-east-1 (only region where BCM Pricing Calculator is available)

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_PROFILE": "default",
        "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

Publishing

See PUBLISHING.md for instructions on publishing to PyPI.

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.3.4.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.3.4.tar.gz.

File metadata

File hashes

Hashes for bcm_pricing_calculator_mcp_server-0.3.4.tar.gz
Algorithm Hash digest
SHA256 b24aa8815d53b548a65fe6f1e483f42544bf24034acf186e11d78797f1c74d7f
MD5 025193cea69edb864009dfaac77c0fd3
BLAKE2b-256 9f8b623105c7a0e0790c2f8cac4f619f054760d866d976142255887d9eabccf2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bcm_pricing_calculator_mcp_server-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c9a097904aefa2ada759754043cc8d283c75de659ea187b6655a7dd87cd3ea3a
MD5 09180dc0590ae7d3779f9eb95fabf896
BLAKE2b-256 63b8329018c70bcdc5e8ef10786e78781873f4b47d6d067681204155054eed27

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