Skip to main content
Glama

Google Tasks MCP

AIエージェントがユーザーのGoogle Tasksを読み取り・管理できるようにするMCPサーバーです。Google公式のTasks API、OAuth 2.0デスクトップアプリの認証情報、およびMCP TypeScript SDKをstdio経由で使用します。

機能

  • タスクリストの一覧表示、詳細表示、作成、名前変更、削除

  • APIページネーションによるタスクの一覧表示とフィルタリング

  • タスクの作成、編集、完了、再開、移動、並べ替え、削除

  • parentpreviousを使用したサブタスクの作成と移動

  • 完了したタスクのクリア

  • MCPの安全性アノテーションに加え、破壊的操作に対する明示的な確認

  • リポジトリ外に所有者のみの権限で保存されるOAuthリフレッシュトークン

要件

  • Node.js 20以降

  • Googleアカウント

  • Google Tasks APIが有効なGoogle Cloudプロジェクト

1. Google Cloudの設定

  1. Google Cloud Consoleを開きます。

  2. プロジェクトを作成または選択します。

  3. APIとサービス → ライブラリGoogle Tasks APIを有効にします。

  4. OAuth同意画面を設定します。

  5. APIとサービス → 認証情報で、アプリケーションタイプデスクトップアプリのOAuthクライアントIDを作成します。

  6. OAuthデスクトップクライアントJSONをclient_secret.jsonとしてダウンロードし、このリポジトリの外で保護して保管します。

2. インストール、ビルド、認証

npm install
npm run build
npm run auth -- --client-secret /secure/google/client_secret.json

認証コマンドは、トップレベルのinstalledオブジェクトを含むGoogle OAuthデスクトップクライアントJSONのみを受け付けます。ブラウザの同意フローを開き、Tasksのリフレッシュトークンを次の場所に保存します:

~/.config/google-tasks-mcp/token.json

必要に応じて生成されたトークンの場所を上書きします:

GOOGLE_TOKEN_FILE=/secure/google/tasks-token.json \
npm run auth -- --client-secret /secure/google/client_secret.json

インストール済みパッケージの場合は、次を実行します:

google-tasks-mcp-auth --client-secret /secure/google/client_secret.json

サーバーは読み取りと書き込みの両方の操作を公開するため、完全なhttps://www.googleapis.com/auth/tasksスコープを要求します。以降のMCPサーバー実行では保存されたトークンを使用し、アクセスを自動的に更新します。client_secret.jsonを再度提供する必要があるのは、プロジェクトの認証または再認証時のみです。どちらのJSONファイルもコミットしないでください。

3. MCPホストに接続する

このチェックアウトからビルド済みサーバーを直接使用します。パスはお使いのマシンの絶対パスに置き換えてください。

Codex (~/.codex/config.toml)

[mcp_servers.google_tasks]
command = "node"
args = ["/absolute/path/google-task-mcp/dist/index.js"]

[mcp_servers.google_tasks.env]
GOOGLE_TOKEN_FILE = "/Users/you/.config/google-tasks-mcp/token.json"

JSON設定を使用するホスト

{
  "mcpServers": {
    "google_tasks": {
      "command": "node",
      "args": ["/absolute/path/google-task-mcp/dist/index.js"],
      "env": {
        "GOOGLE_TOKEN_FILE": "/Users/you/.config/google-tasks-mcp/token.json"
      }
    }
  }
}

設定を変更した後はMCPホストを再起動してください。

利用可能なツール

ツール

目的

list_task_lists

タスクリストを一覧表示

get_task_list

1つのタスクリストを取得

create_task_list

タスクリストを作成

update_task_list

タスクリストの名前を変更

delete_task_list

タスクリストを削除。confirm: trueが必要

list_tasks

ページネーション付きでタスクを一覧表示・フィルタリング

get_task

1つのタスクを取得

create_task

タスクまたはサブタスクを作成

update_task

タイトル、メモ、期限日、ステータスを更新

complete_task

タスクを完了としてマーク

reopen_task

タスクをアクションが必要な状態としてマーク

move_task

並べ替え、親の変更、別のリストへの移動

delete_task

タスクを削除。confirm: trueが必要

clear_completed_tasks

完了したタスクをクリア。confirm: trueが必要

Google Tasksは期限タイムスタンプの日付部分のみを保存します。APIを通じて送信された時刻は破棄されます。タスクのタイトルは1,024文字、メモは8,192文字に制限されています。

MCP Inspectorでテストする

npm run build
npm run inspect

stdioプロトコルはstdoutのみを使用します。したがって、実行時の診断情報はstderrに書き込まれます。

配布用パッケージ

インストール可能なnpm tarballを作成します:

npm pack

パッケージを公開した後、ホストは次のコマンドで起動できます:

{
  "command": "npx",
  "args": ["-y", "google-tasks-mcp@0.1.0"],
  "env": {
    "GOOGLE_TOKEN_FILE": "/secure/google/tasks-token.json"
  }
}

1人のユーザーが1つのワークステーションで使用する場合、stdioとローカルトークンの組み合わせが最もシンプルで安全なデプロイ方法です。複数ユーザーまたはホスト型サービスの場合は、MCP Streamable HTTPを使用し、ユーザーごとのOAuthセッションと暗号化されたサーバーサイドのトークンストレージを実装してください。複数のユーザー間で1つのリフレッシュトークンを共有しないでください。

参考

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.

  • Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.

  • Manage your MakeMeBetter AI tasks, habits, and goals from your AI assistant.

View all MCP Connectors

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/phamviet86/google-task-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server