Skip to main content
Glama

Expensify: Add expense to report

expensify_add_expense_to_report

Expensify: Puts an existing expense of yours on a draft report. Adds one of your own expenses to a Draft report and returns the new total. Only expenses in your own account can be added, and an expense that is on hold is accepted but will move to a new Draft report if you submit with unheld ones. It reaches no one and can be undone in Expensify, so it does not wait for your OK. Needs the user's Cotlet API key with access to this app.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
report_idYesReport ID from list_reports.
expense_idYesExpense ID from list_expenses.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (non-read-only, non-destructive, open-world), but the description adds real behavioral detail beyond them: on-hold expenses are accepted but migrate to a new Draft report when submitted with unheld ones, the action is undoable, and it returns the new total. This is meaningful disclosure the structured fields do not provide.

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

Conciseness3/5

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

The first two sentences restate the same action ('Puts an existing expense...' then 'Adds one of your own expenses...'), which is redundant. The trailing autonomy note ('does not wait for your OK') and API key requirement are useful but framed verbosely, so the entry is longer than it needs to be.

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?

With no output schema, the description helpfully mentions the return value (new total), and it covers ownership limits, hold semantics, and reversibility. Combined with full schema coverage and existing annotations, an agent has nearly everything it needs to call this correctly.

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

Parameters3/5

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

Schema description coverage is 100%, with both report_id and expense_id documented in the schema, so the baseline is 3. The description adds only conceptual context ('draft report', 'your own expenses') without any syntax, format, or ID-origin detail beyond what the schema already supplies.

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

Purpose4/5

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

States a specific verb and resource: putting an existing expense of yours onto a draft report. The word 'existing' implicitly distinguishes it from sibling create_expense, and 'returns the new total' clarifies the outcome. It does not name the sibling alternative explicitly, so it stops short of a 5.

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?

Implies the use case ('Adds one of your own expenses to a Draft report') and gives one constraint (only your own account's expenses). However it never states when to prefer this over create_expense or attach_receipt, nor any exclusion conditions, so usage is only implied.

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