Skip to main content
Glama

Approve Timesheets

approve_timesheets
Idempotent

Approves one or more filed timesheets, by submissionId, as the signed-in approver. Each week is checked on its own against the workspace approval rules (role, reports-to line, and no approving one's own hours unless the workspace allows it), so a refused week is reported beside the approved ones and never blocks them. Approved weeks lock. Handles "approve my team's timesheets for last week".

Input Schema

NameRequiredDescriptionDefault
userIdNoNot needed when signed in: these tools act as the signed-in approver, and any other ID is refused. Applies only to a workspace connection with no signed-in user, naming who is deciding.
submissionIdsYesThe weeks to approve, by the submissionId a timesheet approvals list gave. At most 25.

Output Schema

NameRequiredDescriptionDefault
noteNo
refusedNo
resultsNo
approvedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the annotations by disclosing the per-week independent evaluation rule (role, reports-to line, no self-approval unless workspace allows), that refused weeks are reported alongside approvals and never block them, and that approved weeks lock. The idempotentHint=true annotation is consistent with this locking behavior rather than contradicted by it.

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?

Three compact sentences, front-loaded with the action and its identity constraint, then the failure semantics. The trailing quoted phrase is a mildly unconventional addition but earns its place as an intent trigger.

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?

With annotations and an output schema already present, the description supplies exactly the remaining gaps: who may approve, how per-week validation works, partial-failure behavior, and the locking side effect. An agent has everything needed to invoke it correctly.

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 both parameters (submissionIds and userId) are already fully documented in the schema, including the source of submissionId and the 25-item cap. The description only restates that approval is by submissionId, adding no syntax or format detail beyond the schema, so the baseline of 3 applies.

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 specific verb (approves), resource (filed timesheets), the keying parameter (submissionId), and the acting identity (signed-in approver). It is clearly separable from sibling verbs like return_timesheet, recall_timesheet, and submit_timesheet without needing their schemas.

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?

Usage context is clear: it names the actor constraint (signed-in approver; other IDs refused) and gives a natural-language trigger example ('approve my team's timesheets for last week'). It stops short of explicitly routing to alternatives such as return_timesheet or recall_timesheet when approval is the wrong action.

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