ClaudeとThings 3を連携する方法 — タスク操作21ツールの範囲と制約
Things 3用のClaude Desktop拡張で、インボックスや今日のタスクを会話で読み書きできます。導入方法、21個のツールの範囲、削除できない点などの制約をまとめます。
Things 3は、Macで使われる個人向けのタスク管理アプリです。このアプリをClaudeにつなぐと、インボックスや今日のタスクの確認、to-doとプロジェクトの作成、タグ検索、完了処理までを会話で進められます。
つなぎ方は、リモートのコネクタURLを登録する方式ではありません。Claude Desktopに「Things (AppleScript)」というデスクトップ拡張機能を入れ、Mac上のThings 3とローカルでやり取りします。この拡張機能は個人開発者のMatt McCormickが公開しているもので、Thingsの開発元が提供する公式の連携ではありません。
仕様の一次情報は、拡張機能のGitHubリポジトリにあるREADMEです。Claudeのコネクタ紹介ページにはツール名の一覧しかなく、パラメータや制約はREADMEを見ないと分かりません。この記事では両者を突き合わせ、できる操作と、できない操作の線引きを示します。
Things 3連携は何をつなぐのか
拡張機能はMCP(Model Context Protocol、AIと外部ツールをつなぐ共通規格)の仕組みで作られたローカルサーバーです。Claude Desktopが拡張機能を起動し、拡張機能がMac上のThings 3を操作します。クラウド経由でThingsのデータを読むのではなく、手元のアプリに直接命令を出す形です。
操作にはJavaScript for Automation(JXA)を使います。macOSの自動化機能をJavaScriptから呼ぶ仕組みです。コネクタ紹介ページは「AppleScript automation」と説明していますが、READMEの更新履歴によると、バージョン1.3.0でAppleScriptからJXAへ実装が置き換わっています。名前は「AppleScript」のまま残っていて、実装はJXAです。
Things (AppleScript)拡張機能の基本情報
公開ツール数
21個
紹介ページの一覧とREADMEのAPI一覧が一致
紹介ページの掲載
2025年9月
Anthropic verifiedの表示あり
動作環境
macOSのみ
JXAを使うため
紹介ページには「Anthropic verified」の表示があります。紹介ページには、開発者が提供するツールの内容をAnthropicは管理しておらず、動作や変更を保証できないという注意書きもあります。タスクの中身は個人情報なので、信頼できる提供元かどうかは自分で判断する前提の仕組みです。
同じMacのカレンダーとタスクをまとめて扱いたいなら、ClaudeとBusyCalの連携も同じ「Desktop拡張機能」の形です。メモとタスクを一体で持つアプリならNotePlanの連携があります。
導入前に確認する要件
要件は次の4つです。
| 要件 | 内容 |
|---|---|
| macOS | 内容JXAを使うため必須 |
| Things 3 | 内容インストール済みで操作できる状態 |
| Claude Desktop | 内容MCPB形式の拡張機能に対応した版 |
| Node.js 18.0.0以上 | 内容自分でビルドして入れる場合 |
Node.jsが要るのは、READMEの手順でソースからパッケージを作る場合です。ディレクトリから入れるなら、手元でビルドする必要はありません。
もう一つ、実行前にThings 3が起動している必要があります。Dockに入っているだけでは足りず、アプリとして動いている必要があります。会話の途中でエラーが出たら、最初に見るのはここです。
拡張機能を入れる手順
入口は2つあります。Claude Desktopの拡張機能ディレクトリから入れる方法と、READMEの手順でビルドして.mcpbファイルを読み込む方法です。
ディレクトリから入れる
サポート記事によると、Claude Desktopの「Settings」から「Extensions」を開き、「Browse extensions」でディレクトリを表示して、Anthropicが確認したツールの「Install」を押す流れです。Things (AppleScript)はコネクタ紹介ページに「Add to Claude」のボタンがあり、ディレクトリに載っています。
ディレクトリからの導入
- 1
Extensionsを開く
Claude Desktopで「Settings」から「Extensions」へ進みます。
- 2
Things (AppleScript)を探す
「Browse extensions」でディレクトリを開き、一覧から「Things (AppleScript)」を選びます。
- 3
Installを押す
「Install」を押して、拡張機能を有効にします。
- 4
Things 3を起動して試す
Things 3を起動したまま、新しいチャットで「インボックスの中身を見せて」と頼みます。タスクの一覧が返れば動いています。
READMEの手順で自分でビルドする
最新リリースのパッケージを使わず、ソースから作る場合です。READMEには次のコマンドが載っています。
cd things-mcpb
npm install
npm run build
npm run packageREADMEのクイックスタートは、npm testによる任意のテスト実行と、mcpb pack .による梱包も挙げています。梱包でできた.mcpbは、Claude Desktopの「Settings」の「Extensions」にある「Install Extension…」から読み込みます。このボタンはサポート記事の「カスタムのデスクトップ拡張機能」の手順と同じです。
リポジトリの旧名はthings-dxtで、現在はthings-mcpbにリダイレクトされます。バージョン1.4.0で、パッケージ形式がDXTから新しいMCPB(MCP Bundle)形式の仕様0.2へ移ったためです。古い記事やブログで「DXT」と書かれていても、同じ拡張機能を指します。形式そのものの背景はデスクトップ拡張機能の解説にあります。
TeamやEnterpriseのプランでは、管理者が拡張機能の許可リストを有効にしていると、手動の.mcpb読み込みが止まることがあります。設定の仕組みはClaude Desktop拡張機能の許可リストを有効にする手順で扱っています。
初回に出るmacOSの権限確認
権限エラーが出たら、システム設定のプライバシー関連の項目で「Automation」(オートメーション)を選び、Claude DesktopにThings 3の操作を許可します。READMEの表記は「terminal/Claude Desktop」の併記なので、環境によって許可の対象が変わります。
macOSでは、あるアプリが別のアプリを自動操作するときに、この許可が求められます。初回の依頼で確認のダイアログが出たら許可します。一度拒否した場合は、同じ画面で後から切り替えられます。
21個のツールでできること
コネクタ紹介ページとREADMEのAPI一覧は、どちらも21個のツールを挙げていて、名前も一致します。操作の性質で5区分に分けると次のとおりです。
| 区分 | ツール | 数 |
|---|---|---|
| 作成 | ツールadd_todo add_project | 数2 |
| リスト取得 | ツールget_inbox get_today get_upcoming get_anytime get_someday get_logbook get_trash | 数7 |
| 一覧・構造の取得 | ツールget_todos get_projects get_areas get_tags | 数4 |
| 検索 | ツールsearch_items search_todos search_advanced get_tagged_items get_recent | 数5 |
| 更新・表示 | ツールupdate_todo update_project show_item | 数3 |
合計は21個です。Thingsの標準リストはInbox・Today・Upcoming・Anytime・Somedayの5つで、get_logbookが完了済みのto-do、get_trashがゴミ箱を返します。それぞれ専用のツールが1つずつ割り当てられています。
作成系のパラメータ
add_todoの必須項目はタイトルだけです。そのほか、次の項目を指定できます。
- メモ(
notes) - 予定日(
when)と期限(deadline) - 追加先のプロジェクト名(
list_title)またはID(list_id) - 見出し(
heading) - タグ(
tags) - チェックリスト項目(
checklist_items)
add_projectもタイトルだけが必須です。エリア名(area_title)またはID(area_id)、タグ、プロジェクトの中に作る最初のto-do(todos)も指定できます。
名前で指定する項目(list_title、area_title)とIDで指定する項目(list_id、area_id)が別々にあるのは、「名前は手軽、IDは確実に狙える」使い分けのためです。同名のプロジェクトが複数あるなら、IDで指すほうが確実です。
取得系の返す範囲
get_todosはproject_uuidで絞り込めます。get_projectsとget_areas、get_todosはinclude_itemsを付けると中身のto-doまで取れます。get_logbookはperiodとlimitで、どの期間の完了分を何件取るかを決めます。get_recentはdaysで日数を指定し、省略すると7日分です。
検索は3系統あります。search_itemsは全体の横断検索、search_todosはto-doに限った検索、search_advancedは検索語にタグ・完了・キャンセル・ゴミ箱の条件を組み合わせる検索です。タグで探すならget_tagged_itemsにタグ名を渡します。
更新系の動き
update_todoとupdate_projectはどちらもIDが必須です。対象を特定するために、先に取得や検索のツールを使う流れになります。更新できるのは、タイトル・メモ・予定日・期限・タグのほか、完了(completed)とキャンセル(canceled)の真偽値です。
タグには注意点があります。tagsには配列を渡し、空の配列[]を渡すとタグが全部外れます。tagsに配列を渡したとき、既存のタグが置き換わるのか追加になるのかは説明がなく、明記されているのは[]を渡すと全部外れることだけです。タグを一つだけ足したいときは、現在のタグを確認してから、全体を渡し直す依頼にすると安全です。
チェックリストの更新にも癖があります。update_todoのchecklist_itemsは「既存のメモに整形したリストとして追記される」動きです。Thingsのチェックリスト機能そのものを書き換えるのではなく、メモの末尾に箇条書きが足される形になります。add_todoで作成時に渡す場合の挙動は、READMEに追加の説明がありません。
できないこと
ツール名の一覧を眺めるだけでは見落とす制約が、いくつかあります。READMEのAPI一覧にない操作は、拡張機能では行えません。
一覧に載っていない操作
削除
削除用のツールはありません。不要になったto-doは、
update_todoでcanceledかcompletedにする形です。ゴミ箱の中身を見るget_trashはありますが、ゴミ箱へ送るツールはありません。プロジェクト間の移動
update_todoの更新項目に、追加先のプロジェクトや見出しを変えるものはありません。プロジェクトを指定できるのはadd_todoの作成時だけです。繰り返しの設定
作成・更新のパラメータに、繰り返しの設定はありません。定期タスクはThings 3の画面で設定します。
エリアの作成と編集
エリアは
get_areasで読めますが、作成や変更のツールはありません。add_projectで指定できるのは、すでにあるエリアです。
「完了にする」と「消す」は別の操作です。拡張機能から消すことはできないので、整理のために消したい場合は、Things 3の画面で行います。
入力値の検証(Data Integrity)として、危険なパターンの検出と既定30秒のタイムアウトを備えています。変更系の操作で、取り消しを自動で補助する機能の記載はありません。タスクをまとめて書き換える依頼の前には、Thingsの標準機能で取り消せる範囲を確認しておくと安心です。
予定日と期限を取り違えない
取り違えやすいのがwhenとdeadlineです。whenは「いつ取りかかるか」で、TodayやUpcomingに現れる日付です。deadlineは「本当の締め切り」です。形式はどちらもYYYY-MM-DDと定められています。
「来週の金曜」のような相対的な言い方は、Claudeが日付に直してから渡します。その日付が意図どおりかは、登録後にget_upcomingで確かめられます。依頼の文に「今日は何月何日、週の始まりは月曜」のような前提を添えると、ずれにくくなります。
| 言い方 | 渡す項目 | Thingsでの見え方 |
|---|---|---|
| 「金曜に取りかかる」 | 渡す項目when | Thingsでの見え方その日にTodayへ入る予定 |
| 「金曜が締め切り」 | 渡す項目deadline | Thingsでの見え方期限として表示される |
| 「今週中に始めて、金曜までに終える」 | 渡す項目両方 | Thingsでの見え方予定日と期限が別々に付く |
どちらの日付が優先されるかの細かい挙動は、READMEに記載がありません。表の右列は項目の意味から見た目安で、実際の表示はThings 3の画面で確かめてください。
頼み方の型
READMEには使用例が6つ載っています。ここでは使い道の広い4つを、Claude側の工夫を足して紹介します。返ってくる文面は環境によって変わります。
朝の計画
「インボックスと今日のタスクを見せて、1日の計画を手伝って」と頼むと、get_inboxとget_todayが呼ばれます。読み取りだけでデータは変わらないので、最初に試す依頼に向いています。
確認を挟んだタスク作成
書き込む前に確認を挟む依頼文にすると安全です。READMEの例は、メモ付き・次の金曜の期限・Workプロジェクト・タグ付きで「四半期レポートの準備」を作る依頼で、これに確認の一往復を足します。
次のタスクを作る前に、タイトル・メモ・期限(YYYY-MM-DD)・追加先・タグを
一覧にして見せてください。私が「OK」と返したら add_todo で作成してください。書き込み系のツールは、1件でも入れ間違えると後から直す手間が出ます。一覧で確認する1往復を挟むだけで、日付のずれやプロジェクト名の取り違えを事前に拾えます。
週次レビュー
呼ばれるのはget_logbookとget_upcomingなどです。「先週に完了したもの、ログブック、これから整理すべき予定を見せて」と頼めば、振り返りが読み取りだけで済むので、書き込みを気にせず試せます。
タグ整理
手順は2段階です。タグを外すだけならtags: []で更新します。付け替えるときは、get_tagged_itemsで対象を取り、update_todoで配列を渡し直します。大量にある場合は、まず件数を確認してから数件ずつ進める頼み方が現実的です。
うまく動かないときの切り分け
エラーの原因は、ほとんどが「アプリが動いていない」「macOSの許可がない」「IDの指定が違う」のどれかに収まります。READMEが挙げる対処と、ツールの仕様から導ける順番を並べます。
Thingsに命令が届かないときの確認順
- QThings 3は起動していますか?答えがDockに入っているだけでは足りません答えがはい
アプリを起動してから、もう一度依頼します。
- Qシステム設定のオートメーションで、Claude DesktopにThings 3の操作を許可していますか?答えが許可を入れます答えがはい
プライバシー関連の設定にある「Automation」で、Claude DesktopからThings 3への許可を確認します。
- Q更新の依頼で、IDを指定できていますか?答えが先に取得か検索で対象を特定します答えがはい
update_todoとupdate_projectはIDが必須です。タイトルだけでは更新できません。
それでも直らないとき
READMEは、拡張機能の不具合はプロジェクトのリポジトリにissueを立てるよう案内しています。Things 3自体の問題は、Things 3の開発元のサポートが窓口です。
開発者向けの情報として、READMEはDEBUG=true npm startで詳細なログを出せると説明しています。ビルドして使う場合の手順です。
他のタスク連携との違い
Mac上のタスク管理アプリをClaudeにつなぐ方法は、アプリごとに仕組みが違います。Things 3の拡張機能は、ローカルのアプリを直接操作する形です。そのため、次の性質があります。
- Thingsを動かしているMacで、Claude Desktopも動かしている必要がある
- 対象はMacのThings 3アプリで、要件もmacOSです
- 拡張機能はClaude Desktopに入れるものなので、入口はClaude Desktopになります
クラウド型のタスク管理なら、アカウント認証でつなぐコネクタが選べます。たとえばTickTickの連携は、タスク検索・完了・習慣を会話で扱う別の仕組みです。タスクの管理先がThingsなのかTickTickなのかで、選ぶ連携が決まります。
まとめ
Things 3の連携は、Mac上のアプリを直接動かす拡張機能です。読み取り系のツールが多く、朝の計画や週次レビューのように、まず中身を見る使い方から入れます。
書き込みでは、削除とプロジェクト間の移動ができない点が運用を左右します。不要なto-doはキャンセルか完了で畳み、移動や繰り返しの設定はThingsの画面で行う分担になります。作成前に内容を一覧にさせる1往復を挟むと、日付と追加先のずれを防げます。
参照した一次ソース
この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。