WakaTime MCP Server
Provides access to WakaTime coding analytics, including detailed statistics for various time periods, activity breakdowns by project, all-time coding totals, current day status, and project listing/searching capabilities.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WakaTime MCP Serverget my coding stats for the last 7 days"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WakaTime MCP Server
A Model Context Protocol (MCP) server that provides high-signal coding analytics from your WakaTime data.
Direct mode: FastMCP serves Streamable HTTP at
http://localhost:8000/mcpProxy mode:
mcp-proxyexposes the server over SSE/HTTP and Caddy adds token auth (recommended for self-hosting)
Tooling / API
Tool | Purpose | Key arguments |
| Detailed stats for a period |
|
| Activity breakdown for a date/range |
|
| Total coding time since account creation |
|
| Current day status (like editor status bar) | (none) |
| List/search tracked projects |
|
Related MCP server: woffu-mcp
Configuration
Configure via environment variables (or a .env file for the self-hosted scripts).
Variable | Description | Required |
| Your API key from https://wakatime.com/settings/api-key | Yes |
| Token for auth proxy (proxy/self-hosted mode) | Proxy mode |
| Direct-mode port (default: | No |
Development (Direct mode)
Install (uv required)
git clone https://github.com/dpshade/wakatime-mcp.git cd wakatime-mcp uv sync --no-install-projectRun
WAKATIME_API_KEY="your_wakatime_api_key_here" uv run -- python src/server.pyConnect
URL:
http://localhost:8000/mcpAuth: none
Deployment
Option 1: Self-hosted with auth (recommended)
This mode runs the MCP server with FastMCP’s default stdio transport and uses mcp-proxy to expose it over HTTP:
Internet -> (optional Tailscale Funnel) -> Caddy (auth) -> mcp-proxy -> FastMCP (stdio)
:8770 :8767Configure
cp .env.example .env # Edit .env: set WAKATIME_API_KEY and a strong MCP_AUTH_KEYDownload Caddy (auth proxy)
curl -L https://github.com/caddyserver/caddy/releases/latest/download/caddy_linux_amd64 -o deploy/caddy chmod +x deploy/caddyStart
./deploy/start.shEndpoints
Auth proxy (recommended):
SSE:
http://localhost:8770/sseStreamable HTTP:
http://localhost:8770/mcp
Internal (no auth; do not expose publicly):
SSE:
http://localhost:8767/sseStreamable HTTP:
http://localhost:8767/mcp
mcp-proxy also exposes a health endpoint at http://localhost:8767/status (and via auth proxy at http://localhost:8770/status).
Systemd (persistent)
./deploy/install-systemd.sh
sudo systemctl enable --now mcp-wakatime mcp-wakatime-authOptional: Tailscale Funnel
If you use Tailscale, you can publish the auth proxy port:
tailscale funnel --bg --set-path=/wakatime localhost:8770
tailscale funnel --bg 443 onOption 2: Docker
Runs mcp-proxy + the server in a container.
cd deploy
docker-compose up -dEndpoint (no auth):
http://localhost:8767/sseIf you want auth, run Caddy on the host (or add it to your own compose stack) and proxy to
8767.
Option 3: Render
This repo includes render.yaml for deploying the direct Python server.
Set environment variable:
WAKATIME_API_KEYYour service endpoint will be:
https://<your-service>/mcp
Client setup
MCP Inspector
npx @modelcontextprotocol/inspectorThen connect using:
Direct mode:
http://localhost:8000/mcp(Streamable HTTP)Proxy mode:
http://localhost:8770/sse(SSE)
Poke / other hosted clients (proxy mode)
Use the auth proxy SSE endpoint and send MCP_AUTH_KEY via one of:
Authorization: Bearer <MCP_AUTH_KEY>X-API-Key: <MCP_AUTH_KEY>Api-Key: <MCP_AUTH_KEY>
Security notes
Generate a strong auth key:
openssl rand -hex 32Never expose the unauthenticated
mcp-proxyport (8767) to the public internet.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
- TimequipOAuthcom.timequip
Manage Timequip projects, tasks, comments, members, and dashboards through MCP.
Analytics for MCP servers. Query your tool calls, first-call success, retries and schema cost.
- REPSLogOAuthcom.reps-log
Log and read REPS time logs, properties, and categories via MCP. Requires REPSLog Premium.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables tracking and analyzing development time through the Wakapi API. Provides tools to retrieve coding statistics, project details, leaderboards, and recent activity logs for productivity insights.81Apache 2.0
- AlicenseAqualityBmaintenanceEnables clocking in/out, viewing work status, and managing time entries on Woffu via MCP tools.93MIT
- AlicenseCqualityCmaintenanceEnables interacting with Clockify time-tracking data through natural language, providing tools to manage workspaces, projects, time entries, reports, and more via the MCP protocol.4822 PyPI1MIT
- AlicenseNot gradedqualityAmaintenanceProvides MCP tools to read local Timing.app activity data, generate aggregated time entries, and push them to the Timing Web API.1MIT