Skip to main content
Glama
akutishevsky

LunchMoney MCP Server

create_category

Create a new category or category group to organize transactions. Optionally configure income, budget exclusion, and archive settings.

Instructions

Create a new category or a category group. Set is_group=true to create a category group; supply children as an array of existing category IDs and/or strings (names of new sub-categories to create).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName of the category. 1-100 characters.
descriptionNoOptional description. Up to 200 characters.
is_incomeNoWhether transactions in this category should be treated as income.
exclude_from_budgetNoWhether transactions in this category should be excluded from budgets.
exclude_from_totalsNoWhether transactions in this category should be excluded from calculated totals.
archivedNoWhether the category should be archived.
is_groupNoIf true, creates a category group instead of a category. When true, group_id may not be set; use children to assign existing categories.
group_idNoIf set, assigns the new category to an existing category group. Cannot be set if is_group is true.
childrenNoOnly valid when is_group is true. Array of existing category IDs (numbers) and/or names of new sub-categories to create (strings).
Behavior2/5

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

The annotations only provide `idempotentHint: false`, but the description does not elaborate on behavioral traits like side effects, state changes, or error conditions. It explains the `children` mechanism but offers no transparency beyond what the schema implies.

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 a single, well-structured sentence that efficiently covers the core functionality and key conditional rules, with no extraneous information.

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?

The description adequately covers the main decision points (category vs group) given the tool's complexity and absence of output schema. However, it does not mention return values, error scenarios, or validation conflicts (e.g., setting both `is_group` and `group_id`).

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

Parameters5/5

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

Although schema coverage is 100%, the description adds significant value by explaining the conditional logic between `is_group`, `group_id`, and `children`. It clarifies that `children` can be existing IDs or new names, which is not evident from individual parameter descriptions.

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 the tool creates a new 'category' or 'category group', with specific guidance on using `is_group`. It distinguishes the two modes and mentions `children` for groups, effectively differentiating from sibling tools like `update_category` or `get_single_category`.

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 guidance on when to use `is_group=true` vs `false`, and that `children` is only valid for groups. However, it lacks explicit when-not or alternative tool recommendations (e.g., using `get_all_categories` to check existing groups).

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/akutishevsky/lunchmoney-mcp'

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