mcpField
T
Togello MCP Server

Togello MCP Server

ローカル
github.com/Toru-Takagi生産性03 日前に更新

Togello MCP Server について

Togello MCP Serverは、Togelloのタスク、カレンダー、アクティビティのデータと操作をMCPクライアントに公開します。ローカルstdioとリモートHTTPに対応し、Bearerトークン認証と新旧MCPクライアントとの互換性を備えています。

主な機能

  1. 01TODOタスクの取得と管理
  2. 02カレンダーメモとGoogle Calendarイベントの取得
  3. 03アクティビティ項目とログの一覧表示
  4. 04アクティビティログの開始と完了
  5. 05有効なスケジュール調整投票の確認
  6. 06日本の現在時刻の取得

活用シーン

  1. 01未完了または完了済みタスクの確認
  2. 02予定タスクとカレンダーイベントの確認
  3. 03日付指定のカレンダーメモの更新
  4. 04アクティビティの開始と完了の記録

MCP 対応

Togelloのタスク、カテゴリー、カレンダーメモ、Google Calendarイベント、アクティビティ、ログ、スケジュール調整投票、日本時間をMCPツールとして提供します。stdioとリモートStreamable HTTPに対応し、旧式のSSEエンドポイントも利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"togello": {
"command": "npx",
"args": [
"-y",
"togello-mcp-server"
],
"env": {
"TOGELLO_API_TOKEN": "<TOGELLO_API_TOKEN>"
}
}
}
}
起動コマンドnpx -y togello-mcp-server
設定が必要な環境変数
TOGELLO_API_TOKENシークレット

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmtogello-mcp-server

ツール

12

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
categoryUUIDsarrayいいえ指定したカテゴリ UUID でタスクを絞り込みます。
completionStatusenumいいえ完了状態でタスクを絞り込みます。省略すると、デフォルトで未完了のタスクを取得します。完了済みのタスクには COMPLETED を使用してください。INCOMPLETE | COMPLETED
completedStartDatestringいいえRFC3339 形式の完了日時範囲の開始値(含む)。例:昨日の 00:00:00+09:00。
completedEndDateanyいいえRFC3339 形式の完了日時範囲の終了値(含まない)。昨日のデータを取得する場合は、今日の 00:00:00+09:00 を指定します。

詳細

Togello MCP サーバー

Togello MCP サーバーは、Model Context Protocol を通じて Togello のタスク、カテゴリー、カレンダーメモ、Google Calendar のイベント、アクティビティ項目、アクティビティログを公開します。

https://togello.com/sign

要件

  • 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

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