Skip to main content
Glama

WakaTime MCP by usefulapi

Get coding stats

wakatime_get_stats
Read-only

Aggregated coding stats for a range: total time, daily average, best day, AI vs human line changes, and the full breakdown by language, project, editor, operating system, category, dependencies and machine. If the reply says it is still calculating, call again shortly. GET /users/current/stats/{range}.

Input Schema

NameRequiredDescriptionDefault
rangeNoTime range: last_7_days, last_30_days, last_6_months, last_year, all_time, a year (2026) or a month (2026-09).last_7_days
timeoutNoKeystroke timeout in minutes (default: the user's preference).
writes_onlyNoOnly count heartbeats that were file writes (default: the user's preference).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true). The description adds genuinely useful behavioral context not in the structured fields: the response may indicate the stats are still calculating, in which case the agent should retry shortly. This async caveat is exactly the kind of trait annotations can't express.

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 content enumeration is front-loaded and the async-retry caveat plus endpoint reference follow compactly. Nothing is wasteful, though the trailing 'GET /users/current/stats/{range}' adds little an agent needs to invoke the tool.

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 no output schema, the description carries the burden of describing return values, and it does so by listing the returned dimensions. Combined with the retry behavior, an agent has enough to call and interpret the result; only pagination/response size limits are unaddressed.

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 the range, timeout and writes_only parameters are fully documented in the schema itself, including the range pattern and defaults. The description adds no parameter syntax beyond naming dimensions, which is the expected baseline when the schema does the heavy lifting.

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

Purpose4/5

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

The description names a specific verb (get aggregated coding stats) and enumerates the exact breakdown dimensions returned — total time, daily average, best day, AI vs human line changes, language, project, editor, OS, category, dependencies and machine. That is far more specific than the title 'Get coding stats', though it never names the sibling wakatime_get_summaries it likely overlaps with.

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?

There is no guidance on when to use this tool versus alternatives such as wakatime_get_summaries or wakatime_get_all_time_since_today. The only procedural note ('call again shortly') is about retry behavior, not tool selection, so usage is left entirely to inference from the sibling list.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.