wakatime-mcp
# π wakatime-mcp
[](LICENSE)
An MCP server that exposes WakaTime summary tools over stdio. It proxies the
WakaTime Summaries API with your API key and returns raw JSON for clients to
parse as needed.
## π Summary
Key features:
- π Uses `WAKATIME_API_KEY` for authentication
- π Exposes daily summaries and todayβs summary
- π¦ Runs via `npx` (no install required)
## π Quick Start (npx)
```bash
export WAKATIME_API_KEY="YOUR_API_KEY"
npx wakatime-mcp
```
## π€ MCP Config (npx)
```json
{
"command": "npx",
"args": ["-y", "github:geeknees/wakatime-mcp"],
"env": {
"WAKATIME_API_KEY": "YOUR_API_KEY"
}
}
```
## π§° Available Tools
### `wakatime_summaries`
```json
{
"tool": "wakatime_summaries",
"arguments": {
"start": "2025-01-01",
"end": "2025-01-07",
"project": "my-project",
"timezone": "Asia/Tokyo"
}
}
```
### `wakatime_today`
```json
{
"tool": "wakatime_today",
"arguments": {
"project": "my-project",
"timezone": "Asia/Tokyo"
}
}
```
## βοΈ Configuration
| Environment Variable | Description | Required |
| --- | --- | --- |
| `WAKATIME_API_KEY` | WakaTime API key | β
|
## π§ͺ Tests
```bash
npm test
```
TDQS
Scored across 10 tools
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.
All 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.
10 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.
The 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.