Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool targets a distinct action/resource: session lifecycle (start, switch, log, abandon), task/project management, and reporting views are clearly separated. Even closely related tools like dwt_log_session and dwt_log_pomodoro are disambiguated by the descriptions (active session vs. past time).

    Naming Consistency4/5

    All tools share the 'dwt_' prefix and mostly follow a verb_noun pattern (list_projects, create_task, start_session, complete_task). A few names are noun-like (dwt_status, dwt_stats, dwt_lifetime_skills, dwt_deposits_today) but they are still predictable and consistent in style.

    Tool Count5/5

    14 tools is well-scoped for a deep work timer with projects, tasks, sessions, and reporting. Each tool has a clear purpose, and the number is large enough to cover key workflows without feeling bloated.

    Completeness4/5

    The core domain is well covered: session management, task creation/completion, manual logging, and multiple reporting views are present. Minor gaps like task/project update or delete operations exist, but they are not essential to the primary focus-tracking workflow.

  • Average 3.8/5 across 14 of 14 tools scored. Lowest: 1.9/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 3 commits in the last 12 weeks
    • No stable releases found
    • 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.json to 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

  • Behavior1/5

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

    No annotations are provided, and the description discloses no behavioral traits: no mention of side effects, whether the task must exist, whether sessions are affected, or reversibility. For a mutating operation, this is a significant omission.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness2/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely short and front-loaded, but it is under-specified rather than appropriately concise. A single sentence provides almost no useful information beyond the title.

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

    Completeness2/5

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

    For a simple one-parameter tool, the description is minimal but still incomplete: there is no output schema, so the agent does not know what the tool returns, and no error or edge-case behavior is mentioned. Given the lack of annotations, the description carries the full burden and fails to cover it.

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

    Parameters1/5

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

    The only parameter, task_id, has zero schema description coverage (0%). The description does not mention it or clarify its meaning beyond the name. The agent must infer that task_id identifies the task to complete, leaving no added value.

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

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Mark a task as completed' states a clear verb and resource, and it is distinguishable from siblings like dwt_create_task or dwt_list_tasks. However, it essentially restates the tool name and title, adding little new information.

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

    Usage Guidelines2/5

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

    No guidance is given on when to use this tool versus alternatives such as dwt_switch_task or dwt_start_session. The intended use case is only implied by the name, and no exclusions or conditions are mentioned.

    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 states that the time is written to the ledger, but does not mention authentication, side effects (e.g., whether the task is marked complete), reversibility, or rate limits. The description is sparse and does not add substantial context beyond the basic action.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise at one sentence, with no wasted words. However, the brevity comes at the expense of completeness; it is structured well but lacks necessary detail. The word count is appropriate, but the content is thin.

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

    Completeness2/5

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

    Given 2 parameters with no schema coverage, no output schema, and a sibling group that includes dwt_log_session and dwt_start_session, the description is minimal and likely insufficient for an agent to distinguish and correctly invoke the tool. It lacks information about prerequisites, input validity expectations, and return behavior.

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

    Parameters2/5

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

    The schema has 0% description coverage, so the description must compensate for parameter meaning. The description mentions "N minutes on one task" which provides minimal context for minutes and task_id, but does not clarify that task_id must reference an existing task or the specific constraints (e.g., minutes range). It adds little value over the field names alone.

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

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb "Record" and the resource "focus time" with a specific scope: time that already happened with no running session, written to the ledger. However, it does not explicitly differentiate from sibling tools like dwt_log_session, which likely handles similar logging. The purpose is clear but not distinctly positioned against alternatives.

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

    Usage Guidelines3/5

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

    The description implies usage when there is no running session ("no running session"), providing some contextual guidance. However, it does not explicitly state when to use this tool versus dwt_log_session or dwt_start_session, nor does it mention any exclusions or prerequisites. Usage is implied rather than explicitly explained.

    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 of behavioral disclosure. It states what is included (completed focus sessions, tasks, minutes) but does not disclose if this is a read-only operation, how recent the data is, whether it includes incomplete sessions, or any side effects. As a query-like tool, more context about filtering or time boundaries is needed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence that immediately states the core purpose. It is concise and free of fluff, though it could add a bit more detail about the output or usage without becoming verbose.

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

    Completeness3/5

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

    For a tool with no parameters and no output schema, the description gives the essential idea but remains thin. It does not explain what 'deposits' means beyond sessions, nor does it note how this differs from dwt_stats or dwt_status. Given the sibling context, an agent would benefit from a sentence clarifying when this is the right choice.

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

    Parameters4/5

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

    The tool has zero parameters, so there are no parameter semantics to clarify. The description's reference to 'today's' provides context that a date parameter is not needed, making the lack of parameters self-explanatory.

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

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly identifies the tool's output as 'today's ledger statement' listing completed focus sessions with their tasks and minutes. It distinguishes the tool by focusing on today's deposits specifically, which sets it apart from sibling tools like dwt_stats or dwt_status, though it lacks an explicit verb like 'get' or 'list'.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. The description does not mention any conditions for use, exclusions, or reference sibling tools, leaving the agent to infer from the name alone.

    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 for behavioral disclosure. It only states 'Create a project' without mentioning permissions, uniqueness constraints, side effects, or what the response contains. For a mutable operation, this is a significant gap.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, clear sentence with no extraneous words. It front-loads the core action and purpose, and the examples add useful context without bloating the text.

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

    Completeness2/5

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

    Given the simplicity of the tool (2 params, no output schema, no annotations), the description still leaves critical gaps: no parameter details, no mention of return behavior, and no guidance on prerequisites. It is enough to understand the basic action but not enough to invoke correctly with confidence.

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

    Parameters2/5

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

    Schema description coverage is 0%, and the description does not explicitly define the 'name' or 'description' parameters. The examples ('a repo, a course, a certification') loosely hint at what a project name might be, but they do not clarify the parameters' roles or constraints beyond the schema.

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

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states a specific verb and resource: 'Create a project to group tasks.' It also provides concrete examples ('a repo, a course, a certification') that illustrate the intended use. This unambiguously distinguishes the tool from siblings like dwt_create_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/5

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

    The description implies the usage context by stating that projects group tasks and offering examples, but it does not explicitly say when to use this tool over alternatives such as dwt_create_task or dwt_list_projects. There is no when-not or exclusion 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?

    With no annotations, the description must convey behavioral traits itself. It lists the output metrics but does not explicitly confirm that the operation is read-only, whether it includes the current ongoing session, or whether the data is scoped to the authenticated user. The absence of side effects is strongly implied, but not explicitly stated, leaving moderate 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficiently worded sentence that front-loads the core purpose and lists every distinct metric. There is no filler, redundancy, or unnecessary detail.

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

    Completeness4/5

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

    For a zero-parameter stats tool, this description covers all the important output values in a compact way. However, since no output schema is provided, the agent must infer the exact response structure (key names, units, formatting) from wording, which creates minor ambiguity.

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

    Parameters4/5

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

    The tool accepts no parameters and the empty schema fully documents that. Per the rule, zero parameters yields a baseline score of 4. The description adds no parameter-level meaning because no parameters exist.

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

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states that the tool reports total focus time across several periods and includes additional summary metrics (best day, 30-day daily average). This enumerates the resource and fields precisely, but it lacks an explicit verb like 'get' or 'report', so it doesn't fully meet the 5-level bar for verb+resource.

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

    Usage Guidelines4/5

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

    The description makes the usage context clear: call this when you need focus time totals over any listed period (today, 7/30/365 days, all time) or derived averages. It doesn't name alternatives or exclusions, but the scope is specific enough that an agent can identify when this tool is appropriate.

    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?

    There are no annotations, so the description carries the full burden of behavioral disclosure. It does so well by stating nontrivial behavior: '#tags only attach to skills that already exist on the account' and 'Returns the created task with its attached skills.' The @Nh/@Nm estimate format is also explained. It does not discuss permission requirements or how unknown tags are handled, but the core side effects and return value are disclosed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is three sentences long and every sentence earns its place: a clear statement of the action, a concrete encoding example, and a constraint/return note. It is front-loaded with the core purpose and adds detail only where it prevents misuse.

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

    Completeness4/5

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

    For a small create-task tool with no output schema and no annotations, the description is reasonably complete: it gives the tag syntax, the estimate marker, the existing-skill constraint, and the return value. It falls short of a 5 because it does not clarify the role of `project_id`, and it could more explicitly explain when to choose this over the sibling project and task-management tools.

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

    Parameters3/5

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

    Schema description coverage is only 33%, so the description must compensate for the undocumented parameters. It does a good job explaining the `description` parameter via the #tag/@marker syntax, and indirectly connects that syntax to the estimate value. However, `project_id` is given no semantic meaning beyond its name, and the description does not say whether it is required for routing the task to a project or what happens if it is omitted.

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

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description opens with the concrete action 'Create a task' and adds precise semantics: a task can carry #skill tags and an @Nh/@Nm estimate marker. This clearly differentiates it from sibling tools such as dwt_create_project and dwt_list_tasks, since the resource being acted on is unambiguous and the tag/estimate rules are specific to creating a 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/5

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

    Usage is implied rather than stated explicitly. The description shows how to create a task with #tags and estimates, so an agent can infer that this is the right tool for new task creation. However, it never names alternatives or says when not to use the tool, such as 'use dwt_create_project for project creation' or 'use dwt_create_task only when the target project is already known.'

    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 burden of disclosing behavior. 'List' clearly implies a read-only operation, and the output fields are disclosed. However, it does not mention ordering, pagination, or whether the list includes archived projects, leaving some behavioral aspects unstated.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficient sentence that front-loads the core action and resource, followed by a brief clarification about tasks. There is no redundant or extraneous text.

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

    Completeness4/5

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

    For a simple parameterless list operation, the description is largely complete: it states what is returned and adds relevant context about where tasks live. It does not describe a return envelope or any complications, but given the simplicity and lack of output schema, nothing critical is missing.

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

    Parameters4/5

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

    The tool has zero parameters, so the schema is trivially 100% covered. The description correctly focuses on the output rather than parameter details. No additional parameter semantics are needed.

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

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('List') and the resource ('the user's projects'), and specifies the output fields (id, name). This distinguishes it from sibling tools like dwt_create_project and dwt_list_tasks by naming a distinct resource and operation.

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

    Usage Guidelines3/5

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

    The sentence 'Tasks live in projects or unassigned' provides contextual hint that listing projects is relevant for finding tasks, but it does not explicitly state when to use this tool versus alternatives such as dwt_list_tasks. No exclusions or alternative tool mentions are provided.

    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 burden of behavioral disclosure. It accurately states the core side effect (discard without logging), but does not clarify reversibility, whether the session is permanently deleted, or any confirmation behavior. That is a moderate gap for a destructive 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    A single sentence with no filler. The key action and its consequence are stated directly, making it easily parsed and immediately understandable.

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

    Completeness5/5

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

    For a parameterless tool with no output schema, the description fully covers what the agent needs to know: what it acts on and what it does. The absence of extra details is not a deficiency given the tool's simplicity.

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

    Parameters4/5

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

    The tool has zero parameters, so there is nothing to document. The description correctly focuses on the action rather than parameter details, which justifies the baseline score of 4 for parameterless tools.

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

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Discard') with a clear resource ('active session') and adds a distinguishing qualifier ('without logging any time'). This clearly separates it from session-logging siblings like dwt_log_session and dwt_log_pomodoro.

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

    Usage Guidelines3/5

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

    Usage context is implied rather than explicit: the tool is for when you want to discard an active session instead of logging it. However, it does not explicitly name alternatives or state when not to use it, leaving some inference to the agent.

    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 carries the full burden. It does reveal that the tool returns open tasks and how project_id and snoozed affect results, but it omits details like return format, ordering, or potential errors. More transparency would be beneficial.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, front-loaded with the core action, and every clause adds value. No fluff or repetition.

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

    Completeness4/5

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

    Given the tool's simplicity (two optional params, no output schema), the description covers the essential behavior fully. It could mention return format or that it's read-only, but the current level is sufficient for correct invocation.

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

    Parameters4/5

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

    With 0% schema description coverage, the description must explain parameters. It does so clearly: project_id toggles between unassigned and project-specific tasks, snoozed toggles to view snoozed tasks instead. This gives full semantic meaning to both parameters.

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

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool lists tasks, and distinguishes between behavior with and without project_id. This differentiates it from sibling tools like dwt_list_projects, 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 Guidelines4/5

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

    The description explains when to use the tool and how parameters change behavior, but it does not explicitly mention alternatives or cases to avoid. For a simple list tool this is adequate, though not exhaustive.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals important behavioral traits: time is split 'honestly' between tasks and total time is conserved, which helps the agent understand the impact of the switch. However, it does not mention side effects or prerequisites beyond the session being active.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise and well-structured: the first sentence states the core action, the second adds behavioral context and usage guidance. No superfluous content, and key information is front-loaded.

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

    Completeness4/5

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

    For a simple single-parameter tool without an output schema, this description covers the essential information: what it does, when to use it, and the behavioral implication of time conservation. It falls short only in not explicitly clarifying the parameter semantics, but overall it is sufficiently complete for an agent to invoke correctly.

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

    Parameters2/5

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

    The schema provides no description coverage (0%), and the tool description does not elaborate on the 'task_id' parameter. While the action implies task_id is the destination task, the description fails to explicitly state which task the ID refers to, leaving room for ambiguity.

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

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly specifies the verb 'move' and the resource 'the active session's open segment', explicitly stating that it moves to a different task. This distinguishes it well from the sibling dwt_start_session, which starts a new session.

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

    Usage Guidelines5/5

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

    The description explicitly states when to use this tool: 'Use this instead of dwt_start_session when a session is already running.' This provides a clear condition and names the alternative, leaving no ambiguity about the intended use case.

    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?

    With no annotations, the description carries the behavioral burden. It discloses the refusal behavior when another device owns the open segment and the force escape hatch, which is valuable beyond a simple 'complete session' statement. It also notes the splitting across touched tasks, adding detail about the side effect. It does not mention irreversibility or prerequisites, but the key behavioral traits are covered.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two tight sentences: the first states the core function, the second the key exception. No redundant phrasing or filler, and the most important information is front-loaded.

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

    Completeness4/5

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

    For a tool with a single optional parameter and no output schema, the description covers the main action, the split-across-tasks behavior, and the force condition. It leaves some details implicit (e.g., behavior when no session is active), but these are minor given the low complexity and clear sibling context.

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

    Parameters4/5

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

    Schema coverage is 0% for the only parameter, force, but the description explains its semantics: 'force=true and the user explicitly asked' overrides the device-ownership refusal. This gives the agent enough meaning to use the parameter correctly, even though the schema only says boolean.

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

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses specific verb phrases 'Complete the active session' and 'write it to the ledger as one pomodoro, split across the tasks it touched,' clearly identifying the resource and outcome. It distinguishes this tool from siblings like dwt_log_pomodoro (individual pomodoro logging) and dwt_abandon_session (discarding) by focusing on session completion.

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use this tool: when there is an active session to complete and log. It also specifies the conditional for the force parameter – 'unless force=true and the user explicitly asked' – giving guidance on the exception. It does not explicitly reference alternative tools, but the context is sufficient to infer the primary use case.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only query via language like "ledger" and "Use to answer," effectively indicating no side effects. It also reveals output structure: sorted hours and next milestone. This is solid but not exhaustively explicit about auth or data freshness.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two sentences with no fluff. It front-loads the core concept (10,000-hour ledger), then specifies the content and provides an example query. Every sentence earns its place.

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

    Completeness5/5

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

    Given that there are no parameters, no output schema, and no annotations, the description must stand alone. It sufficiently explains what the tool returns (lifetime hours per skill, sorted, with the next milestone) and when to use it (answering a question about hours). No necessary information is missing for an agent to invoke it correctly.

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

    Parameters4/5

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

    The tool has zero parameters, so the schema is trivially 100% covered. The description doesn't need to explain any parameters. Per the rule, 0 params yields a baseline of 4. The description's mention of "every #skill the user has tagged" clarifies the implicit scope of the query without needing parameters.

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

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly identifies the tool's resource (skills) and metric (lifetime focus hours). It specifies the exact purpose: to provide a ledger of hours per tagged skill, sorted by hours, with the next milestone. This is distinct from sibling tools like dwt_status or dwt_stats, which focus on different aspects.

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

    Usage Guidelines4/5

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

    The description explicitly states a use case: "Use to answer 'how many hours have I put into X'." This gives clear practical guidance on when to invoke this tool. However, it does not mention alternatives or exclusions, so it doesn't fully meet the 5-level bar.

    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. It discloses what is returned (active session details if any, and today's total), including the conditional 'if any' and the device ownership detail. It implicitly signals a read-only operation via 'Show', which is useful 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences with no redundancy. The main output is stated first, followed by a clear directive on when to call it. Every sentence earns its place.

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

    Completeness5/5

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

    For a zero-parameter status tool, the description fully covers what an agent needs to know: what it returns, the conditional nature of the active session, and the recommendation to call it first. No output schema exists, but the described return values are sufficient.

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

    Parameters4/5

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

    The tool has zero parameters, so the schema provides no parameter details. The description appropriately focuses on behavior rather than parameters, matching the baseline for parameter-less tools.

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

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states the tool shows the active Deep Work Timer session (with task, time remaining, device) and today's total focus time. It uses a specific verb ('Show') and resource, distinguishing it from sibling tools like dwt_stats or dwt_log_session.

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

    Usage Guidelines4/5

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

    Explicitly instructs to call this tool first before starting or logging anything, providing clear usage context. However, it does not explicitly mention when not to use it or name alternative tools for other scenarios, though the instruction is sufficient for primary use.

    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 present, so the description carries the full burden. It discloses the cross-device takeover behavior, the one-active-session rule, and the default length. It does not state what happens to the preempted session or describe the response shape, but the most consequential behaviors are covered.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two dense sentences with no filler. The default behavior is front-loaded, and the warning about existing sessions earns its place because it directly affects invocation strategy.

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

    Completeness4/5

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

    For a simple two-parameter tool with no output schema, the description covers defaults, constraints, preconditions, and the correct sibling alternative. It does not describe the return value, which would be useful with no output schema, but this omission does not prevent correct selection or invocation.

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

    Parameters4/5

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

    The schema describes task_id but leaves minutes undocumented. The description compensates by explaining the default pomodoro length and the 1-to-240 minute range, which clarifies behavior when minutes is omitted. Task_id is already well covered by the schema description.

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

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    States a specific verb ('Start') and resource ('server-side focus session'), and immediately clarifies the one-active-session-per-account constraint. This clearly distinguishes it from siblings like dwt_switch_task and dwt_log_session.

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

    Usage Guidelines5/5

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

    Explicitly instructs the agent to call dwt_status first and prefer dwt_switch_task when a session is already running. It also provides the default duration context, giving clear when-to-use and when-not-to-use guidance.

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

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

deepworktimer-mcp MCP server

Copy to your README.md:

Score Badge

deepworktimer-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/stirredo/deepworktimer-mcp'

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