Google Tasks MCP Server について
Google Tasks MCP Server は、MCP クライアントと Google Tasks を接続する MCP サーバーです。Claude Desktop、Cursor、Codex などのクライアントからタスクリストやタスクを管理できます。AI との対話で ToDo を扱いたい利用者向けで、OAuth 認証情報をディスクに保存するため、再認証の頻度を抑えられます。
主な機能
- 01タスクリストの作成・取得・更新・削除
- 02タスクの管理と完了状態の変更
- 03タスクのリスト内・リスト間の移動
- 04リストの完了済みタスクの一括削除
- 05OAuth 認証情報の永続化と自動更新
活用シーン
- 01Claude Desktop から日々の ToDo を整理する
- 02AI との対話でタスクリストを一括更新する
- 03Codex や Cursor からタスクを確認し完了にする
MCP 対応
本プロジェクトは MCP サーバーであり、list-tasklists、create-task、complete-task などのツールを MCP クライアントに公開して Google Tasks のデータを操作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Google Tasks MCP サーバー
この Model Context Protocol(MCP)サーバーは、MCP クライアントと Google Tasks の橋渡しを行い、Claude Desktop、Cursor、Codex などのクライアントからタスクリストやタスクを直接管理できるようにします。
メモ
このプロジェクトのコードは、一部編集したものを除き、私の指示に基づいて Claude/Copilot が生成した「バイブコーディング」(“vibe coded”)によるものです。
機能
この MCP サーバーでは、次の機能を利用できます。
タスクリストの管理
list-tasklists- すべてのタスクリストを一覧表示しますget-tasklist- 特定のタスクリストの詳細を取得しますcreate-tasklist- 新しいタスクリストを作成しますupdate-tasklist- 既存のタスクリストを更新しますdelete-tasklist- タスクリストを削除します
タスクの管理
list-tasks- ページ分割された結果を含め、タスクリスト内のすべてのタスクを一覧表示しますget-task- 特定のタスクの詳細を取得しますcreate-task- 新しいタスクを作成しますupdate-task- 既存のタスクを更新しますdelete-task- タスクを削除しますcomplete-task- タスクを完了としてマークしますmove-task- タスクを移動します(並べ替え、親の変更、またはタスクリスト間の移動)clear-completed-tasks- リストから完了済みのタスクをすべて消去します
セットアップ手順
1. Google Cloud プロジェクトを作成して API を有効にする
- Google Cloud Console にアクセスします
- 新しいプロジェクトを作成します
- 「API とサービス」>「ライブラリ」に移動します
- 「Google Tasks API」を検索して有効にします
- 「API とサービス」>「認証情報」に移動します
- 「認証情報を作成」>「OAuth クライアント ID」をクリックします
- OAuth 同意画面を設定します(個人利用の場合は外部で問題ありません)
- アプリケーションの種類として「ウェブ アプリケーション」を選択します
- 承認済みのリダイレクト URI として「http://localhost:3000/oauth2callback」を追加します
- クライアント ID とシークレットを作成します
2. 環境変数を設定する
このプロジェクトのディレクトリに .env ファイルを作成します。
GOOGLE_CLIENT_ID=your_client_id_here
GOOGLE_CLIENT_SECRET=your_client_secret_here
GOOGLE_REDIRECT_URI=http://localhost:3000/oauth2callback
環境変数:
GOOGLE_CLIENT_ID(必須)- Google OAuth クライアント IDGOOGLE_CLIENT_SECRET(必須)- Google OAuth クライアントシークレットGOOGLE_REDIRECT_URI(任意)- OAuth リダイレクト URI(デフォルトはhttp://localhost:3000/oauth2callback)
注: サーバーは起動時に GOOGLE_CLIENT_ID と GOOGLE_CLIENT_SECRET が設定されていることを検証します。未設定または無効な場合は、明確なエラーメッセージを表示して起動に失敗します。
3. サーバーをビルドする
- 依存関係をインストールします。
npm install
- サーバーをビルドします。
npm run build
4. MCP クライアントを設定する
Codex
サーバーを ~/.codex/config.toml に追加します。
[mcp_servers.google-tasks]
command = "zsh"
args = ["-lc", "cd /path/to/google-tasks-mcp && exec node build/index.js"]
/path/to/google-tasks-mcp をこのプロジェクトへのパスに置き換えてから、Codex を再起動します。
サーバーが登録されていることを確認するには、次を実行します。
codex mcp list
codex mcp get google-tasks
Claude for Desktop
- Claude for Desktop をインストールします
- Claude の設定ファイルを開きます。
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- MacOS:
- Google Tasks MCP サーバーの設定を追加します。
{
"mcpServers": {
"google-tasks": {
"command": "node",
"args": ["/path/to/google-tasks-mcp/build/index.js"]
}
}
}
パスをご自身の値に置き換えてから、Claude for Desktop を再起動します。
認証フロー
Google Tasks MCP サーバーを初めて使用する際は、次の手順に従ってください。
authenticateツールを使用して認証 URL を取得します- ブラウザーで URL にアクセスし、Google アカウントでサインインします
- 認証後、ブラウザーのページにコードが表示されます
- このコードを指定して
set-auth-codeツールを使用し、認証を完了します - これで、ほかのすべてのツールを使用して Google Tasks を操作できます
注: 認証トークン(更新トークンを含む)は、アクセス権限が制限された状態(600)で、~/.config/google-tasks-mcp/credentials.json に自動的に保存されます。つまり、次のとおりです。
- 認証が必要なのは一度だけです - 認証情報はサーバーの再起動後も保持されます
- トークンは自動的に更新されます - 保存された更新トークンを使用して、アクセス トークンの有効期限が切れると(通常は 1 時間後)、自動的に更新されます
- 再認証は不要です - 初期設定後は、アクセス権を取り消すか認証情報ファイルを削除しない限り、再認証する必要はありません
要件
- Node.js 20+(
package.jsonの engines を参照) - MCP 互換のクライアント
- Tasks API を有効にした Google Cloud プロジェクト
実装機能
この MCP サーバーには、次の改善が含まれています。
- 永続的なトークン保存 - 認証情報はアクセス権限が制限された状態でディスク(
~/.config/google-tasks-mcp/credentials.json)に保存されるため、認証が必要なのは一度だけです - 環境変数の検証 - 起動時に必要な認証情報が設定されているか検証し、明確なエラーメッセージを表示します
- トークンの自動更新 - OAuth トークンは有効期限が切れると自動的に更新されるため、アクティブなセッション中や再起動後に再認証する必要はありません
- 強化された入力検証 - ID 形式、文字列の長さ、RFC 3339 の日付形式など、すべての入力を包括的に検証します
- HTML のサニタイズ - OAuth コールバックの応答をサニタイズし、XSS の脆弱性を防ぎます
- 正常なシャットダウン - SIGINT/SIGTERM シグナルの受信時にリソースを適切にクリーンアップします
- 型安全性 - 適切なインターフェースを使用し、コードベース全体で完全な TypeScript の型安全性を実現しています
- リダイレクト URI の設定 - OAuth リダイレクト URI は
GOOGLE_REDIRECT_URI環境変数でカスタマイズできます
スクリーンショット
Claude Desktop

Cursor

ライセンス
このプロジェクトはデモ目的のみで提供されています。自己責任でご使用ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。