Skip to main content
Glama

Clockify MCP by usefulapi

Update a time entry

clockify_update_time_entry
DestructiveIdempotent

WRITE: change a time entry's start, end, description, project, task, tags or billable. Only the fields you pass change: the entry is read first and every other field (custom fields included) is sent back as it was. The entry is rewritten (PUT) from a fresh read, so an edit made to the same entry in between (e.g. in the Clockify app) can be lost. A new project without task_id clears the task. GET then PUT /v1/workspaces/{workspaceId}/time-entries/{id}.

Input Schema

NameRequiredDescriptionDefault
endNoNew end time (also stops a running timer).
startNoNew start time.
tag_idsNoNew tag ids (replaces the tags; [] removes them all).
task_idNoNew task id (on the entry's project).
billableNoNew billable flag.
project_idNoNew project id.
descriptionNoNew description.
workspace_idNoWorkspace id (from clockify_list_workspaces). Default: your active workspace.
time_entry_idYesTime entry id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

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

With annotations already declaring destructiveHint=true and idempotentHint=true, the description still adds substantial non-obvious behavior: only passed fields change, the entry is read first and re-sent wholesale, a concurrent edit (e.g. in the Clockify app) can be silently lost, and a new project_id without task_id clears the task. It also states the exact GET-then-PUT endpoint. This is rich behavioral disclosure well beyond the annotations.

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?

Front-loaded with the 'WRITE:' marker, then four dense sentences that each carry distinct payload: mutation scope, partial-update semantics, concurrency/lost-update risk, and the cross-field task rule. No filler or restatement of the name or title.

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?

For a 9-parameter mutation with no output schema, the description covers what it must: what changes, what is preserved, concurrency hazard, cross-field side effects, and the underlying endpoint. Annotations cover safety hints, and the absence of an output schema means return-value detail is not required.

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 the baseline is 3 and the schema already documents each field. The description adds real semantic value on top: the cross-field rule that 'a new project without task_id clears the task' is not expressible in the flat schema. That single cross-parameter interaction is the main addition; other parameters are left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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 framing ('WRITE: change a time entry') and enumerates exactly which fields are mutable (start, end, description, project, task, tags, billable). This makes the tool's function unambiguous. However, it never names a sibling (e.g. create_time_entry, get_time_entry, delete_time_entry) to route the agent, so it falls short of the 5 tier.

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?

There is no explicit 'use this when...' or 'do not use this when...' guidance, nor any reference to the create/get/delete siblings. Usage is only implied through the word 'WRITE' and the partial-update section. An agent can infer this is the mutation path, but the description leaves sibling selection to the tool name.

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.