Skip to main content
Glama

project_profitability

Evaluate project profitability by reporting delivery hours, costs, revenue, and budget burn, then issue a per-project verdict (on track, at risk, off track).

Instructions

Report delivery hours, money and budget burn per project in one call.

Composes active project.project records (filtered by name / manager / customer) with timesheet hours (account.analytic.line grouped by project), analytic cost/revenue (grouped by analytic account) and the Budgets app when installed, into a per-project burn verdict (off_track / at_risk / on_track). When the filter matches exactly one project the report gains per-employee and per-task breakdowns.

Args: project: Optional project-name filter (name ilike). Exactly one match switches on the drill-down breakdowns. manager: Optional project-manager filter (user_id.name ilike). customer: Optional customer filter (partner_id.name ilike). date_from: Optional YYYY-MM-DD lower bound on logged hours and analytic amounts. Allocated hours and budgets stay lifetime totals, so ANY date filter disables the burn verdicts (verdict "n/a", burn percentages null). date_to: Optional YYYY-MM-DD upper bound (same caveat). top_n: Rows in the drill-down breakdowns (default 5). burn_pct_at_risk: Worst burn %% >= this -> at_risk (default 80). burn_pct_off_track: Worst burn %% >= this -> off_track (default 100). timezone_offset: UTC offset for "today" (default 7).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
top_nNo
date_toNo
managerNo
projectNo
customerNo
date_fromNo
timezone_offsetNo
burn_pct_at_riskNo
burn_pct_off_trackNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

With no annotations, the description carries the full burden and excels: it discloses the composition of active project records, timesheet hours, analytic cost/revenue, and Budgets app dependency. It also reveals that date filters disable burn verdicts and that single-project matches trigger drill-downs.

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?

The description is front-loaded with a one-sentence summary, followed by a compact explanation of data composition, and then a well-organized parameter list. No filler, every sentence adds value.

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?

Given the tool's complexity (9 params, no annotations), the description is remarkably complete. It covers purpose, data sources, filtering behavior, edge cases (date filters, single-match), and parameter details. The existence of an output schema reduces the need to describe return values, but it still explains the burn verdict logic.

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

Parameters5/5

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

Schema description coverage is 0%, but the Args section provides rich, explicit semantics for all 9 parameters—including ilike filters, default behaviors, and the date-filter caveat. This compensates fully for the schema's lack of descriptions.

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?

The description opens with a specific verb+resource: 'Report delivery hours, money and budget burn per project in one call.' It clearly distinguishes this from siblings like project_dashboard or project_status_report by focusing on profitability and burn verdicts.

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

Usage Guidelines4/5

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

The description conveys clear context for use—when you need a consolidated per-project profitability report with burn status—but does not explicitly mention when not to use it or compare it to alternatives. The data sources and filters imply appropriate scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/minhhq-a1/odoo-pulse'

If you have feedback or need assistance with the MCP directory API, please join our Discord server