Skip to main content
Glama

Tempus MCP ⏱️

Tempus (Latin for "time") — An MCP server for Toggl Track.

A Model Context Protocol (MCP) server that provides AI assistants with full access to your Toggl Track time tracking data. Create time entries for past dates, manage projects, query workspaces, and more — all through natural language.

Tools

Time Entries

Tool

Description

toggl_list_time_entries

List time entries with optional date filtering

toggl_get_current_time_entry

Get the currently running time entry

toggl_create_time_entry

Create time entries for any date (past or future) with project assignment, tags, and billable status

toggl_update_time_entry

Update existing time entries (description, project, start/stop, duration)

toggl_delete_time_entry

Permanently delete a time entry

toggl_stop_time_entry

Stop a running time entry

Projects

Tool

Description

toggl_list_projects

List all projects in a workspace

toggl_get_project

Get a single project by ID

toggl_create_project

Create a new project

Workspaces & User

Tool

Description

toggl_list_workspaces

List all accessible workspaces

toggl_get_workspace

Get workspace details

toggl_get_me

Get authenticated user profile

toggl_list_clients

List clients in a workspace

Related MCP server: Toggl MCP Server

Installation

npm install -g tempus-mcp
# or
npx tempus-mcp

Usage

1. Get your Toggl API Token

Go to https://track.toggl.com/profile and copy your API token.

2. Run the MCP server

export TOGGL_API_TOKEN="your_token_here"
tempus-mcp

3. Configure your MCP client

Claude Desktop:

{
  "mcpServers": {
    "tempus": {
      "command": "tempus-mcp",
      "env": {
        "TOGGL_API_TOKEN": "your_token_here"
      }
    }
  }
}

Opencode / other MCP clients (recommended): If your MCP client does not reliably pass environment variables through npx, pass the token directly via CLI arguments:

{
  "mcpServers": {
    "tempus": {
      "command": ["npx", "-y", "tempus-mcp", "--token", "your_token_here", "--workspace-id", "12345678"]
    }
  }
}

Other MCP clients: The server uses stdio transport, compatible with any MCP client.

Environment Variables

Variable

Required

Description

TOGGL_API_TOKEN

Your Toggl Track API token

TOGGL_DEFAULT_WORKSPACE_ID

Default workspace ID for convenience

TOGGL_BASE_URL

API base URL (default: https://api.track.toggl.com/api/v9)

Features

  • Past date time slots — Create time entries for any date in the past

  • Project assignment — Assign entries to any project

  • Full CRUD — Create, read, update, delete time entries

  • Billable tracking — Mark entries as billable

  • Tag support — Add tags to time entries

  • Running entries — Start, stop, and query current timer

Development

git clone https://github.com/Kos-M/tempus-mcp.git
cd tempus-mcp
npm install
npm run build
TOGGL_API_TOKEN=your_token npm start

License

MIT

Available Tools

12 tools
toggl_create_projectC

Create a new project in a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYesNumeric workspace ID
nameYesProject name
client_idNoClient ID to associate
is_privateNoWhether the project is private
billableNoWhether entries are billable by default
colorNoProject color hex code

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only says 'create,' but omits whether the project is returned, what happens on error, or any side effects.

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?

One short sentence, no fluff. Could be slightly expanded without losing conciseness, but current is acceptable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, and the description does not explain what the tool returns or any error conditions. For a creation tool, this is a significant gap.

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 coverage is 100%, so the description need not add much. It does not provide additional meaning beyond the schema's parameter descriptions.

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?

Clearly states it creates a new project in a workspace. The resource and action are specific, and sibling tools do not include another creation tool, so no confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. No mention of prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toggl_create_time_entryA

Create a new time entry. Supports past dates - you can create time slots for any date in the past with an assigned project.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYesNumeric workspace ID
descriptionNoTime entry description
project_idNoProject ID to assign
billableNoWhether the entry is billable
tagsNoTags for the entry
startYesStart time in ISO 8601 format (e.g. 2026-06-08T07:00:00.000Z). Supports past dates.
stopNoStop time in ISO 8601 format. Omit for a running entry.
durationNoDuration in seconds. If stop is provided, duration is calculated automatically.

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only mentions past date support, omitting other behavioral traits like authentication, rate limits, or consequences of invalid inputs. Minimal disclosure for a mutation with 8 parameters.

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, each serving a purpose: first states core action, second adds key behavioral nuance. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 8 parameters and no output schema, the description is too sparse. It does not explain return values, interaction between duration and stop, or handling of null project_id. Lacks completeness for safe 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%, so parameters are already documented. The description adds context about past dates, which reiterates the 'start' parameter description. No additional meaning beyond schema.

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?

Description clearly states 'Create a new time entry' with a specific verb and resource. It distinguishes from sibling tools like toggl_update_time_entry by focusing on creation and highlighting support for past dates.

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?

Description implies usage for creating entries, especially for past dates, but does not explicitly exclude alternatives like updating existing entries or note when to use different tools. Lacks explicit when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toggl_delete_time_entryB

Delete a time entry permanently.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYesNumeric workspace ID
time_entry_idYesNumeric time entry ID

TDQS

B3.4/5.0
Behavior3/5

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

The description mentions 'permanently,' indicating irreversibility, which is a key behavioral trait. However, it does not disclose other behaviors such as effects on running entries, cascading deletions, or error states. With no annotations, the description carries the full burden but falls short.

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?

The description is a single sentence of five words, very concise and front-loaded with the tool's purpose. It could be slightly more informative without losing conciseness, but it avoids unnecessary fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 parameters, no output schema, no annotations), the description provides the core action and permanence. However, it omits details like idempotency, error scenarios, or impact on reports. It is minimally complete.

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?

The input schema already provides descriptions for both parameters ('Numeric workspace ID', 'Numeric time entry ID'), achieving 100% coverage. The description adds no additional parameter-level detail, so it meets but does not exceed the baseline.

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 clearly states the tool's action: 'Delete a time entry permanently.' It specifies the verb (Delete) and the resource (time entry), making it distinct from siblings like update or stop.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool vs. alternatives like toggl_stop_time_entry or toggl_update_time_entry. The description lacks context about prerequisites or scenarios where deletion is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toggl_get_current_time_entryA

Get the currently running time entry, if any.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided. The description only hints at potential null return with 'if any' but does not specify return format, error behavior, or authentication requirements.

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 a single concise sentence (9 words) front-loaded with the verb, with no wasted words.

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 simple parameterless tool, the description adequately states its purpose but could be more explicit about the return value (e.g., time entry object or null).

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?

There are no parameters, and schema coverage is 100% (empty). The description adds no parameter info, but none is needed.

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 clearly states the verb 'Get' and the specific resource 'currently running time entry', distinguishing it from sibling tools like toggl_get_time_entry (specific ID) and toggl_list_time_entries (list).

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 use when checking for a running entry with 'if any', but lacks explicit guidance on when not to use or references to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toggl_get_meA

Get the authenticated user profile, including default workspace ID.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It correctly indicates that the tool requires authentication (implied by 'authenticated'). It does not disclose any other behavioral traits such as rate limits, caching, or side effects, but for a simple read operation, this is adequate.

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 a single concise sentence that front-loads the key information. There is no wasted text or redundancy.

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?

Given the tool has no parameters, no output schema, and is a simple retrieval, the description is complete. It specifies what the user gets (profile including default workspace ID). No additional information is necessary.

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?

The input schema has zero parameters, so no parameter documentation is needed. The description does not add any parameter semantics, but it is not required. According to the rubric, zero parameters have a baseline of 4, which is appropriate.

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 clearly states the tool's purpose: retrieving the authenticated user profile, including the default workspace ID. It uses a specific verb ('Get') and resource ('authenticated user profile'), and it distinguishes itself from sibling tools like toggl_get_workspace or toggl_get_project.

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?

No explicit guidance on when to use this tool vs alternatives. However, as a simple profile retrieval with no parameters, its use case is self-evident. It does not mention any prerequisites or exclusions, but the context is straightforward.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toggl_get_projectC

Get a single project by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYesNumeric workspace ID
project_idYesNumeric project ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only states a read operation. No mention of authorization, error handling, rate limits, or side effects.

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?

The description is a single concise sentence with no wasted words, but it is somewhat underspecified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and sibling tools, the description is minimal. It does not explain the response format or error scenarios, but for a simple get it is marginally adequate.

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 coverage is 100%, so baseline is 3. The description does not add any additional meaning beyond the schema's parameter descriptions.

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 states 'Get a single project by ID', clearly specifying the verb (get), resource (project), and scope (single by ID). It distinguishes from sibling tool toggl_list_projects which lists multiple projects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as toggl_list_projects, or any prerequisites beyond the required parameters in the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toggl_get_workspaceB

Get a single workspace by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYesNumeric workspace ID

TDQS

B3/5.0
Behavior1/5

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

No annotations are provided, and the description does not disclose any behavioral traits beyond the basic purpose. There is no mention of permissions, rate limits, response details, or side effects.

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 a single, efficient sentence that gets straight to the point with no extraneous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the tool is simple, the description lacks context about what the response includes and any prerequisites. Given no output schema, the description should compensate but does not.

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 coverage is 100%, so baseline is 3. The description adds no meaning beyond the schema's 'Numeric workspace ID' for the workspace_id parameter.

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 clearly states the verb ('Get'), the resource ('workspace'), and the identification method ('by ID'). It distinguishes from siblings like toggl_list_workspaces and toggl_get_project.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., when to use list_workspaces instead). The description lacks explicit context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toggl_list_projectsB

List all projects in a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYesNumeric workspace ID

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'list all projects' without mentioning pagination, rate limits, permissions, or whether it returns only active projects. This lack of detail reduces transparency.

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 a single, clear sentence with no extraneous words. It efficiently communicates the tool's core purpose without any fluff, earning top marks for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description fails to specify what the response contains (e.g., list of project objects with fields). This omission leaves the agent uncertain about the return format, making the description incomplete.

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 coverage is 100% with a clear description of workspace_id as 'Numeric workspace ID'. The tool description adds no additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.

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 'List all projects in a workspace' clearly specifies the verb (list), the resource (projects), and the scope (in a workspace). It effectively distinguishes from sibling tools like toggl_get_project (single project) and toggl_create_project (create), making the tool's purpose unambiguous.

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 usage when one needs all projects in a workspace, but it does not provide explicit guidance on when to use this tool versus alternatives like toggl_get_project or toggl_list_workspaces. No exclusion criteria or usage contexts are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toggl_list_time_entriesC

List time entries with optional date filtering. Supports querying entries by date range.

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNoUNIX timestamp - get entries modified since this date
beforeNoISO date - get entries with start time before this
start_dateNoISO date - entries starting from this date
end_dateNoISO date - entries up to this date

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description should disclose behavioral traits like pagination, scope (workspace?), or rate limits. It only mentions date filtering, missing critical operational context.

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 short sentences, front-loaded with purpose. Every part is relevant and no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks description of return format, pagination, error handling, or workspace context. For a list tool with no output schema and optional parameters, the description is too minimal to be fully actionable.

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 coverage is 100% with each parameter described (e.g., 'since' as UNIX timestamp, 'before' as ISO date). The description adds 'date filtering' as a summary but no extra meaning beyond 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 clearly states the verb 'list' and resource 'time entries', with optional date filtering. It distinguishes from sibling create/delete/update tools, though does not differentiate from other list tools like toggl_list_projects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no when-not-to or prerequisites. The description only states what it does, not context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toggl_list_workspacesA

List all workspaces accessible to the user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as authorization requirements, rate limits, or side effects. The read-only nature is implied by 'list' but not explicitly stated, leaving some ambiguity.

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 a single sentence, concise and to the point with no unnecessary words. It effectively communicates the tool's purpose.

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 simple list tool with no parameters and no output schema, the description is largely adequate. It covers what the tool does, though it could mention that no output schema is available and hint at the returned information (e.g., workspace names and IDs).

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?

There are no parameters (0 params), and the schema coverage is 100% trivially. The description adds value by specifying the scope 'all workspaces accessible to the user', which clarifies the return set beyond the empty schema.

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 clearly states the verb 'list' and the resource 'workspaces', specifying 'all workspaces accessible to the user'. It distinguishes from siblings like toggl_get_workspace (single) and toggl_list_projects (different resource).

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 usage context (list all workspaces for the user) but provides no explicit guidance on when to use this tool versus alternatives such as toggl_get_workspace, or any when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toggl_stop_time_entryB

Stop a running time entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYesNumeric workspace ID
time_entry_idYesNumeric time entry ID

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, and the description only states the action. Does not disclose behavior if the entry is already stopped or not running, nor any side effects or idempotency.

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?

Single sentence with no unnecessary words, but could be slightly more informative while remaining concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple stop action with two required numeric params and no output schema, the description is adequate but could clarify that the time entry must be running.

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 coverage is 100%, so the schema already describes the parameters as numeric IDs. The description adds no extra meaning beyond the schema, meeting the baseline.

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 'Stop a running time entry' clearly specifies the action (stop) and the resource (running time entry), distinguishing it from creation, deletion, or update tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as when to stop vs delete a time entry. Lacks context about prerequisites (e.g., entry must be running).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toggl_update_time_entryB

Update an existing time entry. You can modify the description, project assignment, start/stop times, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYesNumeric workspace ID
time_entry_idYesNumeric time entry ID
descriptionNoNew description
project_idNoNew project ID (null to unassign)
billableNo
tagsNo
startNoNew start time in ISO 8601 format
stopNoNew stop time in ISO 8601 format
durationNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It does not disclose behavioral traits such as idempotency, consequences of updating start/stop/duration, or required permissions. The description only says 'modify' without detailing side effects or constraints.

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 a single short sentence that is front-loaded with the core purpose. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters and no output schema, the description is too brief. It does not explain how parameters interact (e.g., start/stop vs duration), whether billable and tags are optional, or what the response looks like.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 67% schema description coverage, the baseline is lowered. The description merely lists examples (description, project assignment, start/stop times) without adding meaning beyond the schema. It does not explain the relationship between start, stop, and duration, or what 'project_id: null' means.

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 clearly states the action 'Update an existing time entry' and lists modifiable fields like description, project assignment, start/stop times. This distinguishes it from sibling tools like create_time_entry, delete_time_entry, and stop_time_entry.

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 when to use the tool (when you need to modify a time entry), but it does not provide explicit guidance on when not to use it or how it compares to alternatives like toggl_stop_time_entry or toggl_create_time_entry.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 12 tool updatesv0.1.4
    • First observedtoggl_create_project
    • First observedtoggl_create_time_entry
    • First observedtoggl_delete_time_entry
    • First observedtoggl_get_current_time_entry
    • First observedtoggl_get_me
    • First observedtoggl_get_project
    • First observedtoggl_get_workspace
    • First observedtoggl_list_projects
    • First observedtoggl_list_time_entries
    • First observedtoggl_list_workspaces
    • First observedtoggl_stop_time_entry
    • First observedtoggl_update_time_entry

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a distinct purpose (create, delete, update, list, etc.) on specific resources (project, time entry, workspace, user). No two tools overlap in functionality; clear separation of concerns.

Naming Consistency5/5

All tools follow the consistent pattern 'toggl_verb_noun' with snake_case (e.g., toggl_create_project, toggl_list_time_entries). No mixed conventions or irregular naming.

Tool Count5/5

12 tools cover the core operations for project and time entry management (CRUD for time entries, basic project and workspace queries). This is a well-scoped set for a time tracking server.

Completeness4/5

Time entry operations are comprehensive (create, read, update, delete, stop). However, project update and delete are missing, and there is no explicit 'start time entry' tool (though create might start one). Minor gaps but core workflows are covered.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kos-M/tempus-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server