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
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
- AlicenseBqualityAmaintenanceEnables 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.94MIT
- 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.4844 PyPI1MIT
- AlicenseNot gradedqualityBmaintenanceProvides MCP tools to read local Timing.app activity data, generate aggregated time entries, and push them to the Timing Web API.1MIT