wakatime-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation3/5
Several tools (today, summaries, durations, heartbeats, stats) all return time-tracking data with overlapping periods and granularities, making selection potentially confusing. Descriptions clarify differences, but the boundaries between raw summaries, processed durations, and aggregated stats are not always obvious.
Naming Consistency4/5All tools share the wakatime_ prefix and use snake_case, creating a clear family identity. However, the semantic structure varies (e.g., wakatime_today is adverbial, wakatime_summaries is a plural noun, wakatime_mark_consumed is verb-object), so the pattern is consistent in style but not in syntactic form.
Tool Count5/510 tools is a well-scoped number for a WakaTime integration, covering user info, projects, multiple time-reporting views, and a session-tracking workflow with mark_consumed. Each tool has a distinct role, and the count fits comfortably in the ideal 3-15 range.
Completeness4/5The tool set covers the major WakaTime API areas: user validation, project listing, summaries, durations, heartbeats, stats, and all-time totals. The session_duration/mark_consumed pair adds a practical workflow. Missing advanced endpoints like goals or leaderboards are non-core, so the surface is nearly complete.
Average 3.6/5 across 10 of 10 tools scored. Lowest: 2.8/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 1 commit 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.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 for behavioral disclosure. It only states 'Never raw API JSON', which is a minimal hint about output format. It does not mention authentication, rate limits, how 'processed' is defined, or what the response looks like.
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 with no filler. The key verb and resource are front-loaded, and the second sentence provides a meaningful qualifier. Every word earns its place.
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 annotations and no output schema, so the description must compensate. While it gives a basic overview, it lacks enough context for an agent to confidently invoke it—particularly in relation to similar sibling tools (e.g., wakatime_summaries) and the expected output structure.
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 67%, with 'project' lacking any description. The description only reinforces the 'range' parameter by mentioning 'for a range', but does not explain 'project', 'timezone', or parameter interactions. It adds limited meaning beyond the schema.
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 ('Fetch'), the resource ('processed aggregated stats'), and scope ('for a range'). It lists the types of stats included, which adds specificity. It doesn't fully distinguish from siblings like wakatime_summaries, but the 'Never raw API JSON' phrase hints at differentiation.
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 explicit guidance on when to use this tool versus alternatives. The description implies it is for processed/stats data rather than raw data, but does not name any sibling tools or state specific use cases or exclusions.
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 mentions the default timezone, which is a behavioral trait, but it does not disclose return fields, whether the operation is read-only, authentication requirements, rate limits, or how the summary is computed. The description is too sparse to give the agent a clear behavioral model.
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, short, front-loaded sentence that immediately conveys the purpose. There is no filler or redundancy; every word contributes to understanding the tool's basic function.
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 only 2 optional parameters and no output schema, yet the description does not explain what fields the summary contains or how it relates to sibling tools like wakatime_summaries. It lacks sufficient context for an agent to know what to expect in the response or when this tool is appropriate beyond the bare 'today' scope.
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 schema has 50% coverage: 'timezone' is described with an example, and the description adds that Asia/Tokyo is the default. However, 'project' has no description in the schema and is not explained in the tool description, leaving its semantics unclear. The description partially compensates for the schema gaps but does not fully clarify both parameters.
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 returns today's summary in JSON format, using the verb '返します' (returns) and specifying the resource '今日のサマリ' (today's summary). It also notes the default timezone, which adds useful scope. However, it does not explicitly differentiate from sibling tools like wakatime_summaries, but the 'today' qualifier provides implicit distinction.
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 retrieving today's summary, and the mention of a default timezone suggests usage context. However, it provides no explicit guidance on when to use this tool versus alternatives like wakatime_summaries, 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 must convey safety and side effects. It only states that the API is called and JSON is returned, implying a read-only operation without explicitly stating it. Missing details on authentication, rate limits, error behavior, or whether it fetches data from the API only (no side effects).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded with the core action and result. It avoids fluff, though it lacks structural cues like bullet points for parameters.
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 and no output schema, the description is too sparse. It doesn't mention optional filters (project, branches, timezone) or describe the structure of the returned data, leaving the agent without sufficient context to invoke it fully correctly.
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 the schema already documents start/end, branches, and timezone. The description adds no parameter details beyond 'specified period,' so it stays at baseline 3.
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 calls the WakaTime Summaries API and returns daily summaries as JSON for a specified date range. The verb 'return' and resource 'daily summaries' distinguish it from sibling tools like wakatime_today or wakatime_durations.
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 use for retrieving daily summaries over a period, but provides no explicit guidance on when to prefer this tool over siblings or any prerequisites. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 introduces the vague term 'processed' without explaining what processing occurs, and it does not mention authentication, rate limits, or any other behavioral traits. The description adds little beyond the tool's basic function.
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 unnecessary words. It conveys the action, the resource, and the expected output, which is ideal for a simple 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?
For a parameterless, likely read-only list tool, the description covers the core purpose and return content (names and IDs). However, without an output schema or annotations, it leaves gaps such as the exact response structure, whether the list is sorted or filtered, and any error conditions. It 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.
Parameters4/5Does 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 information. The description correctly acknowledges this and instead hints at the output (names and IDs), which is the only meaningful semantic contribution. Baseline for zero parameters is 4.
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 verb 'Fetch' and specifies the resource: 'a processed list of available WakaTime projects with names and IDs.' This distinguishes it from sibling tools like wakatime_today or wakatime_summaries, which focus on different data.
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, and no exclusions or prerequisites are mentioned. The context implies it is for listing projects, but the description itself offers no usage direction.
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 a read-only fetch and mentions 'processed' totals (pre-aggregated), but does not describe return format, pagination, or data granularity. Some useful context, but not rich behavioral disclosure.
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?
One sentence, front-loaded with the action and resource, zero filler. It efficiently communicates the core purpose without unnecessary words.
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 (1 optional parameter, no output schema), but the description does not clarify the return structure or what 'processed totals' look like. While the core purpose is clear, more detail on output format would make it more complete for an agent.
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 single parameter 'project' has 100% schema description coverage ('Filter by project name (optional)'). The description adds no additional meaning beyond what the schema already provides, so 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 tool fetches 'processed all-time totals per project since the beginning of WakaTime tracking.' The verb 'Fetch' combined with specific resource and scope makes it obvious and distinguishes it from siblings like wakatime_today (today's totals) and wakatime_summaries (range summaries).
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 use for all-time historical data but does not explicitly state when to prefer it over alternatives or mention any exclusions. Given siblings like wakatime_today and wakatime_summaries, explicit guidance would be helpful.
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 provided, the description carries the full burden. It does add useful context: it computes and subtracts consumed ranges, returns a formatted summary, and does not expose raw heartbeats. However, it does not explicitly state whether the operation is read-only or if any data is mutated, nor does it clarify what 'consumed ranges' are or how they are sourced. This leaves some ambiguity about 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the main verb 'Fetch' and a clear resource. It includes a useful output example without unnecessary fluff. 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 moderately simple with only three parameters and no output schema. The description provides the expected output format and key behavioral notes (no raw heartbeats). However, it lacks explicit usage guidance, does not explain the concept of 'consumed ranges', and offers no mention of prerequisites like authentication. This is adequate but leaves gaps that an agent must infer.
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 has 100% description coverage for all three parameters (project, since, branch), so the description does not need to compensate. The description adds no extra parameter-specific meaning beyond what the schema provides, making the schema the primary source of parameter semantics. It aligns with the baseline of 3.
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: fetching heartbeats, computing per-file coding time, and subtracting consumed ranges. It includes a concrete output example ('app.py 35m, auth.py 20m, total 55m') and explicitly notes that raw heartbeat data is not exposed, differentiating it from sibling tools like wakatime_heartbeats.
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?
Usage is implied rather than explicit. The description indicates it is for obtaining per-file coding time after subtracting consumed ranges, but it does not name alternative tools or state when not to use it. It leaves the agent to infer this from the context of sibling tools such as wakatime_durations and wakatime_mark_consumed.
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 burden of behavioral disclosure. It discloses that the tool returns processed, summarized data rather than raw JSON, which is a useful behavioral trait. However, it does not mention potential side effects (likely none), error behavior, or specifics about how filters interact with summaries. It is decent but not exhaustive.
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 main action ('Fetch processed heartbeat data for a date'), and every word adds value. There is no waste or redundancy.
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?
Given there is no output schema and no annotations, the description does a reasonable job explaining the return behavior ('summarized counts by project/file') and the data type ('processed', 'never raw heartbeat JSON'). Minor gaps include the exact shape of the summary and whether branch/project filters affect the summary counts, but the tool is simple enough that this is mostly 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 has 100% coverage with descriptions for all three parameters, so the description does not need to add parameter details. The description adds context by mentioning 'for a date', which aligns with the 'date' parameter, but it does not elaborate on branch/project filters beyond what the schema already provides. Baseline of 3 is appropriate given high 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 verb 'Fetch' and the resource 'processed heartbeat data for a date', and explicitly distinguishes from raw data by saying 'summarized counts by project/file, never raw heartbeat JSON'. This differentiates it from siblings like wakatime_durations or wakatime_summaries.
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 context ('for a date', 'summarized counts') and says 'never raw heartbeat JSON', which hints at not using for raw data, but it does not explicitly name alternatives or provide when-not-to-use scenarios. This is implied usage rather than explicit 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 carries the full burden. It discloses a key behavioral trait: output is processed/summarized and never raw API JSON. However, it omits other behavioral details such as authentication requirements, rate limits, pagination, or error behavior, leaving notable 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, dense sentence that front-loads the verb and object, followed by the key qualifiers. Every word earns its place with no redundancy or filler.
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 read tool with four optional parameters and no output schema, the description gives a general sense of the returned data ('summarized time blocks') but does not define what a duration block is or describe the response shape. It is adequate for a simple tool but leaves gaps around default behavior and return format.
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 schema already provides descriptions for date, branches, and timezone (75% coverage). The description only mentions date/project/branches without adding extra meaning, and 'project' has no schema description but is not elaborated in the text. Thus the description adds minimal 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 the verb 'Fetch' and resource 'processed duration blocks', and specifies filtering dimensions (date/project/branches). It also distinguishes the output from raw API JSON, setting it apart from sibling tools like heartbeats or summaries.
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 on what the tool returns and its filtering scope, implying it should be used when summarised duration blocks are needed. However, it does not explicitly name alternative sibling tools or state when not to use this tool, so it lacks explicit 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 carries the burden of behavioral disclosure. It adds the key consequence of preventing double-counting, but it doesn't mention whether the operation is reversible, idempotent, or has other side effects. The description focuses on the intended effect rather than a full behavioral profile.
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 concise sentences with no filler. The first states the action and timing, the second explains the benefit. Every word 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?
The tool is simple with only 3 parameters and no output schema. The description gives the purpose, timing, and main behavioral effect, which is sufficient to understand when and why to use it. It doesn't explain return values, but that's not critical for this type of marking operation.
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 full descriptions for all three parameters (commit_hash, file_paths, branch), so the description doesn't need to add parameter details. The description adds no param-specific information beyond what the schema already provides, earning the baseline for high 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 ('Mark time ranges as consumed') and the specific context ('after a commit'), and distinguishes the tool from siblings by explicitly mentioning it prevents double-counting in subsequent session_duration calls, which is a sibling 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies when to use it ('after a commit') and explains the consequence ('Prevents double-counting in subsequent session_duration calls'), which implies its relationship with session_duration. However, it doesn't explicitly state when not to use it or name alternative tools beyond session_duration.
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 burden. It mentions 'validate' and 'return account information,' implying a read-only operation, but does not disclose error handling, response format, or what happens with an invalid key. The description gives basic behavioral context but lacks depth.
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 waste. It communicates the core action and output in fewer than ten words, achieving excellent conciseness.
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?
Given the zero-parameter schema and no output schema, the description is adequate but has gaps. It doesn't specify what 'account information' includes or what a successful validation returns. For a simple tool, this is sufficient but not rich.
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 has zero parameters (schema coverage 100%). The description adds value by explaining the tool's function relies on the API key (likely from configuration/environment), which is not evident from the empty schema. Baseline for 0 params is 4, and the description supports it.
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 purpose: 'Validate the WakaTime API key and return account information.' It uses a specific verb ('validate') and identifies the resource (API key and account info), distinguishing it from sibling tools like wakatime_today or wakatime_summaries which focus on time data.
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 context for use is clear: use this tool to verify API key validity or retrieve account information. However, it does not explicitly exclude alternatives or provide when-not-to-use guidance. For a zero-parameter tool, this is adequate but not fully explicit.
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/efirvida/wakatime-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server