Skip to main content
Glama

Smart Money

Create a budget

create_budget

Creates a spending limit for a week, month or year, in the base currency. Without categoryIds it covers all expenses; a group category includes its subcategories. Category IDs come from list_categories.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
limitYesLimit in major units of the base currency
periodYes
rolloverNoCarry the unspent amount over to the next period
categoryIdsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
budgetYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate this is a mutable but non-destructive operation, so the description does not need to repeat that. It adds valuable behavioral detail by explaining that omitting categoryIds makes the budget cover all expenses and that a group category includes its subcategories, which clarifies the effective scope of the budget.

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

Conciseness5/5

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

The description is three short sentences with no filler. The core action and period scope are front-loaded, followed by the categoryIds behavior and the cross-reference to list_categories. Every sentence adds information the schema does not already contain.

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 the output schema exists and the annotations cover mutability, the description is largely sufficient: it explains the budget scope, the meaning of categoryIds, and the source of category IDs. The only minor gap is that the required name parameter is not semantically described, though it is unlikely to cause invocation errors.

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 description coverage is only 40%, but the description compensates for period and categoryIds by explaining the time periods and category scope semantics. It also points to list_categories as the source for valid category IDs. Name is left without semantic explanation, but it is a simple required label and the schema already enforces a non-empty string.

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 opens with a concrete verb and resource: "Creates a spending limit for a week, month or year, in the base currency." It clearly identifies the tool as budget creation and differentiates it from sibling tools like create_account, create_category, and update_budget by focusing on spending limits and budget scope.

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

Usage Guidelines3/5

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

The description gives useful context about how categoryIds affect the budget's scope and tells the agent that category IDs come from list_categories, which helps with prerequisites. However, it does not explicitly state when to prefer this tool over alternatives like update_budget or delete_budget, nor does it mention any exclusions or conflicts with other tools.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.