Skip to main content
Glama

Get Income By Currency

get_income_by_currency
Read-onlyIdempotent

Currency-split income (or expense) totals in ONE compact call: face totals grouped by each transaction currency (e.g. EUR face vs GBP face) PLUS the company functional-currency total for the same set. Use when the user asks "total income in EUR and in GBP", "how much came in in euros vs pounds", "income by currency", or wants face vs converted figures before an FX check. Do NOT page get_transactions to sum — this returns aggregates only (no transaction dump). Defaults to money-in (income); pass direction "out" for spend. Covers bank lines only: invoices and ledger revenue are NOT included, and a company with no bank account returns nothing here, which is not "no income". For income as the books record it, use get_profit_and_loss.

Input Schema

NameRequiredDescriptionDefault
companyNoWhich company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
to_dateNoEnd date (YYYY-MM-DD), inclusive
directionNoin = income / money in (default); out = spend / money out
from_dateNoStart date (YYYY-MM-DD), inclusive

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover readOnly, idempotent, non-destructive, and closed-world safety. The description adds substantive behavioral context: aggregates only (no transaction dump), defaults to money-in, bank-line scope only, invoices/ledger revenue excluded, and a subtle failure mode (no bank account returns nothing — not 'no income').

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?

Front-loads what the tool does, then immediately provides routing examples, do-not-use guidance, defaults, and scope caveats. Every sentence carries useful information; no filler or repetition.

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?

Although no output schema exists, the description fully describes the return shape (face totals per currency plus functional-currency total) and warns about scope limitations. An agent has everything needed to call it correctly and interpret the result.

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 coverage is 100%, so all four parameters are already documented (company default behavior, direction default, inclusive dates). The description reinforces the money-in default but adds no syntax, format, or edge-case guidance beyond what the schema provides. Baseline 3 is appropriate.

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: currency-split income/expense totals broken into face totals per currency plus functional-currency total. It explicitly distinguishes itself from sibling tools (get_transactions, get_profit_and_loss) so an agent can route correctly without reading schemas.

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?

Provides concrete user phrasings that should trigger this tool, explicitly says not to page get_transactions for summation, and names get_profit_and_loss as the alternative for book-based income. Covers when-to-use and when-to-avoid in one place.

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.