toggl-focus-mcp
Server Quality Checklist
Latest release: v1.0.2
- Disambiguation5/5
Each tool targets a distinct resource and action (e.g., get_current_timer vs. list_time_entries, start_timer vs. create_time_entry). Even with overlapping domains, the descriptions make boundaries clear.
Naming Consistency5/5All tools share the 'focus_' prefix and almost all follow a verb_noun pattern (list_projects, create_task, update_time_entry). The few exceptions (whoami, search) are standard single-word commands and don't break the overall consistency.
Tool Count4/524 tools is on the higher end but justified by the broad Toggl Focus domain covering projects, tasks, time entries, clients, tags, statuses, and user/context helpers. It feels comprehensive without redundant or trivial tools.
Completeness3/5Core resources have strong coverage: projects and tasks support list/get/create/update, and time entries support list/create/update/delete. However, projects and tasks lack delete operations, and clients/tags only support list/create, leaving notable lifecycle gaps for these resources.
Average 3.4/5 across 24 of 24 tools scored. Lowest: 2.7/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 11 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
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 fails to mention side effects (e.g., permanent creation), required permissions, or potential errors. The word 'immediately' hints at synchronous behavior but is too vague to be informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, with the core action in the first phrase. The 'Toggl Focus/2.0' prefix provides product context. However, it is so brief that it borders on under-specification, but for a simple tool it is acceptably short.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, no output schema, and no annotations, the description should explain return values, error cases, or behavioral nuances. It does none of this. For a create operation, an agent would not know what to expect after invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, leaving the 'name' parameter without a description, but the description adds nothing beyond the schema. It repeats the requirement of 'name' (already in the schema) and does not explain currency, workspace_id, or organization_id behavior or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('create a client') and the resource ('client'), which is a specific verb+resource combination. It does not explicitly differentiate from sibling tools like create_project or create_task, but the resource type itself provides clear distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It only states 'Requires name,' which is a prerequisite, not a usage scenario. There is no mention of when to choose create_client over list_clients or other create tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the minimal fact that it starts a timer immediately, the description discloses very little. No annotations are present, so the description must carry the full burden. It omits critical behaviors like whether an existing timer is automatically stopped, how the 'start' parameter interacts with 'immediately', or any permission or side-effect requirements. This is insufficient for a state-changing operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the essential action. The prefix 'Toggl Focus/2.0:' is unnecessary noise but does not significantly hinder readability. Overall, it is concise and to the point, though it could list examples more efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 10 parameters, no output schema, and no annotations, the description is severely incomplete. It fails to describe the return value, side effects on existing timers, or the meaning of many optional parameters. For an agent to use this tool correctly, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is only 40%, so the description must compensate. It mentions 'type defaults to activity' and 'Optional task_id/project_id/description,' but this largely repeats schema information. It does not explain the meaning or usage of tag_ids, billable, time_block_id, or other parameters. The description adds little value beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'start a timer immediately.' It specifies the primary verb and resource, and distinguishes this from sibling tools like focus_stop_timer or focus_get_current_timer. The mention of defaults ('type defaults to activity') adds precision without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 such as focus_create_time_entry or when to stop an existing timer. The description implies immediate start but does not state any exclusions, prerequisites, or trade-offs. There is no mention of scenarios where a different tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure, but it only reveals that changes apply immediately. It omits other important behaviors such as required permissions, side effects, error handling, or reversibility, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys the method (PATCH) and immediate effect without waste. It is concise and front-loaded, though arguably too minimal to cover critical details, the structure itself is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters, no output schema, and no annotations, the description is severely under-specified. It does not mention required parameters, return values, error cases, or any caveats, making it inadequate for an AI agent to invoke the tool safely and correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 27% (3 of 11 properties), and the description itself does not explain any parameters. It fails to note that time_entry_id is required or which common fields can be updated, providing zero value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'partially update a time entry (PATCH)' with a specific verb and resource, distinguishing it from other update tools like focus_update_project and focus_update_task. The PATCH method further clarifies its scoped behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for modifying a subset of time entry fields via 'partially update' and mentions 'changes apply immediately', but it does not explicitly specify when to prefer this over other tools, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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. It only says 'get', implying a read operation, but does not disclose the return format, authentication requirements, or behavior regarding optional parameters like include_assignees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise and front-loaded sentence. Every word earns its place, with no redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and four parameters (including an unexplained include_assignees), the description is too minimal. It does not describe the return value, parameter semantics, or default behaviors, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 50% of parameters (workspace_id and organization_id), but the description adds only 'by ID' for task_id. It does not explain include_assignees, nor does it compensate for the lack of schema description on that parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'get a task by ID' uses a specific verb and resource, clearly identifying the operation and its key parameter. It distinguishes this tool from siblings like focus_list_tasks and focus_get_project by focusing on retrieving a single task by ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 such as focus_list_tasks or focus_get_current_timer. There are no conditions, exclusions, or references to other tools for related use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits itself. It only states the action (list projects) but omits important behaviors such as pagination defaults, filtering semantics (e.g., whether archived projects are included by default), or response format. The 'Not Track' is a product distinction, not a behavioral trait. This minimal disclosure leaves significant gaps for a tool with 10 filter 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that immediately conveys the tool's purpose. It front-loads the core action and includes a brief product clarification ('Not Track'). There is no redundant phrasing or unnecessary elaboration, making it highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 10 parameters, no annotations, and no output schema, the one-sentence description is insufficient for an agent to understand the full context of use. It does not mention return structure, default behaviors, or the significance of the many filter options. The description is far from complete for a tool of this complexity, especially with no annotations to fill gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (5 of 10 parameters have descriptions). The tool description adds no parameter-level meaning beyond the schema. Parameters like 'pinned', 'archived', 'completed', and 'client_id' remain ambiguous without additional explanation. Since the description does not compensate for the half of parameters lacking schema descriptions, it fails to clarify semantics for those fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'list projects in a workspace' with the verb 'list' and resource 'projects'. It distinguishes itself from sibling tools like focus_get_project (singular) and focus_create_project/update_project by focusing on listing multiple projects. The 'Not Track' note clarifies the product scope, not the action, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 focus_get_project for a single project, or focus_list_tasks for related resources. The only contextual note 'Not Track' clarifies the API domain but does not address use cases or exclusions. There is no mention of when listing projects is appropriate or when another tool would be better.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It mentions 'Changes apply immediately,' which is a useful temporal side-effect note, but it fails to disclose mutation risks, reversibility, authentication requirements, or the partial-update semantics beyond the word 'partially.' This is a sparse disclosure for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence, front-loaded with the tool's purpose and method. Every word earns its place, and it is appropriately sized for the information it conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 14 parameters, no output schema, and no annotations, this description is under-specified. It does not mention required parameters, update constraints, response behavior, or the meaning of key fields. It is not complete enough for an agent to safely invoke without additional lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 21%, and the description adds no parameter-level meaning beyond the resource name. It does not list which fields are updatable, explain the project_id requirement, or clarify defaults like workspace_id and organization_id. The description does nothing to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (partially update), the resource (a project), and the HTTP method (PATCH). It distinguishes this tool from siblings like focus_get_project, focus_create_project, and focus_update_task by specifying the partial update nature and project target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for modifying existing project fields but does not explicitly state when to prefer this over other update tools or any exclusions. It lacks direct guidance on prerequisites or scenarios where other tools (e.g., focus_create_project) would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 says 'get' without stating that it is read-only, whether it can return errors, or any side effects. For a tool with no annotation support, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence: 'Toggl Focus/2.0: get a project by ID.' It is front-loaded with the action and resource, with no redundant words or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-ID operation, the description is generally sufficient. It implies the return of a project object, though it does not explicitly state the return format. Given the simplicity and rich schema, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all three parameters with descriptions (coverage 100%), so the schema itself provides parameter semantics. The description adds nothing beyond 'by ID', making it baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'get a project by ID' clearly states the verb and resource, and the 'by ID' qualifier distinguishes it from listing or creating projects. However, it does not explicitly mention sibling tools or contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 focus_list_projects, focus_create_project, or focus_update_project. Usage must be inferred from the tool name and 'by ID' phrase, which is not explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 only says 'list clients in a workspace' and does not mention pagination, authentication, or error behavior. The schema hints at pagination, but the description adds no behavioral 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It earns its place, though it is minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, no annotations, and no output schema, this minimal description is insufficient. It does not mention pagination behavior, output format, or any context on when to use the tool, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so most parameters are explained. The description adds no additional meaning beyond the schema, and the mention of 'workspace' is already covered by the workspace_id parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list) and the resource (clients) within a workspace, which is specific and distinguishes it from sibling tools like focus_list_projects or focus_list_tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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, when not to use it, or any prerequisites. The description simply states what it does without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only says 'list tasks' without mentioning read-only nature, pagination, default parameters, or effects of filters. Lacks detail on side effects or guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the action and resource, and no redundant words. The 'Not Track' is a useful disambiguator. Excellent brevity and structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 13 optional parameters and no output schema, the description is far too sparse. It omits pagination behavior, workspace defaults, return format, and any caveats. The 'Not Track' note provides some product context, but the description is inadequate for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 38% (5 of 13 params have descriptions). The description highlights key filters (project, status, assignee, name, pinned) but doesn't explain array semantics, defaulting behavior, or edge cases like empty project_id. It adds moderate value by grouping filters but does not fully compensate for low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists tasks in Toggl Focus with commonly used filters, distinguishing it from Track and siblings like focus_list_projects. The verb 'list' and resource 'tasks' are explicit, though the filter list is abbreviated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Not Track' tag hints at product differentiation, and listing filters implies use for task retrieval, but no explicit when-to-use vs alternatives (e.g., focus_search for complex queries) is provided. Context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It only notes 'if any', implying a possible null result, but does not mention authentication requirements, rate limits, or the exact response shape. For a read operation this is minimal but still lacks important 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded with the key action and resource. It avoids redundancy and is appropriately sized for a simple getter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with two optional parameters and no output schema. The description explains the purpose but does not describe return values, error behavior, or the format of the timer object. Given the lack of output schema, the description is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage for both parameters (workspace_id and organization_id) with descriptive text. The description adds no additional parameter semantics beyond what the schema already describes, so 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.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('get'), the resource ('currently running timer'), and the scope ('for the workspace'), distinguishing it from sibling tools like focus_list_time_entries (list all) and focus_start_timer/focus_stop_timer (mutation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives such as focus_list_time_entries or focus_start_timer. There is no mention of exclusions, prerequisites, or alternative tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 says the tool searches, with no mention of read-only safety, authentication, pagination, result grouping, or how filters like only_me and include_drafts affect output. This is a significant gap for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler. It is front-loaded and efficiently conveys the core purpose, though it includes the unnecessary 'Toggl Focus/2.0' prefix, which slightly reduces precision but does not hurt overall conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no output schema, and no annotations, the description is too sparse. It only covers the high-level search scope but leaves out result format, pagination, filtering semantics, and how the entities are combined. This is inadequate for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 38%, and the description adds no parameter-specific meaning. It does not explain the role of keyword, only_me, per_group, task_id, project_id, etc., beyond what the schema already provides. The description fails to compensate for the undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a 'unified search' across time entries, tasks, and projects, using a specific verb and resource scope. This distinguishes it from sibling tools that target individual entity types, such as focus_list_projects or focus_get_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'unified search across...' implies the tool is for cross-entity keyword searching, but it does not explicitly state when to use it over the sibling get/list tools or mention any exclusions. No alternatives are named, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 behavioral burden. It only states 'create a tag immediately,' which reveals the action is immediate but does not disclose side effects, permissions, idempotency, return values, or error conditions. This is insufficient behavioral transparency 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and action-oriented, but the prefix 'Toggl Focus/2.0:' is redundant given the tool name starts with 'focus.' Every other word earns its place; a slightly cleaner version would omit the redundant prefix.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with a 4-parameter schema and no output schema, the description provides the essential purpose but lacks context about response format, optional parameter defaults, or any side effects. The schema fills in some gaps, making the description minimally adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for color, workspace_id, and organization_id, covering 75% of parameters. The description only restates that name and color are required, which the schema already specifies. No additional semantic value is added beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('create') and the target resource ('a tag'), with a specific verb and object. It also mentions the required inputs (name and color), distinguishing it from sibling tools like focus_list_tags or focus_create_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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (creating a tag) and provides a prerequisite (requires name and color), but it does not provide explicit guidance on when to choose this tool over alternatives or any exclusion criteria. The purpose is self-evident, giving an implied usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 behavior disclosure. It only states the basic operation without mentioning pagination, filtering, defaults, or return behavior, leaving the agent with minimal context about 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that is front-loaded and free of unnecessary words. It states the essential purpose without any filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with six optional parameters, no output schema, and no annotations, the description is too sparse. It does not mention pagination, filtering capabilities, or return structure, requiring the agent to rely entirely on the schema for invocation details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, with page, per_page, workspace_id, and organization_id already documented. The description adds no parameter information and does not clarify the undocumented 'name' and 'tag_id' fields, so it neither improves nor detracts from the schema's baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'list' and the resource 'tags in a workspace', making its purpose specific and unambiguous. It differentiates from sibling tools like focus_create_tag and other list tools by naming the resource directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool—whenever a list of tags in a workspace is needed—but does not explicitly discuss alternatives or exclusions. No guidance is given on when not to use it, but the core usage is evident from the verb and resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It reveals that creation is immediate and without confirmation, but omits other important traits such as what the API returns, whether it requires authentication, or any side effects on related resources. This is insufficient 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action ('create a task') and includes key constraints. No word is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 17 parameters and no output schema, the description is too thin. It does not guide the agent on optional parameters, expected return values, or how to set up related fields like project_id or tag_ids. This leaves substantial ambiguity for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description only restates that 'name' is required, which is already explicit in the input schema. With schema description coverage at only 24%, the description does not compensate by explaining the other 76% of parameters or clarify optional parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a task, with a specific verb and resource. It distinguishes from sibling tools like focus_update_task and focus_get_task by emphasizing immediate creation without confirmation. The 'Toggl Focus/2.0' prefix provides version context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context that this tool is for creating a task immediately without confirmation, and notes the name requirement. It does not explicitly mention alternatives or when not to use it, but the purpose is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the transparency burden. It discloses that it caches IDs, reads from environment variables, and intentionally avoids a session endpoint. However, it does not address failure behavior (e.g., missing env vars), potential side effects of caching, or whether this is a read-only operation. This is moderate disclosure but not complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, with the main purpose front-loaded. Every sentence adds value: the core resolution task, caching behavior, and a relevant note about API key usage. There is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, and the description does not mention what the tool returns (presumably resolved IDs). While the parameter semantics are covered and the tool is relatively simple, the lack of return-value explanation and limited behavioral detail (e.g., no indication of read-only nature) leaves gaps. Given the tool's context-resolution role, a return format description would be expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for both parameters, explaining defaults from environment variables or cached context. The description adds extra semantic context by mentioning 'current_workspace_id from settings when needed', which goes beyond the schema. This additional nuance justifies a score above the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's role: resolving organization_id and workspace_id from env/args, and caching them for later tools. This distinguishes it from sibling tools that operate on specific resources like timers or projects. However, it does not explicitly state the output format or what a successful invocation returns, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is a prerequisite for other tools by mentioning it 'Caches IDs for later tools' and instructing to set environment variables. It also notes an endpoint is not used with API keys, which is useful context. However, it lacks explicit 'when to use' or 'when not to use' statements, leaving the usage window inferential rather than direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the burden of behavioral disclosure. It discloses that deletion is immediate and without confirmation, which is important for a destructive action. However, it does not mention whether running entries can be deleted, side effects, or permission 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately communicates the operation and key behavior. It contains no filler and every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations and no output schema, the description gives the essential detail of immediate deletion but lacks context about error conditions, relationship between parameters, or what happens to the entry after deletion. It is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 50%, but the description itself adds no parameter explanations. It does not clarify the role of task_id or organization_id in the deletion context, leaving the purpose of these parameters ambiguous beyond their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'delete' and the resource 'time entry', with the additional detail 'immediately (no confirmation)' distinguishing it from update or create operations. This is a specific verb+resource pairing that effectively separates it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for deleting time entries but provides no explicit guidance on when to use it versus alternatives, nor any exclusions or prerequisites. It is clear enough to infer usage but lacks direct contextual instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries full responsibility for behavioral disclosure. It only states that it lists statuses, omitting any mention of read-only nature, pagination behavior, or side effects. While 'list' implies safety, the description does not explicitly confirm any operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no filler or redundancy. It quickly communicates the core function without waste, earning a top score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward list tool with good schema coverage, the description provides the essential scope ('for a workspace') and resource focus. It lacks any detail about pagination or the response format, but these are partially covered by the schema's parameter descriptions, making it adequate yet not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the baseline is 3. The description adds no parameter-specific meaning; it relies entirely on the schema's parameter descriptions. The one undocumented parameter ('name') is not clarified in the description either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('list') and clearly identifies the resource ('task statuses') and scope ('for a workspace'). This distinguishes it from sibling tools that list other entities like projects, tasks, or clients, making its 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (you'd use it to list task statuses for a workspace) but provides no explicit when-to-use guidance or exclusion of alternatives. There are no prerequisites or 'use instead' cues, so the agent must infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It adds useful details: the conditional behavior around task_id and the default of type to 'activity'. However, it does not mention potential side effects (e.g., does it affect a running timer?), required permissions, or return behavior. Some transparency is present, but significant gaps remain, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose. Every sentence adds value: the first states the core action, and the second explains key parameter behaviors. There is no fluff or redundancy, making it appropriately concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 11 parameters, no annotations, and no output schema, so the description needs to cover more ground. It explains the main purpose and two parameter behaviors but omits details about return values, parameter interactions, prerequisites, or edge cases. For a tool with this complexity, the description is too sparse to be considered complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 36%, so the description must compensate for undocumented parameters. It adds meaning for task_id (creates under that task or taskless) and type (defaults to 'activity'), which are helpful. However, many parameters (tag_ids, billable, project_id, description, time_block_id) remain unexplained in both schema and description. The compensation is insufficient for the low coverage, hence a 2.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's specific action: 'create a completed time entry immediately.' The verb 'create' and resource 'completed time entry' are specific, and the phrase 'immediately' distinguishes it from timer-starting or updating operations. The added detail about task_id and taskless entries further clarifies its niche among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: when you need to log a completed time entry rather than start a running timer. It implies this is for retroactive logging, which differentiates it from focus_start_timer and focus_update_time_entry. However, it does not explicitly name alternatives or provide explicit 'when not to use' guidance, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description conveys that this is a read-only listing operation and emphasizes the mandatory date range and accepted formats. With no annotations provided, it carries the behavioral transparency burden, but it omits details like pagination defaults and result structure. It does not contradict any structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the main purpose and immediately followed by the key constraint. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 11 parameters, no output schema, and no annotations, yet the description only covers the required date range and format. It does not mention pagination (page/per_page), optional filters (type, archived, include_taskless, task_id, time_block_id), or return behavior, leaving significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mostly restates the schema's required fields and date format; it adds no new semantics for the five parameters that lack schema descriptions (type, task_id, archived, time_block_id, include_taskless). With 55% schema coverage, the description could have compensated for the undocumented filters but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('list') and resource ('time entries'), and constrains scope to a date range. This distinguishes it from sibling tools that list other resources (projects, tasks, clients) and from get_current_timer or search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a concrete requirement (date_from/date_to) and date format, giving the user a clear context for invocation. However, it does not explicitly mention when to prefer this over focus_search or other list variants, so it stops short of full alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/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 discloses that 'end defaults to now (UTC) if omitted', which is a useful behavioral detail. However, it does not state what happens if no timer is running, error handling, or the return value, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core action ('stop the running timer') and then notes a key default. It is concise and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with all parameters optional and covered by the schema, but there is no output schema and the description does not mention return values or error conditions. It is minimally complete but leaves some contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter is already described in detail. The description repeats the default behavior for 'end' but adds minimal value beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'stop the running timer'. This is a specific verb and resource, and it distinguishes from siblings like focus_start_timer and focus_get_current_timer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when a timer is running and needs to be stopped), but it does not explicitly mention alternatives or when not to use it. No exclusions are noted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses two behavioral traits: it's a PATCH (partial update, not full replacement) and changes apply immediately. However, it lacks details on side effects, permissions, or idempotency, which would be expected for a mutation tool without annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence with exactly the essential information: product, operation, method, and immediacy. It is front-loaded and every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (17 parameters, no output schema), the description is far from complete. It omits typical usage context such as how required parameters are determined, how workspace/org IDs default, what the response looks like, or any constraints. The minimal description is inadequate for an agent to confidently invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 12%, and the description adds no parameter-level meaning. It does not explain any of the 17 parameters beyond what the schema provides via names/types. The description fails to compensate for the low schema coverage, making parameter semantics mostly left to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a partial update (PATCH) on a task, with the specific resource 'task' and the method 'PATCH'. It distinguishes from sibling tools like focus_create_task and focus_get_task, and the 'partially update' phrasing clarifies its scoped purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when partially modifying an existing task, and the PATCH method signals that only provided fields change. However, it does not explicitly state when not to use it or mention alternatives (e.g., full update via PUT if available). Context is clear but exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It indicates a read-only return operation and the authentication context, but it does not disclose details like the default of include_settings or reliance on cached context, which are left to the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no superfluous content. 'Not Track' is a necessary disambiguator and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple whoami-style tool with three optional parameters and no output schema, the description provides sufficient high-level information about returned data. It could be more explicit about workspace/organization context, but the parameter defaults imply the connection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptive parameter explanations, so the baseline is 3. The description does not add any parameter-level information beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('return') and identifies a clear resource ('account metadata and user settings'). It distinguishes itself from Toggl Track via 'Not Track' and is clearly distinct from sibling tools like focus_get_workspace_context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as a whoami-style lookup for Focus account info, but it does not explicitly state when to use it vs alternatives. The 'Not Track' note clarifies product scope but provides no concrete alternative comparisons or exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/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. It discloses key behaviors: creation happens immediately without confirmation, tag_ids are applied via a follow-up PATCH only when allowed, and the project is still created if tags are forbidden (with a warning). This adds meaningful behavioral context beyond a simple 'create' statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences, front-loaded with the core purpose, and each sentence adds essential information. No filler or irrelevant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 13 parameters, no annotations, and no output schema, this creation tool requires richer context. The description covers the immediate-creation behavior and tag edge case, but omits return value, error conditions, and semantics for most optional fields. An agent would need external docs to fully understand the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 46%, leaving 7 of 13 parameters without schema descriptions (color, pinned, private, billable, description, parent_project_id, client_id). The tool description only explicitly elaborates on name, client_id, and tag_ids, providing useful detail only for tag_ids. It fails to compensate for the large number of undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'create a project' with a specific verb and resource, and notes it happens immediately with no confirmation. This distinguishes it from sibling tools like focus_update_project and focus_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 Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context that creation is immediate and requires a name, and explains the conditional behavior of tag_ids. However, it does not explicitly mention alternatives or when not to use this tool, so it falls short of explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. The explicit statement 'Mutations are not performed' is a valuable safety signal. It does not cover rate limits or response structure, but for a read-only list tool this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the tool's purpose and safety, with no filler or redundancy. Every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with fully documented parameters, the description provides adequate context. It could mention the expected return format, but 'list organization users' plus the assignee resolution hint covers the core need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all 6 parameters, giving 100% schema coverage. The description itself adds no additional parameter-level meaning; the parameter names and schema descriptions are sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('list'), resource ('organization users'), and context ('Toggl Focus/2.0'), along with an intended purpose ('for assignee resolution'). This distinguishes it clearly from sibling list tools like focus_list_projects and focus_list_tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for assignee resolution' signals when this tool is appropriate, but it does not explicitly mention when not to use it or name alternative tools. This is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/copperline-ai/toggl-focus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server