Skip to main content
Glama

Expensify: Create expense

expensify_create_expense

Expensify: Creates an expense in a workspace with merchant, date, amount, currency and category. Creates one expense in your account, not on a report yet. Category and tags must exist in the workspace (read them with get_workspace), and the expense can be marked reimbursable or billable. Returns the new expense ID; add a receipt with attach_receipt and put it on a report with add_expense_to_report. By default you confirm each call; you can switch that off for this tool. Reaches other people: confirm with the user before each call. Needs the user's Cotlet API key with access to this app.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateYesDate of the expense, YYYY-MM-DD.
tagsNoTags of the workspace, from get_workspace.
amountYesAmount as a decimal number, e.g. 42.50.
billableNoDefault: false.
categoryNoA category of the workspace, from get_workspace.
currencyYesThree-letter currency code, e.g. 'USD'.
merchantYesMerchant name as on the receipt.
workspaceYesWorkspace name or ID from list_workspaces, e.g. 'Acme Studio'.
descriptionNoShort note shown on the expense.
reimbursableNoDefault: true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, but the description adds substantial context the annotations cannot: it returns the new expense ID, category/tags must pre-exist, each call is user-confirmed by default, and it 'reaches other people' so the user must be confirmed before each call. Auth requirements (Cotlet API key with app access) are also disclosed.

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?

Front-loaded with the core action, and every sentence carries operational content (prerequisites, return value, follow-ups, confirmation). Minor waste: the 'Expensify:' prefix duplicates the title, and the two confirmation sentences could be merged.

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

Completeness5/5

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

For a 10-parameter mutation with no output schema, the description covers prerequisites, the returned expense ID, downstream tools, per-call confirmation, and credentials. Nothing an agent needs to invoke it safely is missing.

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 100%, so the baseline is 3 and the schema already documents all 10 parameters. The description adds real meaning beyond the schema by stating that category and tags must already exist in the workspace, and by surfacing the reimbursable/billable toggles as a described choice rather than raw booleans.

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?

States a specific verb and resource ('Creates an expense') plus the scope ('in a workspace', 'not on a report yet'), and the fields it accepts. This clearly distinguishes it from expensify_add_expense_to_report and expensify_attach_receipt without opening either schema.

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

Usage Guidelines5/5

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

Gives explicit sequencing and prerequisites: read categories/tags with get_workspace, then add a receipt with attach_receipt and place it on a report with add_expense_to_report. It names the alternative tools by name and the condition for each, leaving nothing to inference.

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.

Resources