Azure FinOps MCP Server
Azure FinOps MCP: cost, budgets, forecasting and optimization for Claude, VS Code and Cursor.
Connector by raviteja-pegata · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/raviteja-pegata-azure-finops-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 14 read · 0 write · 0 deleteRead-only
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Python package
Tools by what they do 14
Read from the source code; the running server may list different tools.
Read 14 · Look things up without changing anything.
find_idle_resourcesfind_idle_resources_portfolioforecast_month_end_spendforecast_portfolio_month_end_spendget_advisor_recommendationsget_budget_statusget_cost_by_dimensionget_cost_by_tagget_cost_summaryget_month_to_date_costget_portfolio_budget_statusget_portfolio_month_to_date_cost
Show 2 more tools
get_vm_utilizationlist_subscriptions
Secrets and settings it asks for
Other settings (environment variables or headers).
AZURE_ALLOWED_SUBSCRIPTIONSAZURE_DEFAULT_SUBSCRIPTIONFINOPS_CACHE_TTL_SECONDS
Tools (14)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
find_idle_resourcesFind likely-wasted resources in a single subscription. Scans for: unattached managed disks, unassociated public IPs, unattached network interfaces, and VMs that are stopped but not deallocated (still incurring compute charges). Uses Azure Resource Graph for fast, single-query scanning. Each finding includes resource ID, name, resource group, and relevant metadata. Args: subscription_id: Subscription to scan. Omit for default.
find_idle_resources_portfolioFind idle resources across ALL allowed subscriptions. Aggregates unattached disks, stranded IPs/NICs, and stopped VMs across your entire portfolio. Use this for org-wide waste hunting.
forecast_month_end_spendForecast total spend from today through the end of the current month. Uses Azure Cost Management's built-in forecast model. Returns daily forecast rows plus a total. Combine with get_month_to_date_cost to see actual-so-far + forecast-remaining, or compare against get_budget_status to check if you'll breach. Args: subscription_id: Subscription to forecast. Omit for default.
forecast_portfolio_month_end_spendForecast month-end spend across ALL allowed subscriptions. Returns per-subscription forecasts and a portfolio total. Use for portfolio-level "will we be over budget this month" questions.
get_advisor_recommendationsGet Azure Advisor cost recommendations for a subscription. Advisor pre-computes rightsizing, reserved-instance, and shutdown recommendations with projected annual savings. Results are sorted by annual savings descending — highest-value items first. This is often the single highest-leverage tool: Advisor does the analysis; you just need to review and act. Args: subscription_id: Subscription to query. Omit for default. max_results: Cap the number of recommendations returned (default 50).
get_budget_statusList all budgets on a subscription with current spend vs. limit. Returns budget name, limit amount, current spend, percent consumed, and time grain. Useful for answering "are any budgets about to breach" or "how much budget do we have left this month". Args: subscription_id: Subscription to query. Omit for default.
get_cost_by_dimensionBreak down cost by a dimension (service, resource group, location, etc.). Use this to answer "what service costs the most" or "which resource group is driving our bill". Results are sorted by cost descending. Args: start_date: Inclusive start date YYYY-MM-DD. end_date: Inclusive end date YYYY-MM-DD. group_by: Dimension to group by. Common choices: ServiceName (Azure service like VM, Storage), ResourceGroupName (resource group), ResourceLocation (region), MeterCategory / MeterSubCategory (billing meter), SubscriptionName (useful for cross-su…
get_cost_by_tagBreak down cost by values of a specific tag (e.g. env, team, costcenter). Essential for FinOps showback/chargeback. Untagged resources appear with an empty tag value — useful for finding tagging gaps. Args: start_date: YYYY-MM-DD. end_date: YYYY-MM-DD. tag_key: The tag name to group by (case-sensitive in Azure). subscription_id: Subscription to query. top_n: Max rows to return.
get_cost_summaryReturn total actual cost for a subscription between start_date and end_date. Use this for questions like "how much did we spend last month" or "what's our cost so far this quarter". For breakdowns by service or resource group, use get_cost_by_dimension instead. Args: start_date: Inclusive start date in YYYY-MM-DD format. end_date: Inclusive end date in YYYY-MM-DD format. subscription_id: Azure subscription to query. Omit to use the configured default. granularity: "None" for a single total, "Daily" or "Monthly" for a time series.
get_month_to_date_costQuick total spend from the 1st of the current month through today. Convenience tool for the common "how are we tracking this month" question. For custom date ranges, use get_cost_summary instead. Args: subscription_id: Subscription to query. Omit for default.
get_portfolio_budget_statusGet budget status across ALL allowed subscriptions. Returns per-subscription budget summaries. Use this for portfolio-wide budget monitoring — quickly see which subscriptions have budgets at risk.
get_portfolio_month_to_date_costGet month-to-date cost across ALL allowed subscriptions. Returns per-subscription totals plus a portfolio grand total. Use this when the user asks about total spend, portfolio overview, or cross-subscription comparisons. Errors on individual subscriptions are captured but don't block the rest — you'll see which subs succeeded and which failed.
get_vm_utilizationGet CPU utilization stats for a specific VM. Use this to validate rightsizing recommendations — if Advisor says "downsize this VM", call this to confirm CPU is actually low before acting. Returns hourly CPU data plus a summary (mean, peak, sample count). Args: vm_resource_id: Full ARM resource ID, like /subscriptions/.../resourceGroups/.../providers/ Microsoft.Compute/virtualMachines/my-vm lookback_days: How many days back to query (default 14).
list_subscriptionsList all Azure subscriptions this server is allowed to query. Returns subscription name, ID, and state for each allowed subscription. Call this first when you need to find the right subscription ID for a cost or optimization query — match by name rather than guessing IDs.
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 31
- Last commit
- May 25, 2026 (5 months ago)
- Last release
- May 24, 2026 (5 months ago)
- Last package publish
- May 24, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.raviteja-pegata/azure-finops-mcp- Version
- 0.1.1
- Auth
- No auth
- Packages
- pypi azure-finops-mcp
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
Azure FinOps MCP Server. Agent Mart. https://agentmart.dev/connectors/raviteja-pegata-azure-finops-mcp (last updated 2026-10-24)