Skip to main content
Glama

list_cost_lines

Read-onlyIdempotent

A project's cost lines (its budget list) and their totals against the budget, in the project currency. Each line is EXPECTED, COMMITTED or SPENT. summary: spent = SPENT lines; committed = COMMITTED + SPENT; forecast = every line; remaining = budget - forecast; remainingAfterCommitments = budget - committed. When summary.labourActual is a number, timesheet labour priced by earned value is included in spent, committed and forecast; null means labour is not included. A null budget means none was entered, and the remaining figures are then null, not zero. status filters lines only; summary always covers every line. Access: callers who may read the project cost (budget.read).

Input Schema

NameRequiredDescriptionDefault
statusNoOnly lines in this status.
projectIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already cover the safety profile, and the description adds substantive behavior: exactly how summary fields are derived (spent/committed/forecast/remaining), that labourActual non-null folds earned-value labour into three totals, that a null budget makes remaining figures null rather than zero, and that status filters lines only while summary always covers everything. It even discloses the required permission (budget.read).

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-loaded with the resource, then the semantics of summary, then the null/labour caveats, then access. Every sentence carries distinct information; the formula list is dense but necessary given no output schema.

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 carries the return-value burden and does it well by defining lines vs. summary and the null semantics. Minor gaps remain: line field composition, ordering, and whether results are paginated or unbounded are unspecified.

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 only 50% (projectId is undocumented in both places), but the description compensates for the undocumented-in-schema status parameter by explaining that it filters lines only and never the summary — meaning beyond the enum. projectId's meaning is conveyed by the phrase 'A project's cost lines'.

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?

First sentence names the specific resource (a project's cost lines / budget list) plus its scope (totals against the budget, in project currency), which separates it from create_cost_line, update_cost_line and get_cost_line_history by the sibling names alone. It does not explicitly name an alternative tool, 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?

Usage is implied by the semantics: read the lines and totals, optionally filtered by status. It never states when to prefer this over siblings like calculate_evm or portfolio_summary for budget roll-ups, nor any exclusion, so the agent must infer routing.

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.