Skip to main content
Glama

Set a person's rate on a project

set_member_rate
Destructive

Sets what one person is billed at on one project the user owns, over the project's, the client's and their default. null goes back to those. It applies to hours logged from then on. The person must be able to log time there. A Pro feature.

Input Schema

NameRequiredDescriptionDefault
userIdYesA person on the user's team.
boardIdYesThe project.
hourlyRateYesIn the currency's main unit: 85, "85.50", "1.250,50". null clears it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Beyond the destructiveHint annotation, it discloses the precedence it overrides, that null reverts to the fallback chain, and that the change is forward-looking only (not retroactive on already-logged hours). That is substantive mutation context. It stops short of saying whether an invalid rate or non-logging member produces an error versus silent no-op.

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?

Five very short sentences, front-loaded with the core action, then fallback behavior, temporal scope, prerequisite, and plan requirement. No filler, and each clause carries decision-relevant information.

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 mutation with a destructiveHint annotation and full schema coverage, the description covers effect scope, reset semantics, prerequisites, and plan gating. Only the error/failure surface is missing, which is minor given no output schema.

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, and the description earns an extra point by explaining the semantic relationship of hourlyRate to project/client/member defaults and restating that null clears the override back to them. The currency-format examples live in the schema and need not be repeated.

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 precise verb and resource with scope: it sets what ONE person is billed at on ONE project, which implicitly separates it from team-wide rates (set_team_rate) and from rate lookups (get_member_rates). The fallback chain ('over the project's, the client's and their default') further nails down what the value means.

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?

It gives real preconditions — the person must be able to log time on the project, and it is a Pro feature — but never names an alternative or an exclusion. It says the new rate 'applies to hours logged from then on', which hints that a different tool handles retroactive repricing (reprice_time), yet that inference is left to the agent.

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