Things MCP サーバー
このモデルコンテキストプロトコル(MCP)サーバーを使用すると、Claude Desktop を使ってThings アプリ内のタスク管理データを操作できます。Claude にタスクの作成、プロジェクトの分析、優先順位の管理などを依頼できます。
このサーバーは、 Things.pyライブラリとThings URL スキームを活用します。
なぜ Things MCP なのか?
この MCP サーバーは、タスク管理に AI のパワーを活用します。
- 自然言語タスク作成: クロードに、すべての詳細を自然言語で記述したタスクの作成を依頼します。
- スマートタスク分析: プロジェクトと生産性パターンに関する洞察を得る
- GTDと生産性ワークフロー:クロードが生産性システムの導入をお手伝いします
- シームレスな統合:既存のThings 3データと直接連携
特徴
- すべての主要な Things リスト (受信トレイ、今日、今後の予定など) へのアクセス
- プロジェクトおよびエリア管理
- タグ操作
- 高度な検索機能
- 最近のアイテムの追跡
- チェックリストを含む詳細なアイテム情報
- ネストされたデータのサポート(エリア内のプロジェクト、プロジェクト内の ToDo)
インストールオプション
Things MCP サーバーをインストールして使用するには、複数の方法があります。
オプション 1: PyPI からインストールする (推奨)
前提条件
- Python 3.12以上
- クロードデスクトップ
- Things 3(設定 -> 一般で「Things URL を有効にする」をオンにする必要があります)
インストール
または uv を使用する (推奨):
ランニング
インストール後、サーバーを直接実行できます。
オプション2: 手動インストール
前提条件
- Python 3.12以上
- クロードデスクトップ
- Things 3(設定 -> 一般で「Things URL を有効にする」をオンにする必要があります)
ステップ1: uvをインストールする
まだインストールしていない場合は、uv をインストールします。
その後、ターミナルを再起動してください。
ステップ2: このリポジトリをクローンする
ステップ3: Python環境と依存関係を設定する
ステップ4: Things認証トークンを設定する
構成ツールを実行して、Things 認証トークンを設定します。
ここでは、MCP サーバーが Things アプリと対話するために必要な Things 認証トークンを構成する手順について説明します。
ステップ5: Claudeデスクトップを構成する
Claude Desktop 構成ファイルを編集します。
構成ファイルの mcpServers キーに Things サーバーを追加します (これらのファイルをインストールしたフォルダーへのパスを必ず更新してください)。
ステップ6: Claude Desktopを再起動する
変更を適用するには、Claude デスクトップ アプリを再起動します。
Claude Desktop の使用例
- 「今日のToDoリストには何がある?」
- 「来週のビーチでの休暇に備えて荷造りの ToDo リストを作成し、荷造りチェックリストも含めます。」
- 「アイゼンハワー マトリックスを使用して現在の ToDo を評価します。」
- 「Things を使用して GTD スタイルの週次レビューを実施するのを手伝ってください。」
ヒント
- Claude で、Things の使用方法や、エリア、プロジェクト、タグなどの整理方法を説明するカスタム手順を含むプロジェクトを作成します。新しいタスクを作成するときに含めてほしい情報を Claude に伝えます (たとえば、タスクの説明に関連する詳細を含めるように依頼すると役立つ場合があります)。
- Claude にカレンダーへのアクセスを許可する別の MCP サーバーを追加してみてください。これにより、Claude にカレンダーの特定のタスクの時間をブロックしたり、今後のカレンダーイベント(例: 会議の準備)から ToDo を作成したりといった操作を依頼できるようになります。
利用可能なツール
リストビュー
get-inbox
- 受信トレイからToDoを取得するget-today
- 今日期限のToDoを取得するget-upcoming
- 今後のToDoを取得するget-anytime
- いつでもリストからToDoを取得するget-someday
- Someday リストから ToDo を取得するget-logbook
- 完了したToDoを取得するget-trash
- ゴミ箱に入れられたToDoを取得する
基本操作
get-todos
- オプションでプロジェクト別にフィルタリングしたToDoを取得get-projects
- すべてのプロジェクトを取得するget-areas
- すべてのエリアを取得する
タグ操作
get-tags
- すべてのタグを取得するget-tagged-items
- 特定のタグが付いたアイテムを取得する
捜索活動
search-todos
- タイトル/メモによる簡単な検索search-advanced
- 複数のフィルターを使った高度な検索
時間ベースの操作
get-recent
- 最近作成されたアイテムを取得する
ツールパラメータ
やるべきことを取得する
project_uuid
(オプション) - プロジェクトごとにToDoをフィルタリングしますinclude_items
(オプション、デフォルト: true) - チェックリスト項目を含める
プロジェクトを取得 / エリアを取得 / タグを取得
include_items
(オプション、デフォルト: false) - 含まれるアイテムを含める
詳細検索
status
- ステータス(未完了/完了/キャンセル)でフィルタリングstart_date
- 開始日(YYYY-MM-DD)でフィルタリングdeadline
- 締め切り(YYYY-MM-DD)でフィルタリングtag
- タグでフィルタリングarea
- エリアUUIDでフィルタリングtype
- アイテムの種類(ToDo/プロジェクト/見出し)でフィルタリング
最新を取得
period
- 期間(例:「3d」、「1w」、「2m」、「1y」)
追加-ToDo
title
- ToDoのタイトルnotes
(オプション) - ToDoのメモwhen
(オプション) - ToDo をいつスケジュールするか (今日、明日、夕方、いつでも、いつか、または YYYY-MM-DD)deadline
(オプション) - ToDo の締め切り(YYYY-MM-DD)tags
(オプション) - ToDoに適用するタグlist_title
またはlist_id
(オプション) - 追加するプロジェクト/エリアのタイトルまたはIDheading
(オプション) - 下に追加する見出しchecklist_items
(オプション) - 追加するチェックリスト項目
更新-todo
id
- 更新するToDoのIDtitle
(オプション) - 新しいタイトルnotes
(オプション) - 新しいメモwhen
(オプション) - 新しいスケジュールdeadline
(オプション) - 新しい締め切りtags
(オプション) - 新しいタグcompleted
(オプション) - 完了としてマークするcanceled
(オプション) - キャンセル済みとしてマーク
プロジェクトを追加
title
- プロジェクトのタイトルnotes
(オプション) - プロジェクトのメモwhen
(オプション) - プロジェクトをいつスケジュールするかdeadline
(オプション) - プロジェクトの締め切りtags
(オプション) - プロジェクトに適用するタグarea_title
またはarea_id
(オプション) - 追加するエリアのタイトルまたはIDtodos
(オプション) - プロジェクトで作成する最初のtodos
プロジェクトの更新
id
- 更新するプロジェクトのIDtitle
(オプション) - 新しいタイトルnotes
(オプション) - 新しいメモwhen
(オプション) - 新しいスケジュールdeadline
(オプション) - 新しい締め切りtags
(オプション) - 新しいタグcompleted
(オプション) - 完了としてマークするcanceled
(オプション) - キャンセル済みとしてマーク
表示項目
id
- 表示するアイテムの ID、または次のいずれか: inbox、today、coming、anyway、someday、logbookquery
(オプション) - フィルタリングするオプションのクエリfilter_tags
(オプション) - フィルタリングするオプションのタグ
認証トークンの設定
Things MCPサーバーは、Thingsアプリと連携するために認証トークンを必要とします。このトークンは、URLスキームコマンドの承認に使用されます。
Things認証トークンを取得する方法
- MacでThingsアプリを開く
- Things → 設定 (⌘,) に移動します。
- 一般タブを選択します
- 「Things URLを有効にする」がチェックされていることを確認してください
- 設定ウィンドウに表示される認証トークンを探します
トークンの設定
付属の設定ツールを実行してトークンを設定します。
この対話型スクリプトはトークンの入力を要求し、それをローカル構成に安全に保存します。
発達
このプロジェクトは、依存関係とビルド構成の管理にpyproject.toml
使用しています。モデルコンテキストプロトコルを使用して構築されているため、Claudeはツールとデータに安全にアクセスすることができます。
実装オプション
このプロジェクトでは、2 つの異なる実装アプローチが提供されます。
- 標準 MCP サーバー(
things_server.py
) - 基本的な MCP サーバー パターンを使用する元の実装。 - FastMCP サーバー(
things_fast_server.py
) - デコレータベースのツール登録により、よりクリーンで保守しやすいコードを実現する FastMCP パターンを使用した最新の実装。
開発ワークフロー
開発環境の構築
開発中の変更のテスト
変更をテストするには、MCP 開発サーバーを使用します。
PyPI用パッケージのビルド
PyPIへの公開
Python 3.12 以上が必要です。
トラブルシューティング
サーバーには次のエラー処理が含まれています:
- 無効なUUID
- 必要なパラメータが不足しています
- データベースアクセスエラー
- データフォーマットエラー
- 認証トークンの問題
よくある問題
- トークンが見つからないか無効です:
python configure_token.py
を実行してトークンを設定してください - Things アプリが実行されていない: MCP サーバーを使用するときは、Things 3 が開いていることを確認してください
- URLスキームが有効になっていません: 「Things」→「設定」→「一般」で「Things URLを有効にする」が有効になっていることを確認してください
ログの確認
すべてのエラーはログに記録され、説明メッセージとともに返されます。Claude Desktop の MCP ログを確認するには、ターミナルで次のコマンドを実行してください。
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Claude Desktop を使用して Things アプリ内のタスク管理データと対話し、タスクの作成、プロジェクトの分析、優先順位の管理、自然言語による生産性ワークフローの実装を行うことができます。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityEnables interaction with the Things app through Claude Desktop, allowing task creation, project analysis, and priority management using natural language commands.Last updated -2111PythonMIT License
- AsecurityAlicenseAqualityIntegrates Claude with Todoist for natural language task management, supporting project and section organization, task creation, updating, completion, and deletion using everyday language.Last updated -193512JavaScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol service for Claude that enables natural language interaction with Microsoft Todo tasks, including viewing task lists, creating tasks, and managing checklist items.Last updated -131113TypeScript
- -securityFlicense-qualityA companion desktop app enabling bi-directional interaction between Claude Desktop and visual UI elements, allowing Claude to display, read from, and write to interactive interfaces while processing user events and feedback.Last updated -51TypeScript