{"id":28604523,"url":"https://github.com/ravikiranvm/aws-finops-mcp-server","last_synced_at":"2026-01-17T05:42:10.224Z","repository":{"id":297245773,"uuid":"988136264","full_name":"ravikiranvm/aws-finops-mcp-server","owner":"ravikiranvm","description":"An MCP (Model Context Protocol) server that brings powerful AWS FinOps capabilities directly into your AI assistant. Analyze cloud costs, audit for waste, and get budget insights using natural language, all while keeping your credentials secure on your local machine.","archived":false,"fork":false,"pushed_at":"2025-06-11T13:53:12.000Z","size":2254,"stargazers_count":164,"open_issues_count":2,"forks_count":49,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-01-02T13:58:38.792Z","etag":null,"topics":["ai","aws","cloud","cost","finops","llm","mcp-server"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/aws-finops-mcp-server/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ravikiranvm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-22T05:34:34.000Z","updated_at":"2025-12-29T14:13:02.000Z","dependencies_parsed_at":"2025-06-08T06:04:45.318Z","dependency_job_id":null,"html_url":"https://github.com/ravikiranvm/aws-finops-mcp-server","commit_stats":null,"previous_names":["ravikiranvm/aws-finops-mcp-server"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ravikiranvm/aws-finops-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikiranvm%2Faws-finops-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikiranvm%2Faws-finops-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikiranvm%2Faws-finops-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikiranvm%2Faws-finops-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ravikiranvm","download_url":"https://codeload.github.com/ravikiranvm/aws-finops-mcp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravikiranvm%2Faws-finops-mcp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28500866,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T04:31:57.058Z","status":"ssl_error","status_checked_at":"2026-01-17T04:31:45.816Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","aws","cloud","cost","finops","llm","mcp-server"],"created_at":"2025-06-11T18:00:57.961Z","updated_at":"2026-01-17T05:42:10.202Z","avatar_url":"https://github.com/ravikiranvm.png","language":"Python","funding_links":[],"categories":["📚 Projects (1974 total)","llm"],"sub_categories":["MCP Servers"],"readme":"# AWS FinOps MCP Server\n\n[![PyPI version](https://img.shields.io/pypi/v/aws-finops-mcp-server.svg)](https://pypi.org/project/aws-finops-mcp-server/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nAn MCP (Model Context Protocol) server that brings powerful AWS FinOps capabilities directly into your AI assistant. Analyze cloud costs, audit for waste, and get budget insights using natural language, all while keeping your credentials secure on your local machine.\n\n### Why Use the AWS FinOps MCP Server?\n\nManaging AWS costs can be complex. Finding answers to questions like \"What did we spend on S3 last month?\" or \"Do we have any unused EC2 instances?\" often requires navigating the AWS Console or writing scripts.\n\nThis server bridges that gap by connecting the powerful, natural language understanding of an LLM directly to your AWS account's financial data. You can ask complex questions and get immediate, actionable insights without ever leaving your chat interface.\n\n#### Use Cases:\n\n\u003e **Prompt on Claude Desktop:** \"Get `usage-type` based cost for all my AWS CLI profiles for the last 90 days. And get the `audit report` for all profiles for region `ap-south-1`. Make a finops report with data in minimalistic way and keep it professional.\"\n\n![alt text](Claude_Desktop.png)\n\n\u003e **Prompt on Amazon Q CLI:** \"Could you use `aws-finops` mcp server and get cost data for each month in the last 6 months for `profile 04` and present the data in a tabular format highlighting how the total cost and cost for each service has changed every month?\"\n\n![alt text](\u003cAmazon Q CLI.png\u003e)\n\n\u003e **Prompt on Claude Desktop:** \"Generate a comprehensive finops report for management using all the tools available in the AWS FinOps MCP server. Use all the available CLI profiles and use the region ap-south-1 wherever required.\"\n\n![alt text](\u003cClaude - FinOps Report.png\u003e)\n\n#### Other sample reports generated by Claude using AWS FinOps MCP Server\n\n\u003e **\u003ca href=\"https://ravikiranvm.github.io/finops-usage-report/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eNetwork Usage \u0026 Cost Analysis Report\u003c/a\u003e**\n\n\n\u003e **\u003ca href=\"https://ravikiranvm.github.io/finops-comprehensive/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eComprehensive FinOps Report\u003c/a\u003e**\n\n---\n\n## Table of Contents\n\n1.  [What is an MCP Server?](#what-is-an-mcp-server)\n2.  [Why Use the AWS FinOps MCP Server?](#why-use-the-aws-finops-mcp-server)\n3.  [Key Features](#key-features)\n4.  [Prerequisites](#-prerequisites)\n    *   [General Requirements](#general-requirements)\n    *   [AWS Requirements \u0026 IAM Permissions](#aws-requirements--iam-permissions)\n5.  [Installation](#-installation)\n6.  [Configuration](#-configuration)\n    *   [Step 1: AWS CLI Profile Setup](#step-1-aws-cli-profile-setup)\n    *   [Step 2: MCP Client Setup (Claude for Desktop)](#step-2-mcp-client-setup-claude-for-desktop)\n7.  [Usage \u0026 Example Prompts](#-usage--example-prompts)\n    *   [Use Case: Cost \u0026 Usage Analysis](#use-case-cost--usage-analysis)\n    *   [Use Case: FinOps Waste \u0026 Savings Audit](#use-case-finops-waste--savings-audit)\n8.  [Tool Reference](#-tool-reference)\n    *   [`get_cost`](#get_cost)\n    *   [`run_finops_audit`](#run_finops_audit)\n9.  [Cost Considerations](#-cost-considerations)\n10. [Development \u0026 Contributing](#-development--contributing)\n11. [License](#-license)\n\n---\n\n### Key Features\n\n-   **Detailed Cost Analysis**: Query your AWS cost data using tags, time ranges, and service groupings.\n-   **Automated FinOps Audit**: Instantly find common sources of cloud waste, such as stopped EC2 instances, unattached EBS volumes, and unassociated Elastic IPs etc.\n-   **Budget Monitoring**: Check the status of your AWS Budgets to see if you are on track, over budget, or forecasted to exceed your limits.\n-   **Multi-Profile \u0026 Multi-Region**: Seamlessly query across any or all of your configured AWS accounts and regions in a single command.\n-   **Secure by Design**: Your AWS credentials **never leave your machine**. The server runs locally and uses your existing AWS CLI configuration to make API calls directly to AWS.\n\n### Prerequisites\n\n#### General Requirements\n\n-   **Python 3.10+**: Ensure you have a compatible Python version installed.\n-   **MCP Client**: An application that supports MCP. This guide uses [Claude for Desktop](https://claude.ai/download) as the example.\n\n#### AWS Requirements \u0026 IAM Permissions\n\n-   **AWS CLI**: The [AWS CLI must be installed](https://aws.amazon.com/cli/) on your machine.\n-   **AWS Account \u0026 Profile(s)**: You need at least one configured AWS profile.\n-   **IAM Permissions**: The AWS identity (IAM User or Role) associated with your profile(s) requires specific read-only permissions to function correctly.\n\nCreate an IAM policy with the following JSON and attach it to your user or role. These permissions are **read-only** and grant access only to the necessary services.\n\n```json\n{\n    \"Version\": \"2012-10-17\",\n    \"Statement\": [\n        {\n            \"Sid\": \"AllowFinOpsMCPServer\",\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"ce:GetCostAndUsage\",\n                \"budgets:ViewBudget\",\n                \"ec2:DescribeInstances\",\n                \"ec2:DescribeVolumes\",\n                \"ec2:DescribeAddresses\",\n                \"sts:GetCallerIdentity\"\n            ],\n            \"Resource\": \"*\"\n        }\n    ]\n}\n```\n\n### Installation\n\nThere are several ways to install the AWS FinOps MCP Server:\n\n### Option 1: Using pipx (Recommended)\n```bash\npipx install aws-finops-mcp-server\n```\n\nIf you don't have `pipx`, install it with:\n\n```bash\npython -m pip install --user pipx\npython -m pipx ensurepath\n```\n\n### Option 2: Using uv (Fast Python Package Installer)\n[uv](https://github.com/astral-sh/uv) is a modern Python package installer and resolver that's extremely fast.\n\n```bash\n# Install uv if you don't have it yet\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n\n# Create project directory\nmkdir aws-finops-mcp-server \u0026\u0026 cd aws-finops-mcp-server\n\n# Create and activate python virtual environment\nuv venv \u0026\u0026 source .venv/bin/activate\n\n# Install aws-finops-dashboard\nuv pip install aws-finops-mcp-server\n```\n\n### Option 3: From Source\n```bash\n# Clone the repository\ngit clone https://github.com/ravikiranvm/aws-finops-mcp-server.git\ncd aws-finops-mcp-server\n\n# Create and activate python virtual environment\npython -m venv .venv \u0026\u0026 source .venv/bin/activate\n\n# Install using pip\npip install -e .\n```\n\n### Configuration\n\n#### Step 1: AWS CLI Profile Setup\n\nIf you haven't already, configure your AWS profiles. For each profile you want to use, run:\n\n```bash\naws configure --profile your-profile-name\n```\n\nThe CLI will prompt you for:\n-   `AWS Access Key ID`: Your credential's access key.\n-   `AWS Secret Access Key`: Your credential's secret key.\n-   `Default region name`: e.g., `us-east-1`.\n-   `Default output format`: e.g., `json`.\n\nFor your default profile, you can omit the `--profile` flag.\n\n#### Step 2: MCP Client Setup (Claude for Desktop)\n\nTo use this server with Claude for Desktop, you need to tell the application how to run it.\n\n1.  Open your Claude for Desktop configuration file. It's located at:\n    *   **macOS / Linux**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n    *   **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n2.  Add the following entry to the `mcpServers` object. If the file doesn't exist or is empty, you'll need to create the JSON structure.\n\n    ```json\n    {\n      \"mcpServers\": {\n        \"aws_finops\": {\n          \"command\": \"aws-finops-mcp-server\",\n          \"args\": []\n        }\n      }\n    }\n    ```\n\n3.  Save the file and **completely restart Claude for Desktop**.\n\nAfter restarting, the server will launch in the background, and its tools will be available to Claude.\n\n\u003e ⚠️ **Note:**  \n\u003e After installing this tool (e.g., via `pipx install aws-finops-mcp-server`), ensure the `aws-finops-mcp-server` command is available in your system's `PATH`.  \n\u003e \n\u003e To check where it's installed, run:\n\u003e \n\u003e ```bash\n\u003e which aws-finops-mcp-server\n\u003e ```\n\u003e\n\u003e If it returns a path like `/Users/yourname/.local/bin/aws-finops-mcp-server`, but it's **not in your PATH**, you have two options:\n\u003e\n\u003e - Run `pipx ensurepath` and restart your terminal, **or**\n\u003e - Use the full path in your `mcpServers` config:\n\u003e\n\u003e ```json\n\u003e {\n\u003e   \"mcpServers\": {\n\u003e     \"aws_finops\": {\n\u003e       \"command\": \"/full/path/to/aws-finops-mcp-server\",\n\u003e       \"args\": []\n\u003e     }\n\u003e   }\n\u003e }\n\u003e ```\n\n### Usage \u0026 Example Prompts\n\nYou can now ask questions about your AWS finances in plain English.\n\n#### Use Case: Cost \u0026 Usage Analysis\n\n\u003e **Basic Query:**\n\u003e \"Show me my AWS costs for the `default` profile this month.\"\n\n\u003e **Time-Range Query:**\n\u003e \"get aws cost for my `dev` profile for the last 14 days\"\n\n\u003e **Filtered \u0026 Grouped Query:**\n\u003e \"What was the cost for my `production` profile last month, filtered by the tag `CostCenter=Project-Alpha`, and grouped by `INSTANCE_TYPE`?\"\n\n\u003e **Multi-Profile Query:**\n\u003e \"Compare the costs for my `staging` and `production` profiles over the last 30 days.\"\n\n#### Use Case: FinOps Waste \u0026 Savings Audit\n\n\u003e **Simple Audit:**\n\u003e \"Run a finops audit on my `default` profile in `us-east-1`.\"\n\n\u003e **Multi-Region, Multi-Profile Audit:**\n\u003e \"Check for unused resources in `us-west-2` and `eu-west-1` for my `prod-us` and `prod-eu` profiles.\"\n\n\u003e **Comprehensive Audit for All Profiles:**\n\u003e \"Run a FinOps audit for all my configured profiles in `us-east-1`.\"\n\n### Supported Clients\n- Claude Desktop\n- Amazon Q CLI\n- Any MCP-compatible client supporting tools \n\u003e View the list of clients that support MCP Servers at \u003chttps://modelcontextprotocol.io/clients\u003e\n\n### Tool Reference\n\n#### `get_cost`\nFetches cost and usage data from AWS Cost Explorer.\n\n| Parameter | Type | Description |\n| :--- | :--- | :--- |\n| `profiles` | `List[str]` | A list of AWS CLI profile names to use. |\n| `all_profiles` | `bool` | If `True`, use all available profiles. Defaults to `False`. |\n| `time_range_days`| `int` | Number of past days to fetch data for (e.g., `7` for last 7 days). |\n| `start_date_iso` | `str` | Start date in `YYYY-MM-DD` format. Takes precedence over `time_range_days`. |\n| `end_date_iso` | `str` | End date in `YYYY-MM-DD` format. Must be used with `start_date_iso`. |\n| `tags` | `List[str]` | Filter by cost allocation tags. Format: `[\"Key=Value\", \"Key2=Value2\"]`. |\n| `dimensions` | `List[str]` | Filter by dimensions. Format: `[\"REGION=us-east-1\"]`. |\n| `group_by` | `str` | The dimension to group costs by. Default is `SERVICE`. |\n\n#### `run_finops_audit`\nRuns a financial audit to find unused and potentially costly resources.\n\n| Parameter | Type | Description |\n| :--- | :--- | :--- |\n| `regions` | `List[str]` | A list of AWS regions to run the audit in (e.g., `[\"us-east-1\", \"eu-west-1\"]`). |\n| `profiles` | `List[str]` | A list of AWS CLI profile names to use. |\n| `all_profiles`| `bool` | If `True`, use all available profiles. Defaults to `False`. |\n\n\u003e **Output Format:** JSON, CSV, PDF, HTML, Markdown (depending on client capabilities)\n\n### Cost Considerations\n\nThis tool interacts with the AWS Cost Explorer API. AWS charges for these API calls.\n-   **Cost:** Every time you use `get_cost` tool, it makes 2 calls to the Cost Explorer API and it costs **$0.01**.\n-   The `run_finops_audit` tool calls other AWS service APIs (EC2, Budgets) which are generally included in the free tier or have negligible costs at typical usage levels.\n\n### Development \u0026 Contributing\n\nContributions are welcome! If you'd like to improve the server or add new features, please follow these steps:\n\n1.  **Fork and Clone:** Fork the repository and clone it to your local machine.\n2.  **Set Up Environment:**\n    ```bash\n    git clone https://github.com/your-username/aws-finops-mcp-server.git\n    cd aws-finops-mcp-server\n    python -m venv .venv\n    source .venv/bin/activate  # On Windows, use `.venv\\Scripts\\activate`\n    ```\n3.  **Install in Editable Mode:**\n    ```bash\n    pip install -e .\n    ```\n4.  **Make Changes:** Add your features or bug fixes.\n5.  **Submit a Pull Request:** Open a PR against the `main` branch with a clear description of your changes.\n\n### License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for full details.\n\n---\n\nThis is a sister project of \u003chttps://github.com/ravikiranvm/aws-finops-dashboard\u003e\n\nMade with ❤️ by **Ravi Kiran**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravikiranvm%2Faws-finops-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fravikiranvm%2Faws-finops-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravikiranvm%2Faws-finops-mcp-server/lists"}