Skip to main content
Glama
bigonil

Azure Cost Management MCP

by bigonil

Azure Budget Create or Update

azure_budget_create

Create or update Azure cost budgets with automated alerts at 80% actual, 100% actual, and forecasted spend to prevent budget overruns and support WAF cost optimization.

Instructions

Creates or updates a cost budget with WAF-recommended alert thresholds. Default notifications: 80% actual, 100% actual, 100% forecasted — first line of defense against overruns. WAF Cost Optimization: always set both actual and forecasted alerts on every workload budget. CAF: align timeGrain with billing cycles; include Owner/Contributor in contactRoles for governance. If a budget with the same name already exists at the scope it will be updated in-place.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesUnique budget name within scope (e.g., 'monthly-sub-budget', 'prod-rg-budget').
scopeYesAzure scope: /subscriptions/{id}, /subscriptions/{id}/resourceGroups/{name}, sub:{id}, rg:{name}, mg:{managementGroupId}. CAF: set budgets at subscription level per landing zone, and at resource group level for workloads.
amountYesBudget amount in the subscription default currency.
endDateNoBudget end date (YYYY-MM-DD). Defaults to 10 years from start.
startDateYesBudget start date (YYYY-MM-DD). For Monthly grain must be the first day of a month.
timeGrainNoBudget reset period. Monthly aligns with calendar month. BillingMonth aligns with the Azure billing cycle.Monthly
contactRolesNoAzure RBAC roles to notify. CAF: Owner and Contributor ensure landing zone owners receive budget alerts without needing explicit email addresses.
contactEmailsNoEmail addresses to notify when alert thresholds are reached.
notifyAt80PercentNoWAF recommended: alert at 80% actual spend (early warning).
notifyAt100PercentNoWAF recommended: alert at 100% actual spend (budget reached).
notifyForecastAt100PercentNoWAF recommended: alert when forecast predicts 100% spend before month-end. Proactive warning before the budget is actually exceeded.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of disclosing behavioral traits. It explicitly mentions defaults ('Default notifications: 80% actual, 100% actual, 100% forecasted'), the upsert behavior, and WAF/CAF best practices. However, it does not mention required RBAC permissions or potential side effects of overwriting an existing budget beyond 'updated in-place,' so it's not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is informative but not excessively verbose. The first sentence is direct, and the WAF/CAF sentences provide useful guidance. The structure is logical (what → defaults → best practices → upsert behavior). It could be slightly tighter, but every sentence contributes to the tool's effective use.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 11 parameters and no output schema, the description covers the critical aspects: default thresholds, WAF/CAF alignment, and upsert semantics. It doesn't describe return values or error conditions, but the core behavioral context is well covered. Overall, it's complete enough for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters. The description adds value by explaining WAF-recommended thresholds ('80% actual, 100% actual, 100% forecasted') and CAF guidance for timeGrain and contactRoles, giving semantic context beyond the raw schema. The in-place update note clarifies the combined behavior of name and scope.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Creates or updates a cost budget' with a specific verb and resource, distinguishing it from sibling tools like azure_budget_list and azure_budget_delete. It also explains the upsert behavior ('If a budget with the same name already exists at the scope it will be updated in-place'), making the purpose and behavior unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear WAF and CAF context, advising when to set actual and forecasted alerts ('always set both actual and forecasted alerts') and how to align timeGrain with billing cycles. It doesn't explicitly exclude alternatives, but the create/update scope is clear relative to siblings. The in-place update note also guides usage for existing budgets.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bigonil/azure-cost-management-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server