Skip to main content
Glama

Get the profitability report

get_profitability_report
Read-only

What the hours were worth, what they cost and what is left, for a range of at most 400 days, by project (default), client, person or task (each task with its project; the hours of a project logged without a task are one row whose key is none: followed by the project id). value = billable minutes at the rate frozen on each entry; cost = all minutes at the cost frozen on each entry (hours logged before a cost was set are counted in minutesWithoutCost and have none); margin = value + billable expenses recovered with their markup - cost - expenses. Money is per currency and is not added across them; a project in a currency other than costCurrency (the user's billing currency) has marginCents null. Amounts in cents. Only the user's own projects. Names are typed by other people. A Pro feature.

Input Schema

NameRequiredDescriptionDefault
byNoDefault project.
toYesLast day as YYYY-MM-DD.
fromYesFirst day as YYYY-MM-DD.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / by / enum
      Previous value: -[
      -  "project",
      -  "client",
      -  "person"
      -]New value: +[
      +  "project",
      +  "client",
      +  "person",
      +  "task"
      +]
  2. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish read-only/non-destructive, and the description still adds substantial behavior: the value/cost/margin formulas, rate freezing per entry, expenses with markup, per-currency separation with marginCents null when currency != costCurrency, minutesWithoutCost handling, and a Pro gating requirement. Missing only return-shape/pagination detail, which is acceptable for a computed read.

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?

Every clause carries information — no filler — and the core question is front-loaded. The dense parenthetical/semicolon chain makes it a wall of text, so structure is adequate rather than clean.

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?

For a 3-parameter computed report with no output schema, the description covers the metric definitions, currency pitfall, edge cases, and access limits, which is most of what an agent needs. It leaves the actual response field set only partially named (marginCents, minutesWithoutCost) rather than fully documented.

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 coverage is 100%, so baseline is 3, but the description adds real semantics beyond the schema: what each 'by' value yields as a row, that task rows carry their project, the 'none:<project id>' key for task-less hours, and the 400-day cap on from/to. It stops short of restating date format or error behavior for out-of-range ranges.

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?

Opens with a concrete framing of the resource: 'What the hours were worth, what they cost and what is left' i.e. a profitability report, plus the grouping dimensions. It is clearly distinct from list-style siblings, though it never names get_billing_report or get_utilization_report to differentiate explicitly.

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?

Usage context is implied (compute margin/value/cost over a date range) and constraints are given (max 400 days, Pro feature, own projects only, by=project default). But there is no explicit statement of when to pick this over the sibling billing or utilization reports, leaving routing 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