プロジェクト概要
Personal Task Bridgeは、Google Tasksの操作を 外部のクライアントから実行するために開発した、 非営利の個人用ソフトウェアです。
PythonでModel Context Protocol(MCP)サーバーを実装し、 Google Tasks APIと連携しています。 主な利用環境はOpenAIのChatGPTです。
一般ユーザー向けのサービスではなく、 開発者本人による利用と技術検証を目的としています。
システム構成
クライアントからの操作要求をMCPサーバーが受け取り、 Google Tasks APIへリクエストを送信する構成です。
PythonサーバーはGoogle CloudのLinux仮想マシン上で稼働し、 systemdによって自動起動と異常終了時の再起動を管理しています。
使用技術
Python / MCP
Python製MCPサーバーでタスク操作用のツールを実装しています。 クライアントから各ツールを呼び出すことで、 Google Tasksのデータを取得・変更します。
Google Tasks API / OAuth 2.0
Googleの公式APIを使用してタスクを管理しています。 OAuth 2.0により、Googleアカウントの許可を受けた 範囲内で操作を行います。
Google Cloud / Ubuntu
Google Cloud Compute Engine上にUbuntuの 仮想マシンを構築しています。 サーバーをクラウドで運用することで、 ローカルPCの起動状態に依存しない構成としています。
実装機能
- Google Tasksのタスクリスト一覧取得
- 指定したタスクリスト内のタスク取得
- 未完了タスクの抽出
- 新しいタスクの作成
- 既存タスクのタイトル・メモ・期限の更新
- タスクの完了状態の更新
運用・セキュリティ
- OAuth 2.0を使用したGoogleアカウント認証
- 認証情報を公開リポジトリに保存しない構成
- Linuxのファイル権限による認証情報のアクセス制限
- systemdによるサービスの自動起動・再起動
- 外部IPv4アドレスを使わないVM構成
- 暗号化されたHTTPS通信の利用
APIキー、OAuthトークン、認証用シークレットは、 この公開Webサイトには掲載していません。
開発目的
個人のタスク管理を効率化するとともに、 PythonによるAPI連携、OAuth認証、MCPサーバー開発、 Linuxクラウド運用について実践的に学ぶことを 目的としています。
本プロジェクトは非営利の個人開発であり、 一般向けサービスの販売や収益化を目的としていません。
プライバシー・お問い合わせ
Google Tasksデータの取扱いについては、 プライバシーポリシーをご覧ください。
開発者へのお問い合わせは、 GitHubプロフィール からお願いします。