Skip to main content
Glama
JM-404

ActivityWatch MCP Server

by JM-404

一个 MCP 服务器,通过 ActivityWatch 为 AI 助手提供实时感知你的计算机活动的能力。无需原始查询,无需 AQL 语法。只需问你的 AI “我今天做了什么?” 即可获得人类可读的答案。

为什么选择这个项目?

市面上还有其他 ActivityWatch MCP。这个项目的不同之处在于:

本项目

其他项目

查询接口

预聚合的高级工具

原始 AQL 查询

用户需要了解 AQL 吗?

不需要

需要

内置分类

✅ 编程、浏览、通讯等

开箱即用的工具

get_day_summary, get_current_activity

run_query(aql_string)

设计目标

AI 伙伴与聊天界面

开发者调试

简而言之: 其他 MCP 给你的 AI 一个数据库控制台。而这个项目给你的 AI 装上了眼睛

你的 AI 可以用它做什么?

连接后,你的 AI 伙伴可以回答以下问题:

  • 🕐 “我现在正在做什么?”

  • 📊 “我今天的时间是怎么花的?”

  • 💻 “我这周写了多少小时代码?”

  • 🌙 “我昨晚几点停止工作的?”

  • 🔍 “展示我昨天下午 2 点到 5 点之间所做的一切。”

  • 🌐 “我花时间最多的网站是什么?”

  • 📁 “我这周处理了哪些项目?”

  • 🏷️ “把 Cursor 添加到我的编程分类中。”

你的 AI 知道你了什么,而不仅仅是你了什么。它能注意到你忽略的模式——比如你已经连续编码 5 小时而没有休息。

快速开始

1. 前置条件

2. 安装

git clone https://github.com/JM-404/activitywatch-mcp.git
cd activitywatch-mcp
npm install && npm run build

3. 配置

添加到你的 Claude Desktop / Claude Code MCP 配置中:

{
  "mcpServers": {
    "activitywatch": {
      "command": "node",
      "args": ["/absolute/path/to/activitywatch-mcp/dist/index.js"]
    }
  }
}

4. 尝试一下

打开 Claude 并询问:“我今天在电脑上做了什么?”

就是这样。没有 AQL,没有存储桶 ID。只有对话。

工具

get_current_activity

“我现在正在做什么?”

返回当前活动的应用、窗口标题、持续时间和 AFK(离开)状态。

get_day_summary

“我今天的时间是怎么花的?”

按使用时间排序的热门应用、总活动/AFK 小时数、首次和最后一次活动的时间戳。

参数: date(可选,默认为今天)

get_category_time

“我这周写了多少小时代码?”

在日期范围内针对特定类别或特定应用的聚合时间,并提供每日明细。

参数: category(必填),start_date, end_date(可选)

内置分类:

分类

应用

coding

VS Code, PyCharm, Terminal, iTerm2, Cursor, Warp, Xcode

browsing

Chrome, Safari, Firefox, Arc, Edge

communication

WeChat, Slack, Discord, Telegram, Messages, Zoom, Teams

entertainment

Bilibili, YouTube, Spotify, Netflix

writing

Obsidian, Notion, Typora, Word, Pages

design

Figma, Sketch, Canva, Photoshop

使用 AW_CATEGORIES_FILE 环境变量指向你自己的 JSON 文件来自定义分类。

get_timeline

“带我回顾一下我的下午。”

按时间顺序排列的应用切换列表,包含窗口标题和持续时间。

参数: date, start_time, end_time, min_duration_seconds

get_browser_history

“我今天访问了哪些网站?”

按花费时间排序的热门域名。需要安装 ActivityWatch 浏览器扩展

参数: date, domain(可选过滤器)

manage_categories

“把 Cursor 添加到我的编程分类中。”

在运行时查看和修改活动类别映射。更改将持久保存到 ~/.activitywatch-mcp/categories.json

参数: action (list | add | remove | update), category, apps

get_project_time

“我这周处理了哪些项目?”

按项目/仓库细分的编码时间。从 IDE 窗口标题(VS Code, Cursor, PyCharm, Xcode, Terminal)中提取项目名称。

参数: start_date, end_date(可选)

自然语言日期

所有日期参数除了 YYYY-MM-DD 外,还支持自然语言:

today, yesterday, this_week, last_week, this_month, last_month, last_7_days, last_30_days

环境变量

变量

默认值

描述

AW_HOST

http://localhost:5600

ActivityWatch API 地址

AW_TITLE_MAX_LENGTH

80

截断窗口标题以保护隐私

AW_CATEGORIES_FILE

内置

自定义类别映射 JSON 的路径

隐私

🔒 你的数据永远不会离开你的机器。

  • ActivityWatch 将所有内容存储在本地

  • 此 MCP 服务器在本地运行

  • 数据流向:ActivityWatch (本地) → MCP 服务器 (本地) → 你的 AI 对话

  • 窗口标题会被截断,以防止意外泄露敏感内容

  • 无遥测、无外部 API 调用、无云存储

路线图

  • [ ] macOS 屏幕时间集成(来自 knowledgeC.db 的 iPhone + Mac 数据)

  • [ ] 自动生成的每日/每周报告

  • [ ] 主动提醒(例如:“你已经编码 4 小时了——休息一下吧”)

  • [ ] 生产力评分和趋势分析

  • [ ] 用于远程访问的 SSE 传输

贡献

欢迎提交 PR 和 Issue。如果你有关于新工具或类别的想法,请开启一个 Issue。

许可证

MIT


-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JM-404/activitywatch-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server