Togello MCP Server について
Togello MCP Serverは、Togelloのタスク、カレンダー、アクティビティのデータと操作をMCPクライアントに公開します。ローカルstdioとリモートHTTPに対応し、Bearerトークン認証と新旧MCPクライアントとの互換性を備えています。
主な機能
- 01TODOタスクの取得と管理
- 02カレンダーメモとGoogle Calendarイベントの取得
- 03アクティビティ項目とログの一覧表示
- 04アクティビティログの開始と完了
- 05有効なスケジュール調整投票の確認
- 06日本の現在時刻の取得
活用シーン
- 01未完了または完了済みタスクの確認
- 02予定タスクとカレンダーイベントの確認
- 03日付指定のカレンダーメモの更新
- 04アクティビティの開始と完了の記録
MCP 対応
Togelloのタスク、カテゴリー、カレンダーメモ、Google Calendarイベント、アクティビティ、ログ、スケジュール調整投票、日本時間をMCPツールとして提供します。stdioとリモートStreamable HTTPに対応し、旧式のSSEエンドポイントも利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
12掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| categoryUUIDs | array | いいえ | 指定したカテゴリ UUID でタスクを絞り込みます。 |
| completionStatus | enum | いいえ | 完了状態でタスクを絞り込みます。省略すると、デフォルトで未完了のタスクを取得します。完了済みのタスクには COMPLETED を使用してください。INCOMPLETE | COMPLETED |
| completedStartDate | string | いいえ | RFC3339 形式の完了日時範囲の開始値(含む)。例:昨日の 00:00:00+09:00。 |
| completedEndDate | any | いいえ | RFC3339 形式の完了日時範囲の終了値(含まない)。昨日のデータを取得する場合は、今日の 00:00:00+09:00 を指定します。 |
詳細
Togello MCP サーバー
Togello MCP サーバーは、Model Context Protocol を通じて Togello のタスク、カテゴリー、カレンダーメモ、Google Calendar のイベント、アクティビティ項目、アクティビティログを公開します。
要件
- Node.js 24.22.1 以降
- Togello API トークン
プロトコルの互換性
このサーバーは MCP TypeScript SDK v2 を使用します。Stdio と /mcp は MCP 2026-07-28 プロトコル、および initialize ハンドシェイクを使用するレガシークライアントをサポートします。/mcp エンドポイントはレガシークライアント向けにセッションを保持し、最新のリクエストはステートレスです。レガシークライアント向けに、/sse と /message も引き続き利用できます。
最新のリモートリクエストには、それぞれ Authorization: Bearer ... ヘッダーが必要です。レガシーセッション ID が指定されている場合も含め、認証情報はリクエストごとに分離されます。レガシー接続では、セッション作成時に指定されたトークンが保持されます。既存の OAuth メタデータ URL と認証方式に変更はありません。
MCP Events は実装されていません。
npm を使用したローカル MCP
MCP サーバーを stdio 経由で起動するデスクトップクライアントやローカル開発ツールには、こちらを使用してください。
{
"mcpServers": {
"togello": {
"command": "npx",
"args": ["-y", "togello-mcp-server"],
"env": {
"TOGELLO_API_TOKEN": "replace_with_your_token"
}
}
}
}
リモート MCP
リモートモードでは、/mcp に Streamable HTTP エンドポイントを公開します。また、古い MCP クライアント向けに、レガシーの SSE エンドポイント /sse とメッセージエンドポイント /message も引き続き提供します。
TOGELLO_MCP_MODE=remote \
TOGELLO_MCP_AUTH_MODE=passthrough \
TOGELLO_MCP_HOST=0.0.0.0 \
TOGELLO_MCP_PORT=8081 \
npm start
リモート MCP クライアントの接続先:
https://your-domain.example/mcp
passthrough 認証では、接続するユーザーの Togello API トークンを Authorization: Bearer ... ヘッダーから使用します。最新のリクエストでは、リクエストごとにこのヘッダーが必要です。レガシーセッションでは、接続時のトークンが保持されます。公開リモート MCP サーバーには、このモードを使用してください。
env 認証では、すべてのリモートクライアントに対して、サーバー側の単一の TOGELLO_API_TOKEN を使用します。これは、信頼できるローカル環境または単一ユーザーのデプロイのみを対象としています。ローカル以外のホストにバインドする場合、共有トークン認証が誤ってパブリックデプロイで有効にならないよう、TOGELLO_MCP_AUTH_MODE=env に加えて TOGELLO_MCP_ALLOW_ENV_AUTH=true も必要です。
ChatGPT の開発者モードでは、SSE を使用するリモート MCP サーバーを追加できます。本番環境の ChatGPT アプリまたはコネクターでは、passthrough 認証を使用するか、Togello にリクエストを転送する前に各ユーザーを個別に認証するデプロイを使用してください。
リモートモードでは、TOGELLO_OAUTH_ISSUER または TOGELLO_API_BASE_URL で設定された Togello OAuth 発行者を使用して、/.well-known/oauth-authorization-server と /.well-known/oauth-authorization-server/mcp から OAuth 認可サーバーメタデータを提供します。
/mcp に接続するリモート OAuth クライアントは、/.well-known/oauth-protected-resource/mcp から保護されたリソースのメタデータを検出してください。このメタデータは、resource として、https://your-domain.example/mcp のような完全な MCP エンドポイント URL を返します。認証されていない /mcp リクエストには、resource_metadata の値が /mcp のメタデータパスを指す WWW-Authenticate チャレンジが含まれます。
設定する OAuth 発行者は、パス要素を含まないオリジン URL である必要があります。
OpenAI Apps のドメイン検証では、検証トークンを TOGELLO_MCP_OPENAI_APPS_CHALLENGE_TOKEN に設定してください。リモートモードでは、その値が text/plain として /.well-known/openai-apps-challenge から提供されます。TOGELLO_MCP_OPENAI_APPS_CHALLENGE_TOKEN と OPENAI_APPS_CHALLENGE_TOKEN の両方が設定されている場合は、Togello 用の変数が優先されます。
ツール
すべてのツールで、readOnlyHint、openWorldHint、destructiveHint のアノテーションを明示的に設定しています。読み取り専用ツールは、structuredContent とテキストコンテンツの両方で安定した JSON を返します。
get-tasks-list:TODO タスクを取得します。デフォルトでは未完了のタスクを取得します。categoryUUIDsを指定すると、カテゴリ UUID で絞り込めます。期間中に完了したタスクを取得するには、RFC3339 形式のcompletedStartDateとcompletedEndDateの両方を指定して、completionStatus: "COMPLETED"を使用します。get-calendar-date-memo:YYYY-MM-DD形式の日付のカレンダーメモを取得します。get-todo-category-list:TODO カテゴリを取得します。get-today-calendar:連携済みの Google Calendar の予定とスケジュール済みタスクを取得します。get-activity-item-list:有効なアクティビティ項目を取得します。get-activity-log-list:アクティビティログを取得します。get-active-gathers:認証済みユーザーが作成した、または以前に閲覧したアクティブな日程調整投票を、GET /v2/gathersを使用して取得します。引数は不要です。未確定の投票は調整終了時刻まで、確定したイベントと募集は開始時刻まで(開始時刻を含む)アクティブです。すでに開始したイベントは、終了していなくても除外されます。適格性の判定に必要な日付がない、または無効な場合も除外されます。結果は API の並び順を保ち、UUID、タイトル、モード、調整および確定のタイムスタンプ、参加者数、関係タイプのみを含みます。該当するものがない場合は{ "gathers": [] }を返し、API エラーはエラーとして返します。get-japan-current-time:日本の現在時刻を返します。
書き込みツールは JSON を返します。ツールの応答が失敗した場合も JSON を返し、isError: true が設定されます。既存の非公開 Togello データを上書きする可能性のあるツールには destructiveHint: true が設定され、作成/開始ツールには destructiveHint: false が設定されます。
create-task:TODO タスクを作成します。update-task:カテゴリの割り当てまたは解除を含め、TODO タスクを更新します。delete-task:get-tasks-listのtodoUUIDで指定した TODO タスクを完全に削除します。タスクを完了するには、status: "DONE"を指定してupdate-taskを使用してください。削除対象の完了済みタスクを見つけるには、completionStatus: "COMPLETED"を使用してください。この破壊的で冪等なツールは、呼び出し元が所有するタスクが一致しない場合も含め、API 応答が成功すると{ "todoUUID": "...", "deleted": true }を返します。成功しても、そのタスクが以前に存在していたことの証明にはなりません。対象が曖昧な場合は、削除する前に確認が必要です。update-calendar-date-memo:カレンダーメモを更新または消去します。start-activity-log:アクティビティログを開始します。complete-activity-log:アクティビティログを完了します。
開発
npm ci
npm test
プロトコルテストでは、ローカルのモック API に対して、stdio、Streamable HTTP、従来の SSE を介して、SDK v2 の最新クライアントと SDK v1.32.2 のレガシークライアントをテストします。既存の 12 個のツールコントラクトと、追加された削除ツールおよびアクティブな日程調整投票ツール、読み取り/書き込み/削除の結果、リクエストごとの認証情報の分離、プロトコルヘッダーのエラー、本文サイズの上限、メタデータ、レガシーセッションのライフサイクルを検証します。test/fixtures/v1-tools.json には、コミット 558c2c2fda81f7c8b20f443afa1bf5e554a72dad のサーバー 1.0.42 に対する tools/list の結果が記録されています。比較では、SDK の JSON Schema の方言とワイヤーフォーマットの変更を許容します。
SDK 向けのスキーマには Zod 4 を使用します。UUID フィールドは従来の寛容な UUID 構文を維持し、日時フィールドは Zod パッケージに含まれる互換性エクスポートを通じて、以前の Zod 3 の検証を維持します。
MCP Review
認定済み https://mcpreview.com/mcp-servers/toru-takagi/togello-mcp-server
公開
npm run build
npm version patch
npm publish --access public
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。