MCP 統合

Model Context Protocol(MCP)を使って Vigilare を AI アシスタントと連携。タスクをプログラムから操作できます。

Vigilare には 16 個のツールを備えた Model Context Protocol(MCP) サーバーが内蔵されています。Claude などの AI アシスタントが、あなたのタスクと直接やり取りできます。

MCP とは?

Model Context Protocol(MCP)は、AI モデルが外部のツールやデータソースにつながるための標準規格です。Vigilare の MCP サーバーを有効にすると、AI アシスタントは次のことができるようになります。

  • タスク・リスト・完了統計を読み取る
  • 新しいタスクやリストを作成する
  • タスクの詳細やステータスを更新する
  • コメントを追加・編集・削除する
  • リストを管理する(作成・アーカイブ・復元)

タスク管理を自動化したい方や、計画と振り返りに AI を使いたい方に向いた機能です。

しくみ

Vigilare の MCP サーバーは、連携する 2 つのプロセスで動きます。

Vigilare の MCP アーキテクチャ。AI クライアントは stdio 経由で Vigilare の MCP フォワーダーに接続し、フォワーダーは ping と get_settings をローカルで応答しつつ、それ以外のツール呼び出しを ~/.vigilare-mcp.sock ソケット経由で Vigilare のデーモン(バックグラウンドサービス)に中継し、EventKit を通じて Apple リマインダーへ届けます。バックグラウンドサービスがオフのときは、EventKit を使うツールは backgroundServiceRequired エラーを返します。

  • フォワーダー(vigilare --mcp) — AI エージェントが起動し、stdio でやり取りするプロセス。vigilare_pingvigilare_get_settings はローカルで応答し、それ以外のツール呼び出しは ~/.vigilare-mcp.sock(Unix ソケット)経由で中継します。
  • バックグラウンドサービス(vigilare --daemon) — EventKit を通じて Apple リマインダーへのアクセスを保持し、実際の処理を行う LaunchAgent。分離することで、エージェントを再起動してもリマインダーの権限が安定します。

EventKit を使うツールは daemon 側で動くため、バックグラウンドサービスを有効にしておく必要があります。有効でないと、これらのツールは backgroundServiceRequired エラーを返します。

設定方法

1. バックグラウンドサービスを有効にする(必須)

設定 → MCP を開き、**「バックグラウンドサービスを有効にする」**をオンにします。

有効にしないと、Apple リマインダーに触れるツールはすべて backgroundServiceRequired で失敗し、応答するのは vigilare_pingvigilare_get_settings だけになります。トグルの下のサービスの状態行で、daemon に到達できているかを確認できます。

2. AI エージェントに登録する

設定 → MCP に、対応エージェントごとのコピー用コマンドが表示されます。ターミナルでいずれかを実行してください。

Claude Code

claude mcp add "vigilare" --scope user -- "/Applications/Vigilare.app/Contents/MacOS/Vigilare" --mcp

Codex CLI

codex mcp add vigilare -- "/Applications/Vigilare.app/Contents/MacOS/Vigilare" --mcp

Note — Vigilare を /Applications 以外にインストールした場合は、設定 → MCP に表示される実行ファイルの正確なパスを使ってください。

Claude Desktop や、.mcp.json 形式の設定を読むクライアントの場合は、代わりに次を追加します(設定の**「手動設定(JSON)」**からも取得できます)。

{
  "mcpServers": {
    "vigilare": {
      "command": "/Applications/Vigilare.app/Contents/MacOS/Vigilare",
      "args": ["--mcp"]
    }
  }
}

3. AI エージェントを再起動する

Claude(Desktop または CLI)や Codex を再起動して、新しいツール定義を読み込みます。

出力フォーマット(任意)

**設定 → MCP → 「TOON出力形式を使用」**をオンにすると、ツールの応答が TOON(AI エージェント向けのコンパクトでトークン効率の良い形式)に切り替わります。変更はバックグラウンドサービスの再起動後に反映されます。

利用可能なツール

Vigilare はタスク管理のための 16 個のツールを備えています。

ツール 説明 主なパラメータ
vigilare_get_lists すべてのタスクリストと未完了タスク数を取得。 include_archived
vigilare_get_reminders フィルタでタスクを取得。1 つまたは複数のリストに絞り込み、任意で期日や完了日で照会できる。 filter(today/overdue/recurring/noDueDate/all)、list_idlist_idsfromtoinclude_completeddate_field(due/completed)
vigilare_get_stats 集計統計(合計のみ)を取得。完了・取り下げ・未完了の件数をリスト別に、7 日間・30 日間の推移とともに返す。既定は直近 7 日間。 fromto
vigilare_get_reminder メモやコメントを含む特定タスクの詳細を取得。
vigilare_search_reminders タイトル・リスト名・メモのキーワードでタスクを検索。
vigilare_create_reminder タイトル・メモ・期日・優先度・リスト、任意の繰り返しルールを指定して新しいタスクを作成。 タイトル、メモ、期日、優先度、リスト、繰り返し
vigilare_update_reminder タスクの特定フィールドを更新。期日を消すには due_date"none" を指定。 タイトル、メモ、due_date、優先度、リスト、繰り返し
vigilare_set_reminder_status タスクのステータスを変更。 complete(完了)、reopen(再開)、drop(取り下げ。完了扱い)、wait(待機中。未完了のまま)
vigilare_add_comment タスクの履歴にテキストコメントを追加。
vigilare_update_comment 既存コメントの内容を編集。
vigilare_delete_comment タスクからコメントを削除。
vigilare_create_list 新しいリストを作成。
vigilare_archive_list リストをメインビューから非表示にする。
vigilare_unarchive_list アーカイブ済みのリストを復元。
vigilare_ping サーバーが動いているか確認。
vigilare_get_settings 現在のアプリ設定を確認。

活用例

デイリーレビュー — Claude に「昨日完了したことと、今日期限切れのタスクをまとめて」と頼む。

週次レポート — Claude に「直近 7 日間の統計を見て、どのリストが一番進んだか教えて」と頼む。

クイックキャプチャ — Claude に「『仕事』リストに高優先度タスクを追加。『Q3 レポートを準備』、期日は来週の金曜日」と伝える。

プロジェクト計画 — Claude に「『プロジェクト X』リストを作って、初期フェーズのタスクを追加して」と依頼する。

トラブルシューティング

ツールが backgroundServiceRequired エラーを返す

  1. 設定 → MCP を開き、**「バックグラウンドサービスを有効にする」**をオンにする
  2. トグルの下のサービスの状態行で、daemon に到達できているか確認する
  3. サービスが動くまでは vigilare_pingvigilare_get_settings だけが応答する

AI エージェントに Vigilare のツールが表示されない

  1. コマンド内の実行ファイルパスが、Vigilare のインストール先と一致しているか確認する(設定 → MCP を参照)
  2. claude mcp add または codex mcp add コマンドを再実行するか、JSON 設定を追加し直す
  3. Claude(Desktop または CLI)や Codex を再起動して、ツール定義を読み込み直す

タスクが返ってこない

  1. EventKit がタスクを読み取れるよう、Apple リマインダーへのアクセスが許可されているか確認する
  2. 指定した filterlist_id・日付範囲が、実在するタスクと一致しているか確認する
  3. 週次・月次の振り返りでは、広い範囲の vigilare_get_reminders ではなく vigilare_get_stats を使う