Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"activitywatch-mcp-server": {
"env": {
"AW_API_BASE": "http://mydesktop.local:5600/api/0"
},
"args": [
"run",
"--rm",
"--interactive",
"--userns=keep-id",
"-e",
"AW_API_BASE",
"localhost/activitywatch-mcp-server:1.2.1"
],
"command": "/usr/bin/podman"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Model Context Protocol (MCP) server that connects to ActivityWatch, allowing LLMs like Claude to interact with your time tracking data.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'activitywatch-mcp-server' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked activitywatch-mcp-server against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in analytics / productivity
Persistent memory using a knowledge graph
MCP Server for GCP environment for interacting with various Observability APIs.
Official Miro MCP server - Supports context to code and creating diagrams, docs, and data tables.
a self-hosted project management & Kanban solution + Instant shareable boards
MCP Security Weekly
Get CVE alerts and security updates for Activitywatch Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Model Context Protocol (MCP) server that connects to ActivityWatch, allowing LLMs like Claude to interact with your time tracking data.
You can install the ActivityWatch MCP server either from npm or by building it yourself.
# Global installation
npm install -g activitywatch-mcp-server
# Or install locally
npm install activitywatch-mcp-server
Clone this repository:
git clone https://github.com/8bitgentleman/activitywatch-mcp-server.git
cd activitywatch-mcp-server
Install dependencies:
npm install
Build the project:
npm run build
Open your Claude for Desktop configuration file:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.jsonAdd the MCP server configuration:
{
"mcpServers": {
"activitywatch": {
"command": "activitywatch-mcp-server",
"args": []
}
}
}
If you built from source, use:
{
"mcpServers": {
"activitywatch": {
"command": "node",
"args": ["/path/to/activitywatch-mcp-server/dist/index.js"]
}
}
}
Restart Claude for Desktop
Look for the MCP icon in Claude's interface to confirm it's working
Make sure to build the image first with:
version=$(npm pkg get version | tr -d '"')
podman build . -t activitywatch-mcp-server:${version}
This example uses the override for Activity Watch not being available on
127.0.0.1 (see next section). If not required, you may omit the AW_API_BASE
environment variable.
{
"mcpServers": {
"activitywatch-mcp-server": {
"command": "/usr/bin/podman",
"args": [
"run",
"--rm",
"--interactive",
"--userns=keep-id",
"-e",
"AW_API_BASE",
"localhost/activitywatch-mcp-server:1.2.1"
],
"env": {
"AW_API_BASE": "http://mydesktop.local:5600/api/0"
}
}
}
}
If you want to run this MCP server from inside Windows Subsystem for Linux,
for instance within a container, the AW server running in Windows will not be
available at 127.0.0.1. To override the standard localhost connection, use the
environment variable AW_API_BASE or the --aw-api-base flag, as below:
# Using environment variable
export AW_API_BASE=http://mydesktop.local:5600/api/0
node dist/index.js
# Or using command-line flag
node dist/index.js --aw-api-base=http://mydesktop.local:5600/api/0
NOTE: The AW server may be fussy about the name used to connect to it, but it
will accept a name that matches the computer name where it is running with a
.local suffix.
Here are some example queries you can try in Claude: