home / mcp / activitywatch mcp server
Model Context Protocol server for ActivityWatch time tracking data
Configuration
View docs{
"mcpServers": {
"8bitgentleman-activitywatch-mcp-server": {
"command": "activitywatch-mcp-server",
"args": []
}
}
}The ActivityWatch MCP Server lets you connect ActivityWatch data with large language models and other MCP clients, enabling you to browse buckets, run AQL queries, fetch raw events, and view settings from your ActivityWatch instance through simple MCP calls.
You can interact with ActivityWatch data through an MCP client by querying buckets, running AQL statements, retrieving raw events, and inspecting settings. Use the MCP server as a bridge between ActivityWatch and your client experiences, such as chat prompts or automation workflows.
Typical usage patterns include listing available buckets to understand what data you have, executing targeted queries to retrieve time-based events, pulling specific event data from a bucket, and inspecting or validating your ActivityWatch configuration. You can combine these capabilities with your MCP client’s prompts to build insights about your daily activity, application usage, and web activity.
If you are using Claude for Desktop or another MCP client, configure the client to start the MCP server as shown in the installation steps. Once the client restarts, look for the MCP icon or the connected server indicator in the client UI to confirm the connection is active.
Prerequisites you need before installing the MCP server:
Option 1: Install from npm (global)
# Global installation
npm install -g activitywatch-mcp-server
# Or install locally
npm install activitywatch-mcp-serverOption 2: Build from source
# Clone the repository
git clone https://github.com/8bitgentleman/activitywatch-mcp-server.git
cd activitywatch-mcp-server
# Install dependencies
npm install
# Build the project
npm run buildChoose one of the following runtime configurations for your MCP client to start the server.
{
"mcpServers": {
"activitywatch": {
"command": "activitywatch-mcp-server",
"args": []
}
}
}If you built from source, point to the built entry file instead of a globally installed binary.
{
"mcpServers": {
"activitywatch": {
"command": "node",
"args": ["/path/to/activitywatch-mcp-server/dist/index.js"]
}
}
}Add the MCP server to Claude for Desktop configuration under mcpServers. This is an example you can adapt to your environment.
{
"mcpServers": {
"activitywatch": {
"command": "activitywatch-mcp-server",
"args": []
}
}
}Lists all available ActivityWatch buckets with optional type filtering and the option to include bucket data in responses.
Executes a query against ActivityWatch using its query language (AQL), supporting time periods, statements, and optional query caching.
Retrieves raw events from a specified ActivityWatch bucket, with optional start, end, and limit controls.
Fetches ActivityWatch settings from the server, with an option to query a specific key.