Skip to main content
Glama

Set project rate

project_set_rate

Set a project's hourly rate and currency, with optional re-rating of already logged time entries to reflect the new value.

Instructions

Set the hourly rate and currency used to turn tracked hours into money for a project or client. Returns the new rate and, when re-rating is asked for, how many already logged entries changed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectYesProject or client name. A partial name that matches exactly one existing project is used as that project.
currencyNoCurrency: a code (EUR, USD, GBP, PLN) or a word ('euros', 'pounds', 'zl'). Defaults to the shared business profile's default_currency, else USD.
hourly_rateYesHourly rate: a number (85) or the words the user said ('90 euros an hour'). '1,200 USD' is 1200; '12,50 EUR' is 12.50; anything ambiguous is refused.
only_missingNoOnly meaningful with apply_to_existing. True restores the old fill-the-gaps behaviour: only entries that carry no rate of their own are touched. Default false, which re-stamps every entry of the project.
apply_to_existingNoRe-rate time already logged for this project: every entry is re-stamped with the new rate, including entries that already carry one. Default false: the new rate applies to future entries only, because each entry captures the rate in force when it was logged.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.20.0

TDQS

A4/5.0
Behavior4/5

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

No annotations are present, so the description carries the behavioral disclosure burden. It discloses the return value ('Returns the new rate and... how many already logged entries changed') and the conditional re-rating behavior, plus the underlying purpose of turning tracked hours into money. It does not detail side-effect nuance, but it is far more than a minimal mutation statement.

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?

Two sentences, no fluff, front-loaded with the core purpose and then the return behavior. Every clause earns its place.

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?

There is no output schema, so the description's mention of the return value is valuable. It covers the main return contract and the conditional effect on logged entries. It could add exact response shape or caution about re-stamping entries, but the parameter schema already handles the input side thoroughly.

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%, so the baseline is 3. The description adds no parameter-level detail beyond the schema, but the schema already thoroughly documents project, currency, hourly_rate parsing behavior, only_missing, and apply_to_existing.

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 states a specific verb and resource: 'Set the hourly rate and currency' for a project or client. This clearly differentiates it from sibling read-oriented tools like rates_latest, rate_history, and rate_on.

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?

The description implies the use case—setting a project/client rate—but does not explicitly say when to use it versus alternatives or when not to use it. The sibling list contains read-style rate tools, but no routing between them is provided.

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