Skip to main content
Glama

Get a timesheet

get_timesheet
Read-onlyIdempotent

The timesheet for a date range as a grid: one row per project, hours per day, totals per project and per day, and the weekdays with nothing logged. Optionally for one client or one project. Use this to 'show me my timesheet for last week' or to check a sheet before sharing it. Days marked non-billable still count here.

Input Schema

NameRequiredDescriptionDefault
toYesLast day to include (inclusive), YYYY-MM-DD
fromYesFirst day to include, YYYY-MM-DD
clientNoOnly this client: id or exact name
projectNoOnly this project: id or "Client / Project"

Output Schema

NameRequiredDescriptionDefault
toYes
daysYesThe dates that have time logged, oldest first
fromYes
rowsYes
scopeYesThe client or project the sheet is for, or All clients
day_totalsYesHours per date across the rows
total_hoursYes
weekdays_without_timeYesMonday to Friday dates in the range with nothing logged

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?

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world behavior. The description adds useful behavioral detail beyond annotations: the output is a project-by-day grid with totals and includes weekdays with nothing logged, and non-billable days still count. It does not describe pagination or auth, but the added shape context is substantive.

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 the return shape and then gives usage context. Every sentence carries useful information, and the dense enumeration of grid contents is appropriate for a tool whose value depends on knowing what the grid includes.

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 annotations covering safety traits and an output schema present, the description does not need to explain return values in full. It covers date-range scope, optional client/project filtering, grid contents, and inclusion of non-billable days. Minor omissions such as timezone or maximum range handling keep it from being fully complete, but it is sufficient for correct invocation.

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%, and the schema already explains from/to as inclusive YYYY-MM-DD and client/project as id or name. The description confirms that client and project are optional filters for one client or one project, but adds little syntax or constraint 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?

The description states a specific verb and resource — retrieving a timesheet for a date range — and details the returned shape: one row per project, hours per day, totals, and empty weekdays. This distinguishes it from generic entry listing or project-total tools by emphasizing a grid timesheet view.

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?

It gives clear usage context: "Use this to 'show me my timesheet for last week' or to check a sheet before sharing it," which connects naturally to share_timesheet. It does not explicitly exclude alternatives like list_entries or project_totals, so it stops short of a full when/when-not routing rule.

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.