ActivityWatch MCP Server
ActivityWatch を通じて、AI アシスタントにあなたのコンピュータ操作のリアルタイムな認識を提供する MCP サーバーです。生のクエリや AQL 構文は不要です。AI に「今日何をした?」と聞くだけで、人間が理解できる回答が得られます。
なぜこれを使うのか?
他にも ActivityWatch MCP は存在しますが、このプロジェクトの違いは以下の通りです:
本プロジェクト | その他 | |
クエリインターフェース | 事前集計された高レベルツール | 生の AQL クエリ |
AQL の知識が必要か? | いいえ | はい |
組み込みカテゴリ | ✅ コーディング、ブラウジング、コミュニケーション等 | ❌ |
すぐに使えるツール |
|
|
設計目的 | AI コンパニオンおよびチャットインターフェース | 開発者のデバッグ |
要約: 他の MCP は AI にデータベースコンソールを与えますが、これは AI に「目」を与えます。
AI はこれで何ができるのか?
接続すると、AI コンパニオンは以下のような質問に答えられるようになります:
🕐 「今、何に取り組んでいる?」
📊 「今日はどのように時間を使った?」
💻 「今週は何時間コーディングした?」
🌙 「昨夜は何時に作業を終えた?」
🔍 「昨日の午後2時から5時の間に何をしたかすべて教えて。」
🌐 「最も時間を費やしたウェブサイトは?」
📁 「今週取り組んだプロジェクトは?」
🏷️ 「Cursor をコーディングカテゴリに追加して。」
AI はあなたが「何を言ったか」だけでなく、「何をしたか」を知ることができます。あなたが気づかないパターン(例えば、5時間休憩なしでコーディングし続けていることなど)にも気づくことができます。
クイックスタート
1. 前提条件
ActivityWatch がインストールされ、実行されていること
Node.js >= 20
2. インストール
git clone https://github.com/JM-404/activitywatch-mcp.git
cd activitywatch-mcp
npm install && npm run build3. 設定
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 (オプション)
組み込みカテゴリ:
カテゴリ | アプリ |
| VS Code, PyCharm, Terminal, iTerm2, Cursor, Warp, Xcode |
| Chrome, Safari, Firefox, Arc, Edge |
| WeChat, Slack, Discord, Telegram, Messages, Zoom, Teams |
| Bilibili, YouTube, Spotify, Netflix |
| Obsidian, Notion, Typora, Word, Pages |
| 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
環境変数
変数 | デフォルト | 説明 |
|
| ActivityWatch API アドレス |
|
| プライバシー保護のためウィンドウタイトルを切り詰める |
| 組み込み | カスタムカテゴリマッピング JSON へのパス |
プライバシー
🔒 データは決してマシンから外部へ送信されません。
ActivityWatch はすべてローカルに保存します
この MCP サーバーはローカルで実行されます
データの流れ:
ActivityWatch (ローカル) → MCP サーバー (ローカル) → AI との会話機密情報の意図しない露出を防ぐため、ウィンドウタイトルは切り詰められます
テレメトリ、外部 API 呼び出し、クラウドストレージは一切ありません
ロードマップ
[ ] macOS スクリーンタイム統合 (iPhone + Mac の
knowledgeC.dbデータ)[ ] 自動生成される日次/週次レポート
[ ] プロアクティブなアラート (例: 「4時間コーディングしています。休憩しましょう」)
[ ] 生産性スコアリングと傾向分析
[ ] リモートアクセス用の SSE トランスポート
コントリビューション
PR や Issue を歓迎します。新しいツールやカテゴリのアイデアがあれば、Issue を作成してください。
ライセンス
MIT
This server cannot be installed
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