MCP Toggl Server
A Model Context Protocol server that integrates with Toggl Track to provide comprehensive time tracking, reporting, and workspace management with intelligent caching.
Time Tracking: Start/stop timers with descriptions, projects, tags, and tasks. View currently running timers and query historical entries with flexible filtering by date ranges (today, yesterday, week, month, or custom dates), workspaces, and projects. All entries are automatically enriched with full project, workspace, and client names.
Reporting & Analytics: Generate daily reports with project and workspace breakdowns, weekly summaries with daily and project totals, project-specific summaries, and workspace summaries. Reports are available in JSON (for automation) or formatted text (for readability).
Workspace Management: List and retrieve details for workspaces, projects, and clients to organize and browse your Toggl data.
Performance Optimization: Intelligent caching system with configurable TTL (default 1 hour), LRU eviction (keeping memory under 10MB), cache warming for pre-fetching data, cache statistics monitoring, and manual cache clearing.
Authentication & Reliability: Verify API connectivity and validate credentials. Automatic retry with exponential backoff for rate limiting. Supports multiple environment variables (TOGGL_API_KEY, TOGGL_API_TOKEN, or TOGGL_TOKEN) with Basic auth using API tokens.
Integration Features: Structured JSON output optimized for automation platforms like Automation Hub, with flexible date ranges and optional filtering by workspace or project to retrieve exactly the data you need.
Provides comprehensive time tracking and reporting capabilities including starting/stopping timers, retrieving time entries, generating daily/weekly reports with project breakdowns, and managing workspaces, projects, and clients through the Toggl Track API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Toggl Servershow me my time entries for today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Toggl
Talk to your time tracking. Pull reports, start timers, inspect desktop activity, and turn raw Toggl data into useful recaps from Claude or any MCP-compatible client.
See What Your Week Actually Looked Like
You ask: "Give me the recap of my week"
The MCP server returns hydrated time entries with project, workspace, client, tag, and running-timer context. Your client can turn that into a readable recap:
32.7 hours across 31 entries and 7 projects. Monday was a light planning day, Tuesday had the long implementation block, Wednesday stayed focused on one project, and Friday turned into a shipping run. The top project took 27% of the week, with two smaller projects close behind.
The server does not hard-code this prose or chart. It exposes structured Toggl data in a shape that makes synthesis easy.
Related MCP server: Clockify MCP Server
Catch the Drift
You ask: "Did I actually work on what I said I worked on for that PR review entry?"
toggl_get_timeline can compare a tracked entry boundary with Toggl Track Desktop activity:
The entry ran 1h 33m. About 67 minutes were in review tools, 5 minutes were scattered across chat apps, and the rest was idle or trimmed timeline space. The entry mostly checks out.
This is useful before invoicing, after long context-switching days, or whenever a vague entry like "admin" starts hiding too much Slack and browser time.
See Patterns Over Time
You ask: "Show me last month at a glance"
Daily and weekly report tools make it straightforward for the client to render heatmaps, spot streaks, and surface intensity changes:
Toggl is still the source of truth. The MCP layer makes the data easier for an agent to inspect, summarize, and visualize.
Things You Can Ask
What am I currently tracking?
How much time did I spend on the website project this month?
Start a timer for "PR review" on the Platform project
Show me yesterday's hours as a chart
What apps did I use most today?
Generate a daily report for last Friday
Compare this week to last week by project
Which day this month had the most billable work?Chart prompts depend on your MCP client. The server returns the structured data; clients such as Claude decide how to render it.
What Makes This Useful
Hydrated responses: time entries are enriched with project_name, client_name, workspace_name, tag_names, and normalized running-timer fields so the client does not need a second lookup for ordinary reporting.
Smart caching: workspaces, projects, clients, tasks, and tags are cached after first read. toggl_cache_stats shows hits, misses, loaded entities, and hit rate.
Desktop activity timeline: toggl_get_timeline summarizes app usage from Toggl Track Desktop and can return raw events when you need sequence analysis.
Privacy controls: timeline calls support summary-only output with include_events: false and title redaction with redact_titles: true.
Period shortcuts: today, yesterday, week, lastWeek, month, and lastMonth are supported on the tools where those periods make sense.
Recoverable errors: workspace resolution errors include available_workspaces, and Toggl quota/rate-limit errors include structured retry hints.
Quick Start
Prerequisites
Node.js
^20.19.0or>=22.12.0A Toggl Track account
Your Toggl API token from track.toggl.com/profile
Claude Desktop
Add this to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mcp-toggl": {
"command": "npx",
"args": ["-y", "@verygoodplugins/mcp-toggl@latest"],
"env": {
"TOGGL_API_KEY": "your_api_key_here",
"TOGGL_DEFAULT_WORKSPACE_ID": "123456"
}
}
}
}TOGGL_DEFAULT_WORKSPACE_ID is optional. If you have exactly one Toggl workspace, the server can resolve it automatically. If you have multiple workspaces and do not set a default, workspace-scoped tools return the available workspace IDs so the client can retry with workspace_id.
Restart Claude Desktop, then ask:
What am I currently tracking?Global Install
npm install -g @verygoodplugins/mcp-toggl
mcp-toggl --helpTools
Reports and Insights
Tool | What it does |
| Hours by project and workspace for a date. Use |
| 7-day breakdown with daily totals and project rollups. Use |
| Raw hydrated entries by period, date range, workspace, or project. |
| Toggl Track Desktop app usage summary with optional raw events. |
Timer Control
Tool | What it does |
| Returns the running timer, elapsed seconds, and hydrated project/workspace context. |
| Starts a timer with description, optional project/task, and tags. |
| Stops the currently running timer. |
Lookups
Tool | What it does |
| Verifies token access and lists available workspaces without exposing the token. |
| Lists all accessible workspaces. |
| Lists projects for a workspace using cache-backed reads after first fetch. |
| Lists clients for a workspace using cache-backed reads after first fetch. |
Cache Management
Tool | What it does |
| Pre-fetches workspace, project, client, and tag data before a heavy reporting session. |
| Returns hits, misses, hit rate, loaded entity counts, and warm-cache state. |
| Clears cached data. Useful after creating or renaming Toggl entities. |
Summaries
Tool | What it does |
| Total hours per project for a period or date range. |
| Total hours per workspace for a period or date range. |
Timeline Privacy
Toggl Track Desktop activity can include window titles. Those titles may contain document names, email subjects, chat text, URLs, OAuth pages, or database names.
Summary-only mode returns app totals without raw events:
{
"period": "today",
"include_events": false
}Events with redacted titles preserve sequence and duration but remove titles:
{
"period": "today",
"redact_titles": true,
"limit": 50
}Full event mode is the default:
{
"period": "today"
}When in doubt, use include_events: false.
Configuration Reference
Env var | Required | Default | Notes |
| Yes | - | Preferred env var for your Toggl API token. |
| No | - | Supported alias for backwards compatibility. |
| No | - | Supported alias for backwards compatibility. |
| No | - | Used when a tool requires a workspace and none is passed. |
| No |
| Cache TTL in milliseconds. Default is 1 hour. |
| No |
| Maximum cached entity budget. |
| No |
| Batch size used by API pagination helpers. |
Caveats
Toggl rate limits and quotas: Toggl may return rate-limit or quota errors during chatty sessions. The server returns structured retry information when Toggl provides it. Warm the cache before large reporting sessions to avoid repeated project/client/tag fetches.
Running timer duration: Toggl uses negative duration values for running entries. Read running and elapsed_seconds from the hydrated response instead.
Timeline availability: toggl_get_timeline requires Toggl Track Desktop timeline sync. If it is not enabled or has not uploaded data yet, the tool returns enabled: false with setup guidance.
Timeline totals: limit only limits returned raw events. summary, total_seconds, and total_hours are calculated from all matching events.
Local Development
git clone https://github.com/verygoodplugins/mcp-toggl.git
cd mcp-toggl
npm install
npm run build
npm testUseful commands:
npm run dev
npm run lint
npm run formatLicense
MIT.
Built by Very Good Plugins.
Available Tools
15 toolstoggl_cache_statsB
Get cache statistics and performance metrics
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but fails to describe key behavioral traits like whether this is a read-only operation, what specific metrics are returned, potential performance impacts, or any rate limits. This leaves significant gaps for an agent to understand how to interact with it effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the core purpose without any wasted words. It is front-loaded and appropriately sized for a simple tool, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is minimally complete. It states what the tool does but lacks details on behavioral aspects and usage context, which are needed for a richer understanding. Without annotations or output schema, the description should do more to compensate, but it remains adequate for basic comprehension.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description adds no parameter information, which is appropriate here, but it doesn't compensate for any gaps since there are none. A baseline of 4 is given as it adequately handles the zero-parameter case without misleading or redundant details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('cache statistics and performance metrics'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'toggl_clear_cache' or 'toggl_warm_cache' which also relate to cache operations, missing an opportunity for sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention context such as monitoring cache health, troubleshooting performance issues, or comparing with other cache-related tools in the sibling list, leaving the agent to infer usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggl_check_authB
Verify Toggl API connectivity and authentication is valid
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 mentions verifying connectivity and authentication but lacks details on what 'valid' means, how errors are handled, or what the output might be (e.g., success/failure status). For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the tool's purpose without unnecessary words. It is front-loaded and to the point, making it easy to parse quickly. Every part of the sentence earns its place by directly contributing to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for a tool that verifies critical aspects like API connectivity and authentication. It doesn't explain what happens upon success or failure, potential error messages, or any side effects. For a tool with no structured data to supplement it, this leaves too much ambiguity for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and it appropriately avoids mentioning any. This meets the baseline for tools with no parameters, as it doesn't mislead or omit necessary information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Verify Toggl API connectivity and authentication is valid'. It specifies the action (verify) and the target (Toggl API connectivity and authentication), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from siblings like 'toggl_warm_cache', which might also involve connectivity checks, so it falls short of a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as whether authentication must be set up first, or suggest scenarios like troubleshooting connectivity issues. Without this context, users might struggle to determine the appropriate time to invoke it among the 13 sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggl_clear_cacheB
Clear all cached data
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Clear all cached data' implies a destructive operation that removes stored data, but it doesn't specify what types of data are affected, whether this requires authentication, potential performance impacts, or if the action is reversible. This leaves significant gaps for a tool that modifies system state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just three words ('Clear all cached data'), front-loading the essential action and target with zero wasted words. Every element earns its place, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive cache-clearing tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'cached data' encompasses, potential side effects, authentication requirements, or what happens after clearing (e.g., does it trigger re-caching?). Given the complexity of cache management and lack of structured data, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema description coverage is 100% (though trivial since there are no parameters). The description doesn't need to explain any parameters, which is appropriate. A baseline of 4 is given for zero-parameter tools when the description doesn't attempt to explain non-existent parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Clear all cached data' clearly states the action (clear) and target (all cached data), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'toggl_cache_stats' or 'toggl_warm_cache' that also relate to cache operations, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing considerations, or how it relates to siblings like 'toggl_warm_cache' (which likely populates cache) or 'toggl_cache_stats' (which monitors cache).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggl_daily_reportB
Generate a daily report with hours by project and workspace
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date for report (YYYY-MM-DD format, defaults to today) | |
| format | No | Output format (default: json) |
TDQS
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 states the tool generates a report but doesn't cover critical aspects like authentication requirements, rate limits, data freshness, or whether it's a read-only operation. For a reporting tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part ('Generate a daily report with hours by project and workspace') directly contributes to understanding the tool's function, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (generating a report with two parameters), 100% schema coverage, and no output schema, the description is minimally adequate. It states what the tool does but lacks details on output format beyond the 'format' parameter, behavioral traits, or differentiation from siblings. This leaves gaps in completeness for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters ('date' and 'format') with defaults and formats. The description doesn't add any parameter-specific details beyond what the schema provides, such as explaining the 'hours by project and workspace' output structure. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Generate a daily report with hours by project and workspace.' It specifies the verb ('generate'), resource ('daily report'), and key dimensions ('hours by project and workspace'). However, it doesn't explicitly differentiate from sibling tools like 'toggl_weekly_report' or 'toggl_project_summary,' which prevents a score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'toggl_weekly_report' for weekly data or 'toggl_project_summary' for project-specific summaries, nor does it specify prerequisites or exclusions. This lack of contextual direction leaves the agent without clear usage cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggl_get_current_entryB
Get the currently running time entry, if any
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool retrieves a current entry 'if any', hinting at a possible null response, but doesn't cover other aspects like authentication needs, rate limits, error conditions, or what data is returned. For a read operation with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded with the core purpose ('Get the currently running time entry') and adds a clarifying condition ('if any'). Every part of the sentence contributes value, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on return format, error handling, or integration with siblings like 'toggl_stop_timer'. For a tool that interacts with time-tracking data, more context on what 'currently running' entails would be helpful, though the low complexity keeps it from being severely incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. A baseline of 4 is given since the schema fully covers the absence of parameters, and the description doesn't need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('currently running time entry'), making the purpose understandable. It distinguishes from siblings like 'toggl_get_time_entries' by specifying 'current' vs. general entries, though it doesn't explicitly name alternatives. The description avoids tautology by not just repeating the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when checking for an active timer, but provides no explicit guidance on when to use this tool versus alternatives like 'toggl_get_time_entries' or 'toggl_stop_timer'. It mentions 'if any' to indicate it may return nothing, which gives some context, but lacks clear when/when-not instructions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggl_get_time_entriesB
Get time entries with optional date range filters. Returns hydrated entries with project/workspace names.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Predefined period to fetch entries for | |
| start_date | No | Start date (YYYY-MM-DD format) | |
| end_date | No | End date (YYYY-MM-DD format) | |
| workspace_id | No | Filter by workspace ID | |
| project_id | No | Filter by project ID |
TDQS
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 mentions that entries are 'hydrated' with project/workspace names, which adds some context about the return format. However, it lacks critical details such as whether this is a read-only operation, potential rate limits, authentication requirements, pagination behavior, or error handling. For a tool with 5 parameters and no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise and front-loaded, consisting of two clear sentences. The first sentence states the core functionality and filters, while the second explains the return format. There is no wasted language, and every sentence adds value, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, no annotations, no output schema), the description is somewhat incomplete. It covers the basic purpose and return format but misses behavioral details like read-only nature, error cases, or pagination. Without an output schema, the description should ideally elaborate more on the return structure, but it does mention hydration, which helps. It's adequate for a simple retrieval tool but leaves gaps for robust agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by implying date range filtering and hydration of results, but it doesn't explain parameter interactions (e.g., that 'period' might override 'start_date'/'end_date') or provide usage examples. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get time entries with optional date range filters.' It specifies the verb ('Get') and resource ('time entries'), and mentions the return format ('hydrated entries with project/workspace names'). However, it doesn't explicitly differentiate from siblings like 'toggl_daily_report' or 'toggl_weekly_report', which might also retrieve time-related data, leaving some ambiguity about when to use this versus those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus sibling tools. It mentions optional filters but doesn't specify contexts, prerequisites, or alternatives. For example, it doesn't compare to 'toggl_daily_report' or 'toggl_weekly_report', which might offer aggregated views, leaving the agent to infer usage based on parameter names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggl_list_clientsC
List clients for a workspace
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID (uses default if not provided) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states it's a list operation, implying read-only behavior, but doesn't cover critical aspects like authentication requirements, rate limits, pagination, or error handling. This leaves significant gaps for an agent to understand how to use it safely and effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just four words, front-loaded with the core action and resource. Every word earns its place with no wasted text, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the output looks like (e.g., list format, fields returned), authentication needs, or error conditions. For a tool that likely interacts with an external API, this leaves too many unknowns for reliable agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description doesn't add any parameter-specific information beyond what's in the schema, which has 100% coverage for the single parameter 'workspace_id'. The schema already describes it as optional with a default, so the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('clients for a workspace'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'toggl_list_workspaces' or 'toggl_list_projects' beyond specifying the resource type, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., authentication), when not to use it, or how it compares to other listing tools like 'toggl_list_projects' or 'toggl_list_workspaces' in the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggl_list_projectsC
List projects for a workspace
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Workspace ID (uses default if not provided) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states a read operation ('List'), implying it's likely safe and non-destructive, but doesn't specify permissions, rate limits, pagination, or return format. This leaves significant gaps for a tool that interacts with external data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any fluff or redundancy. It is appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects like authentication needs, response structure, or error handling. For a data retrieval tool in a multi-tool server, more context is needed to ensure reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the single parameter 'workspace_id' fully documented in the schema. The description adds no additional parameter details beyond implying workspace context, so it meets the baseline of 3 where the schema handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('projects for a workspace'), making the purpose immediately understandable. It distinguishes from siblings like 'toggl_list_clients' or 'toggl_list_workspaces' by specifying 'projects'. However, it doesn't specify the scope (e.g., all projects vs. filtered), which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'toggl_project_summary' or 'toggl_workspace_summary'. It mentions a workspace context but doesn't clarify prerequisites, exclusions, or comparative use cases with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggl_list_workspacesB
List all available workspaces
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. 'List all available workspaces' implies a read-only operation but doesn't disclose behavioral traits like authentication requirements, rate limits, pagination, or whether it returns active/inactive workspaces. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose with zero wasted words. It's appropriately sized for a simple listing tool and front-loads the essential information without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema), the description is adequate but minimal. It states what the tool does but lacks context about authentication, workspace states, or relationship to sibling tools. For a read operation with no annotations, it should ideally mention authentication needs or data freshness, but it meets minimum viability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description doesn't need to add parameter semantics, and it correctly doesn't mention any parameters. Baseline 4 is appropriate for zero-parameter tools where the schema already covers everything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('all available workspaces'), making the purpose immediately understandable. It doesn't specifically differentiate from sibling tools like 'toggl_workspace_summary' which might provide aggregated data versus a raw list, but the verb+resource combination is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'toggl_workspace_summary' that might offer summarized workspace data, there's no indication of whether this tool is for raw listings, administrative purposes, or initial setup. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggl_project_summaryC
Get total hours per project for a date range
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Predefined period | |
| start_date | No | Start date (YYYY-MM-DD format) | |
| end_date | No | End date (YYYY-MM-DD format) | |
| workspace_id | No | Filter by workspace ID |
TDQS
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 states the tool retrieves data ('Get total hours'), implying a read-only operation, but doesn't clarify aspects like authentication requirements, rate limits, error handling, or the format of the returned data (e.g., whether it's a list, summary object, or includes pagination). For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'Get total hours per project for a date range.' It is front-loaded with the core purpose, has no redundant words, and every part earns its place by specifying the action, resource, and scope concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, no output schema, and no annotations), the description is incomplete. It lacks details on behavioral traits (e.g., authentication needs, data format), usage guidelines compared to siblings, and output specifics. While the schema covers parameters well, the overall context for an AI agent to correctly invoke this tool is insufficient, especially without annotations or an output schema to clarify results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema already documents all parameters ('period', 'start_date', 'end_date', 'workspace_id') with details like formats and enums. The description adds minimal value beyond the schema by implying date-range filtering but doesn't explain parameter interactions (e.g., that 'period' might override 'start_date'/'end_date') or provide usage examples. With high schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get total hours per project for a date range.' It specifies the verb ('Get'), resource ('total hours per project'), and scope ('date range'). However, it doesn't explicitly distinguish this from sibling tools like 'toggl_daily_report' or 'toggl_weekly_report,' which also involve time reporting but with different aggregations or formats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'toggl_daily_report' or 'toggl_workspace_summary,' which might offer similar time-tracking summaries but with different scopes or outputs. There's no indication of prerequisites, such as authentication or workspace selection, beyond what the parameters imply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggl_start_timerC
Start a new time entry timer
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | Description of the time entry | |
| workspace_id | No | Workspace ID (uses default if not provided) | |
| project_id | No | Project ID (optional) | |
| task_id | No | Task ID (optional) | |
| tags | No | Tags for the entry |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool starts a timer but doesn't mention what happens if a timer is already running, whether this requires authentication, or any side effects like cache updates. This leaves significant behavioral gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It's front-loaded with the essential action and resource, making it immediately understandable without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns, error conditions, or behavioral constraints. Given the complexity of starting a timer (which may interact with other tools like 'toggl_get_current_entry'), more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, so all parameters are documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema, meeting the baseline expectation but not providing extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Start') and resource ('a new time entry timer'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from its sibling 'toggl_stop_timer' or other time-related tools, which would be needed for a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'toggl_stop_timer' or 'toggl_get_current_entry'. There's no mention of prerequisites (e.g., authentication status) or typical use cases, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggl_stop_timerB
Stop the currently running timer
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Stop') but doesn't describe what happens after stopping (e.g., does it save the entry, require confirmation, or have side effects like notifications). This is a significant gap for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with zero waste—it states exactly what the tool does without unnecessary words. It's appropriately sized and front-loaded, making it highly efficient for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a mutation with no annotations and no output schema), the description is incomplete. It lacks details on behavioral outcomes, error conditions, or what the tool returns, which are crucial for an agent to use it correctly in context with siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't mention parameters, aligning with the schema. A baseline of 4 is applied since the schema fully covers the absence of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Stop') and the target resource ('the currently running timer'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'toggl_get_current_entry' which might provide status information without stopping, though the verb 'stop' implies a distinct action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., that a timer must be running), exclusions, or relationships with siblings like 'toggl_start_timer' or 'toggl_get_current_entry', leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggl_warm_cacheC
Pre-fetch and cache workspace, project, and client data for better performance
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Specific workspace to warm cache for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions caching for performance but lacks details on side effects (e.g., network usage, data freshness), permissions required, or error handling. This is inadequate for a tool that likely involves data fetching and storage operations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a caching tool with no annotations and no output schema, the description is insufficient. It doesn't explain what data is cached, how long it persists, performance implications, or return values, leaving significant gaps for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'workspace_id' documented as 'Specific workspace to warm cache for.' The description adds no additional parameter semantics beyond this, so it meets the baseline for high schema coverage without compensating further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Pre-fetch and cache workspace, project, and client data for better performance.' It specifies the action (pre-fetch and cache) and resources (workspace, project, client data), but doesn't explicitly differentiate from sibling tools like 'toggl_cache_stats' or 'toggl_clear_cache' that also involve cache operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, optimal timing, or compare it to sibling tools such as 'toggl_list_workspaces' or 'toggl_cache_stats', leaving the agent without 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_weekly_reportC
Generate a weekly report with daily breakdown and project summaries
| Name | Required | Description | Default |
|---|---|---|---|
| week_offset | No | Week offset from current week (0 = this week, -1 = last week) | |
| format | No | Output format (default: json) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool generates a report but doesn't cover critical aspects like whether it requires authentication, has rate limits, modifies data, or what the output looks like (e.g., format details beyond the schema). This leaves significant gaps for an AI agent to understand how to use it effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. It directly communicates what the tool does, making it easy to parse and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a report-generation tool with no annotations and no output schema, the description is incomplete. It lacks details on authentication needs, output structure, error handling, or how it differs from siblings. This makes it inadequate for an AI agent to fully grasp the tool's behavior and usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with clear descriptions for both parameters ('week_offset' and 'format'). The description adds no additional parameter semantics beyond what the schema provides, such as default behaviors or usage examples. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Generate a weekly report with daily breakdown and project summaries.' It specifies the verb ('generate') and resource ('weekly report') with details about content ('daily breakdown and project summaries'). However, it doesn't explicitly differentiate from sibling tools like 'toggl_daily_report' or 'toggl_project_summary' beyond the weekly scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'toggl_daily_report' for daily reports or 'toggl_project_summary' for project-focused summaries, nor does it specify prerequisites or contexts for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggl_workspace_summaryB
Get total hours per workspace for a date range
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Predefined period | |
| start_date | No | Start date (YYYY-MM-DD format) | |
| end_date | No | End date (YYYY-MM-DD format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a read operation ('Get'), but doesn't mention authentication needs, rate limits, error handling, or what the output format looks like (e.g., structured data vs. raw hours). This is a significant gap for a tool with potential API interactions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste—it directly states the tool's function without redundancy. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is minimally adequate but incomplete. It covers the basic purpose but lacks behavioral context and usage guidelines, which are important for an agent to operate effectively in a server with multiple time-tracking tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with clear descriptions for all parameters, so the baseline is 3. The description adds no additional parameter semantics beyond implying date-range usage, which is already covered in the schema. It doesn't clarify parameter interactions (e.g., using 'period' vs. 'start_date/end_date').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'total hours per workspace' with scope 'for a date range', making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'toggl_daily_report' or 'toggl_weekly_report' which might provide similar time-based summaries, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'toggl_daily_report' or 'toggl_weekly_report' from the sibling list. It mentions a date range but doesn't specify use cases, prerequisites, or exclusions, leaving the agent to infer usage context.
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.
15 tool updates
- First observed
toggl_cache_stats - First observed
toggl_check_auth - First observed
toggl_clear_cache - First observed
toggl_daily_report - First observed
toggl_get_current_entry - First observed
toggl_get_time_entries - First observed
toggl_list_clients - First observed
toggl_list_projects - First observed
toggl_list_workspaces - First observed
toggl_project_summary - First observed
toggl_start_timer - First observed
toggl_stop_timer - First observed
toggl_warm_cache - First observed
toggl_weekly_report - First observed
toggl_workspace_summary
TDQS
Every tool has a clearly distinct purpose with no ambiguity. Tools like toggl_start_timer and toggl_stop_timer handle timer control, while toggl_get_time_entries and toggl_get_current_entry focus on retrieving time data, and reporting tools like toggl_daily_report and toggl_weekly_report serve specific output formats. There is no overlap in functionality.
All tools follow a consistent verb_noun pattern with the 'toggl_' prefix, using snake_case throughout. Examples include toggl_list_workspaces, toggl_start_timer, and toggl_clear_cache, making the naming predictable and easy to understand.
With 15 tools, the count is well-scoped for a Toggl time-tracking server. It covers authentication, data listing, timer operations, reporting, and caching without being overwhelming, with each tool earning its place in the workflow.
The tool set provides strong coverage for core time-tracking operations, including CRUD-like actions (list, start/stop, get entries) and reporting. A minor gap is the lack of tools for updating or deleting time entries, which agents might need to work around, but overall, the surface is nearly complete for the domain.
Maintenance
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
Read time entries, projects, clients, tasks and invoices; log and update tracked time.
Track time on usetimebook.com - start/stop timers, log entries, list projects/clients.
- DoneThatOAuthai.donethat
Privacy-first work tracking with summaries, reports, coaching, and AI-ready long-term memory.
Manage projects, tasks, time tracking, and team collaboration through natural language.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables fetching and analyzing Toggl time tracking data with intelligent parsing of Fibery entity references from task descriptions. Features smart caching, user filtering, and aggregated reporting to help track time spent on specific projects and entities.-
- AlicenseBqualityDmaintenanceEnables time tracking and project management through the Clockify API. Supports starting/stopping timers, logging time entries, managing projects and tasks, and generating reports with natural language commands.2118MIT
- AlicenseAqualityDmaintenanceEnables control of Toggl time tracking directly from LLMs like Claude or ChatGPT. Supports starting/stopping timers, viewing current and historical time entries, managing projects, and generating weekly summaries through natural language.8233MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with the Toggl time tracking API to manage time entries, projects, and workspaces through natural language.22MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/verygoodplugins/mcp-toggl'
If you have feedback or need assistance with the MCP directory API, please join our Discord server