WakaTime MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.23.4Updated Nov 7, 2026

Read your WakaTime coding time: summaries, stats, projects, goals, commits and leaderboards.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowDeveloper ToolsData & Analytics

Overview

AI-generated overview

Hosted WakaTime server that lets an assistant read your coding-time summaries, stats, projects, goals, commits and leaderboards.

What you can do
  • Read profile and activity totals: current user, all-time total, today's status-bar time
  • Get coding summaries and stats for a date range, with breakdowns by project, language, editor, OS, category, dependency and machine
  • Inspect one day in detail: durations, raw heartbeats and a chosen insight type
  • List projects, machines, editors and plugins, plus project commits with time spent on each
  • Review goals, organizations, org dashboards and their member summaries
  • Check private and public leaderboards, and manage usage, plan and feature requests
When to use it
Useful when you want an assistant to answer questions about how much and where you code, such as hours per project last week, most-used languages this month, or your best day in the last 30 days, and to review goals or team dashboards.
Requirements
Remote MCP endpoint reached over HTTP; no local install. Sign-in is by OAuth through the server's login page using your WakaTime credentials; add only the URL, no API key or Authorization header. Some tools need OAuth scopes such as read_heartbeats, read_goals, read_orgs or read_private_leaderboards. Free plan allows 50 tool calls per month.
Before you install
The free tier is limited to 50 tool calls a month; paid Pro and Pro+ plans cost money and are billed through a Stripe checkout link, with no refund for the current period on cancellation. Meta tools can start or cancel a subscription and send a feature request. Data returned includes email, IP addresses, machine names, file paths and teammates' activity, so treat it as private.

Installation

In SourceWeft

  1. Open WakaTime MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fwakatime/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "wakatime-by-usefulapi": {
      "type": "http",
      "url": "https://wakatime.usefulapi.io/mcp"
    }
  }
}

README

WakaTime MCP by usefulapi

Use WakaTime from Claude, Cursor, or any MCP client — coding-time summaries and stats, durations and heartbeats, projects, machines, commits, goals, organization dashboards and leaderboards. Read-only. Hosted, no local install: connect with your own WakaTime credentials.

Live endpoint: https://wakatime.usefulapi.io/mcp · Homepage: https://usefulapi.io/wakatime

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://wakatime.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http wakatime https://wakatime.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "wakatime": {      "url": "https://wakatime.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your WakaTime credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/wakatime/

Tools

ToolTypeWhat it does
wakatime_get_userreadGet current user
wakatime_get_summariesreadGet daily summaries
wakatime_get_statsreadGet coding stats
wakatime_get_all_time_since_todayreadGet all-time total
wakatime_get_status_bar_todayreadGet today's coding time
wakatime_get_insightreadGet insight
wakatime_get_durationsreadGet durations for a day
wakatime_get_heartbeatsreadGet heartbeats for a day
wakatime_list_projectsreadList projects
wakatime_list_machinesreadList machines
wakatime_list_user_agentsreadList editors and plugins used
wakatime_list_commitsreadList project commits
wakatime_get_commitreadGet project commit
wakatime_list_goalsreadList goals
wakatime_get_goalreadGet goal
wakatime_list_orgsreadList organizations
wakatime_list_org_dashboardsreadList organization dashboards
wakatime_list_org_dashboard_membersreadList dashboard members
wakatime_get_org_dashboard_summariesreadGet dashboard summaries for a day
wakatime_get_org_member_summariesreadGet dashboard member summaries
wakatime_list_private_leaderboardsreadList private leaderboards
wakatime_get_private_leaderboardreadGet private leaderboard
wakatime_get_public_leadersreadGet public leaderboard
wakatime_usage_statusmetaUsage status (free-tier meter)
wakatime_request_featuremetaRequest a missing feature
wakatime_upgrademetaUpgrade to Pro or Pro+
wakatime_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with wakatime_upgrade (it returns a Stripe Checkout link). Cancel any time with wakatime_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running wakatime_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by WakaTime.

Source: servers/wakatime/README.md at commit 4046075

Tools

23

wakatime_get_user

Get current user

The WakaTime user this key belongs to: id, username, display name, email, timezone, plan, last plugin/project/branch and last heartbeat time. GET /users/current.

Takes no parameters.

wakatime_get_summaries

Get daily summaries

Coding activity as one summary per day for a date range: grand total plus breakdowns by project, language, editor, operating system, category, dependencies and machine, with cumulative total and daily average. Give start and end, or one named range. Use project (and branches) to also get per-branch and per-file entities. GET /users/current/summaries.

Parametersendrangestartprojecttimeoutbranchestimezonewrites_only

wakatime_get_stats

Get coding stats

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

Parametersrangetimeoutwrites_only

wakatime_get_all_time_since_today

Get all-time total

Total coding time since the user's WakaTime account (or one project) was created, with daily average and the range covered. GET /users/current/all_time_since_today.

Parametersproject

wakatime_get_status_bar_today

Get today's coding time

Today's coding activity as shown in an editor status bar: grand total plus breakdowns by project, language, editor and more. Cached data only; an empty summary means the cache is still being filled. GET /users/current/status_bar/today.

Takes no parameters.

wakatime_get_insight

Get insight

One WakaTime insight for a range: stats, weekdays (average per weekday), days (per-day totals, optionally one weekday), ai_days, best_day, daily_average, or a breakdown by projects, languages, editors, categories, machines or operating_systems. GET /users/current/insights/{insight_type}/{range}.

Parametersrangetimeoutweekdaywrites_onlyinsight_typerequired

wakatime_get_durations

Get durations for a day

The coding sessions (durations) of one day, each with start time, length in seconds and the project (or other slice) it belongs to. Needs the read_heartbeats scope for OAuth tokens. GET /users/current/durations.

Parametersdaterequiredprojecttimeoutbranchesslice_bytimezonewrites_only

wakatime_get_heartbeats

Get heartbeats for a day

The raw heartbeats (activity pings from editor plugins) of one day: entity (file path or domain), type, category, project, branch, language, time, lines and AI line changes. Large days are cut to `limit` heartbeats starting at `offset`; total_heartbeats says how many the day has. Needs the read_heartbeats scope for OAuth tokens. GET /users/current/heartbeats.

Parametersdaterequiredlimitoffset

wakatime_list_projects

List projects

The user's WakaTime projects with id, name, repository, color, clients, first and last heartbeat time and badge/public-url flags. Optionally filter by a name search. GET /users/current/projects.

Parametersqpage

wakatime_list_machines

List machines

The machines (computers) that sent coding activity: id, name, host name, IP, timezone and last-seen time. GET /users/current/machine_names.

Takes no parameters.

wakatime_list_user_agents

List editors and plugins used

The editor and plugin user agents that sent coding activity: editor, version, OS, AI model if any, and last-seen time. GET /users/current/user_agents.

Takes no parameters.

wakatime_list_commits

List project commits

Commits of a WakaTime project with the time spent coding on each (needs a connected repository). Filter by author or branch; paged. Needs the read_heartbeats scope for OAuth tokens. GET /users/current/projects/{project}/commits.

Parameterspageauthorbranchprojectrequired

wakatime_get_commit

Get project commit

One commit of a WakaTime project by hash, with the time spent coding on it. Needs the read_heartbeats scope for OAuth tokens. GET /users/current/projects/{project}/commits/{hash}.

Parametershashrequiredbranchprojectrequired

wakatime_list_goals

List goals

The user's coding goals: title, type, target seconds, status, chart data per period, languages/projects/editors it covers and who it is shared with. Needs the read_goals scope for OAuth tokens. GET /users/current/goals.

Parameterspage

wakatime_get_goal

Get goal

One goal by id with its chart data (cached; an empty chart means the cache is still building, retry shortly). GET /users/current/goals/{goal}.

Parametersgoal_idrequired

wakatime_list_orgs

List organizations

The WakaTime organizations the user belongs to: id, name, people count, keystroke timeout and timezone preferences and what the user may do. Needs the read_orgs scope for OAuth tokens. GET /users/current/orgs.

Parameterspage

wakatime_list_org_dashboards

List organization dashboards

The dashboards of an organization: id, name, timezone, member count and what the user may view or join. GET /users/current/orgs/{org}/dashboards.

Parameterspageorg_idrequired

wakatime_list_org_dashboard_members

List dashboard members

The members of an organization dashboard: id, username, full name, email, photo and whether their activity is view-only hidden. GET /users/current/orgs/{org}/dashboards/{dashboard}/members.

Parameterspageorg_idrequireddashboard_idrequired

wakatime_get_org_dashboard_summaries

Get dashboard summaries for a day

One day of coding activity for every developer on an organization dashboard (grand total plus breakdowns per member). GET /users/current/orgs/{org}/dashboards/{dashboard}/summaries.

Parametersdaterequiredorg_idrequiredprojectbranchesdashboard_idrequired

wakatime_get_org_member_summaries

Get dashboard member summaries

One dashboard member's coding activity as daily summaries for a date range (give start and end, or a named range). GET /users/current/orgs/{org}/dashboards/{dashboard}/members/{member}/summaries.

Parametersendrangestartorg_idrequiredprojectbranchesmember_idrequireddashboard_idrequired

wakatime_list_private_leaderboards

List private leaderboards

The private leaderboards the user is in: id, name, time range, member count and edit rights. Needs the read_private_leaderboards scope for OAuth tokens. GET /users/current/leaderboards.

Parameterspage

wakatime_get_private_leaderboard

Get private leaderboard

The ranking of a private leaderboard: rank, member and total coding time (or AI lines / AI spend) per language, country and board type; paged (without page it starts at the user's own page). GET /users/current/leaderboards/{board}.

Parameterspageboard_idrequiredlanguageboard_typecountry_code

wakatime_get_public_leaders

Get public leaderboard

WakaTime's public leaderboard of the most active coders over the last 7 days, filterable by language, country, hireable badge and ranking type; paged. Each leader is reduced to rank, name, username, country, total and daily-average time and top 3 languages. GET /leaders.

Parameterspagelanguageboard_typeis_hireablecountry_code

Version history

19
  1. v1.23.4LatestNov 7, 2026
  2. v1.22.3Nov 5, 2026
  3. v1.22.2Nov 5, 2026
  4. v1.22.1Nov 4, 2026
  5. v1.22.0Nov 3, 2026
  6. v1.21.1Nov 3, 2026
  7. v1.20.0Nov 1, 2026
  8. v1.18.0Oct 31, 2026
  9. v1.17.0Oct 31, 2026
  10. v1.16.2Oct 30, 2026
  11. v1.16.0Oct 30, 2026
  12. v1.11.0Oct 26, 2026
  13. v1.8.3Oct 25, 2026
  14. v1.8.0Oct 25, 2026
  15. v1.7.0Oct 24, 2026
  16. v1.4.0Oct 23, 2026
  17. v1.3.4Oct 22, 2026
  18. v1.3.3Oct 21, 2026
  19. v1.0.0Oct 12, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations