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.2

  • Disambiguation5/5

    Each tool targets a distinct action or query: listing types, controlling active timers, logging intervals, updating annotations, generating reports, listing raw intervals, and fetching help. There is no overlap or ambiguity between start, stop, pause/resume, and log_interval, as each has a clear, non-overlapping purpose.

    Naming Consistency3/5

    Most tools follow a verb_noun pattern (list_activity_types, start_activity, stop_activity, update_activity, list_intervals). However, 'time_report' and 'app_help' break the pattern by not starting with a verb, and 'get_current_status' uses 'get' instead of 'list' or 'show', creating minor inconsistency.

    Tool Count5/5

    The 10 tools are well-scoped for a time-tracking MCP server, covering the core lifecycle (start, stop, pause/resume, log), data retrieval (status, intervals, report), and configuration (activity types, help). No tool feels redundant or missing at this granularity.

    Completeness4/5

    The tool set covers the main workflows: managing active timers, logging entries, updating annotations, and retrieving both raw and aggregated data. Minor gaps exist, such as no direct edit of entry times or deletion of entries, but these are explicitly documented in app_help as intentionally not exposed, making them workarounds rather than dead ends.

  • Average 4/5 across 10 of 10 tools scored. Lowest: 3.3/5.

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

    • 2 of 3 community issues answered or closed in the last 6 months
    • 24 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • 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

  • 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 mentions the required activity state but does not disclose side effects, error conditions, or how the pause/resume affects time tracking.

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

    Conciseness5/5

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

    The description is a single, clear sentence that is front-loaded with the action and resource. Every word earns its place with no unnecessary filler.

    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?

    The description is adequate for a simple toggle tool, and the schema provides usable parameter details. However, with no output schema or annotations, it omits return values, error behavior, and when to use this over stop_activity, leaving some gaps.

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

    Parameters3/5

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

    Schema coverage is 67%, with type_name and activity_id already described. The main description adds minimal meaning by mapping 'pause' and 'resume' to activity states, but does not explain selection behavior or the internal id warning 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 uses specific verbs 'Pause' and 'resume' with the resource 'activity', and further clarifies state constraints (running vs paused). This clearly distinguishes it from sibling tools like start_activity and stop_activity.

    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 pause vs stop, when to resume, or any prerequisites. The description states what the tool does but not when to prefer it over alternatives.

    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 carry the behavioral disclosure burden. It does disclose that times are wall-clock in the user's timezone and the expected format, which is useful. However, it does not mention side effects (e.g., creating a record), prerequisites (which parameter is required: type_id or type_name), or output behavior, leaving significant behavioral context unknown.

    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, front-loaded with the primary action, followed by a critical input-format constraint. Every sentence adds value, with no redundancy.

    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?

    The description adequately conveys the purpose and a key input detail, but given 7 parameters and no annotations or output schema, it does not fully explain how to choose between type_id and type_name, whether either is required, or what the tool returns. The schema covers much, but optional params like tags/comment remain unexplained.

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

    Parameters3/5

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

    The schema covers 71% of parameters with descriptions. The tool description adds the wall-clock/timezone context relevant to 'from' and 'to', but tags and comment are left undefined in both schema and description. Since coverage is above 50%, the baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description uses a specific verb 'log' with a clear resource 'completed time entry' and the modifier 'retroactively', which clearly distinguishes it from sibling tools like start_activity/stop_activity that handle live tracking, and update_activity which modifies existing entries.

    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: this tool is for retroactively logging completed time entries. It implies when to use it (when an entry has already finished) but does not explicitly name alternatives or exclusions, so it falls just 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?

    No annotations are provided, so the description carries the full burden. It discloses the output format (totals and buckets) but does not explicitly state read-only behavior, data source, or edge cases. It adds some behavioral context but not comprehensive transparency.

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

    Conciseness5/5

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

    Two sentences totaling 19 words, front-loaded with the core purpose and output structure. No redundant information, every sentence earns its place.

    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?

    With 8 parameters and no output schema, the description is somewhat sparse. It does not explain how to use from/to vs period, filtering by tags/type_ids/type_names, or the exact structure of returned data, leaving gaps for a tool of this complexity.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The description does not add extra meaning to parameters; it only hints at date range and bucket size, which are already documented in 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 the tool provides 'Aggregated time statistics per activity type for a date range' and 'Returns overall totals plus per-DAY/WEEK/MONTH buckets'. This specifies a concrete resource and action, distinguishing it from sibling tools like list_intervals which return raw intervals.

    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 for aggregated time statistics but does not explicitly state when to use this tool over siblings or mention exclusions/alternatives. There is no guidance on when not to use it.

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

  • 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 does reveal fuzzy matching and backdate semantics, but omits critical side effects for a state-changing tool: what happens if an activity is already being tracked, whether starting overwrites the current status, permissions needed, or any return/error behavior. This is a meaningful transparency gap.

    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, front-loaded with the primary purpose, and each clause adds necessary information (type identification, backdating options). No wasted words or repetition of schema details.

    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?

    The tool has five parameters, no required parameters, no annotations, and no output schema. The description does not clarify whether at least one of type_id/type_name is required, nor does it explain typical success/failure responses or conflicts with an in-progress activity. This level of ambiguity makes the description incomplete for a state-changing tool, despite good parameter-level coverage.

    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 already fully documents all five parameters, so the baseline is 3. The description adds value beyond the schema by noting that type_name is fuzzy matched, pointing to list_activity_types for valid names, and clarifying that at and started_minutes_ago are alternative backdating mechanisms. This helps an agent choose between the two backdate options.

    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 ('Start tracking an activity'), the resource (activity), and the key input modes (type name or type_id). It distinguishes itself from sibling tools like stop_activity and pause_resume_activity by explicitly being about starting tracking.

    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: use this to start tracking an activity, with guidance to consult list_activity_types for fuzzy name matching. It does not explicitly mention exclusions (e.g., when not to use), but the context is unambiguous enough for an agent to select it appropriately over siblings.

    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 of behavioral disclosure. It does add useful scoping (only running or paused activities) and the notion of elapsed time, but it does not mention whether the operation is read-only, what happens if no activities are active, or how elapsed time is calculated. This is adequate for a simple getter but lacks deeper behavioral detail.

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

    Conciseness5/5

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

    The description is a single concise sentence that front-loads the key action and scope. Every word contributes meaning; there is no fluff or redundancy.

    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?

    The tool is simple (one optional parameter, no output schema), so the description doesn't need to be exhaustive. However, since there is no output schema, an agent might benefit from knowing what fields are returned (e.g., activity name, elapsed time). The description gives a high-level idea but leaves these details implicit. Overall, it is minimally sufficient for the tool's simplicity.

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

    Parameters3/5

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

    The schema provides 100% description coverage for the single optional 'timezone' parameter, meeting the schema itself. The description does not mention the parameter, but the schema already explains it fully. Baseline of 3 is appropriate since the description adds no extra semantic value 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 the action ('Show'), the resource ('currently running or paused activities'), and the additional detail ('with elapsed time'). This distinguishes it from siblings like list_activity_types (which lists activity types) and list_intervals (which lists historical intervals), so an agent can easily identify when to use this tool.

    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: it is for viewing live activity state, not historical reports. It does not explicitly name alternatives or exclusions, but the scope is unambiguous enough for an agent to infer when to use it. The lack of explicit 'when not to use' guidance drops it from 5 to 4.

    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 available, the description carries the full burden. It discloses a 100-day limit, day-grouped output, and day-based pagination ('use page for older days'), which are key operational behaviors. It does not mention rate limits or authentication, but for a read-only list tool these are the most relevant constraints.

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

    Conciseness5/5

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

    Two sentences, no filler, and the main purpose is front-loaded. Each sentence contributes useful information without redundancy.

    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?

    The tool has 9 parameters, no annotations, and no output schema. The description covers date range and pagination but does not mention alternative date formats (period) or available filters (tags, type_ids, type_names). While the schema documents these, the description is not fully complete given the tool's complexity.

    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 description coverage is 100%, so the baseline is 3. The description adds value by explaining that `page` advances to older days and that results are grouped by day, complementing the schema's parameter descriptions and giving extra meaning beyond the structured definitions.

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

    Purpose5/5

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

    The description clearly states the tool's function: listing raw time entries (intervals) grouped by day for a date range, with a 100-day maximum. This distinguishes it from siblings like list_activity_types (which lists type metadata) and time_report (likely aggregated), using a specific verb and resource.

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

    Usage Guidelines3/5

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

    The description gives context (raw entries, date range, max 100 days) and hints at pagination for older days, but it does not explicitly compare this tool to alternatives like time_report or say when not to use it. Usage is implied rather than explicitly guided.

    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 cover behavioral traits. It discloses the ability to backdate with at or stopped_minutes_ago and the condition for type_name, which is useful. However, it does not mention what happens if no activity is active, whether the interval is definitively closed, or any side effects, leaving the agent without full awareness of edge cases.

    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 long, front-loaded with the core purpose, and every sentence adds important operational detail. There is no filler or repetition of schema content, 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.

    Completeness4/5

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

    With five parameters and no output schema, the description covers the main purpose and adds key usage semantics. It is fairly complete for a simple stop tool, though it could briefly note error conditions (e.g., no active activity) or what is returned. The schema handles parameter details, so this slight gap does not significantly impair 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 100%, so the baseline is 3. The description adds semantic value beyond the schema by explaining that type_name may be omitted when exactly one activity is active and by clarifying that at and stopped_minutes_ago are alternative backdating options. This helps the agent understand parameter relationships and selection.

    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 stops a running or paused activity, using a specific verb and resource. It distinguishes from siblings like start_activity and pause_resume_activity by indicating it ends an activity. The nuance about omitting type_name when exactly one activity is active also reinforces the 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/5

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

    The description gives clear context for when to use the tool (to stop an activity) and includes a specific condition: type_name may be omitted when exactly one activity is active. However, it does not explicitly compare with alternatives like pause_resume_activity or update_activity, so it stops short of full 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?

    With no annotations, the description carries the full burden. It discloses the tree structure and the semantic distinction between names and ids. It implies a read-only operation via 'List' and is transparent about what is returned, though it could mention default filtering behavior or side effects.

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

    Conciseness5/5

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

    Two concise sentences with no fluff. The key action and result shape are front-loaded, and the usage guidance earns its place by explaining the name/id distinction.

    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 simple list tool with one optional parameter and no output schema, the description provides sufficient context: what is listed, the tree structure, and how to use the returned data. The missing archived default is documented in the schema.

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

    Parameters3/5

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

    The schema covers the only parameter include_archived with a description, so schema coverage is 100%. The description itself adds no parameter-specific meaning, but the baseline is 3 per rubric given high schema coverage.

    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 states a specific verb ('List') and resource ('the user's activity types'), and clarifies the output format ('as a tree (groups contain children): names plus internal ids'). This clearly distinguishes it from sibling tools like list_intervals.

    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 gives clear usage guidance: 'Use the names when talking to the user; use the ids for exact targeting in other tools.' This helps the agent decide how to apply the output, though it does not explicitly contrast with alternatives since none directly overlap.

    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 burden of behavioral disclosure. It discloses that the tool does not change tracked time and applies to entries in any state (running, paused, or stopped). However, it does not mention the potentially destructive nature of tag replacement (full list replace) or comment replacement, though that is covered in the schema. It adds valuable context beyond the schema's structured fields.

    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: the first states the core purpose, the second gives usage guidance, and the third provides a prerequisite. It is front-loaded, concise, and every sentence earns its place with no redundancy.

    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 moderate complexity, no annotations, and no output schema, the description adequately covers purpose, when to use, what it changes, and where to get the ID. It does not discuss return values or error conditions, but with no output schema this is less critical. The description is reasonably complete for an update tool.

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

    Parameters3/5

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

    Schema description coverage is 100% and each parameter has a clear description (e.g., tags 'Full new tag list — replaces existing tags', comment 'New comment — replaces the existing one'). The description adds minor value by specifying where to get activity_id, but this is also in the schema. Baseline 3 is appropriate since the schema already does the heavy lifting.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Update the comment and/or tags of an existing entry (running, paused, or stopped) without changing its tracked time.' It distinguishes itself from logging a new entry and references sibling tools for obtaining the activity_id, making the 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 Guidelines5/5

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

    Explicit guidance is provided: 'Use this instead of logging a new entry when the user wants to annotate, describe, or re-tag something already tracked.' It also tells the user where to get the activity_id (get_current_status or list_intervals), which serves as a clear usage prerequisite.

    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?

    Although there are no annotations, the description conveys the tool's behavior: it's a documentation retrieval tool that returns the TOC or specific pages. It explains the two-step invocation, fuzzy matching, and cross-reference handling. It doesn't explicitly state it makes no modifications, but the documentation nature implies a non-destructive read operation. This is adequate transparency, though it could be more explicit about return format or side-effect absence.

    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 information-dense but every sentence adds value. It starts with a clear identification, then usage examples, followed by practical instruction. There is no fluff or repetition; the structure is logical and easy to parse, making it appropriately sized for a documentation/help tool.

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

    Completeness5/5

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

    Given the tool's simplicity (one optional parameter, no output schema), the description is remarkably complete. It covers purpose, use cases, invocation pattern, parameter semantics, and behavior. It also lists specific topics it can answer about (edit times, delete records, etc.), which helps the agent know when to delegate to this tool. The lack of an output schema is mitigated by the clear explanation of what the tool returns (TOC or pages).

    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 already describes `topics` as slug strings with fuzzy matching and omission for TOC. The description adds significant extra semantics: the recommended two-step workflow (first no args for TOC, then with topics), how cross-references map to slugs, and the note about platform applicability in the TOC. This goes beyond the schema, enhancing the agent's understanding of how to use the parameter effectively.

    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 provides official ATimeLogger documentation and is used to answer questions about how the app works or how to do things the other tools cannot. This distinguishes it from sibling action tools like start_activity or time_report, making its purpose specific and unambiguous.

    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?

    It explicitly tells when to use the tool (for app questions or tasks other tools can't do, with examples), and gives a clear calling pattern: call with no arguments for the table of contents, then with `topics` to fetch pages. It also instructs to answer from the docs, not memory, and explains cross-references, providing comprehensive usage 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

atimelogger-mcp MCP server

Copy to your README.md:

Score Badge

atimelogger-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/zaplitny/atimelogger-mcp'

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