mcpField
T
Todo Assistant with AI and Google Calendar Integration

Todo Assistant with AI and Google Calendar Integration

ローカル
github.com/mertadaliAI・エージェント184 週間前に更新

Todo Assistant with AI and Google Calendar Integration について

Todo Assistant with AI and Google Calendar Integrationは、自然言語チャットでタスクや予定を管理するWebアプリです。OpenAI GPT-3.5 Turbo、Google Calendar、SQLiteによる永続化を組み合わせ、機密性の高いツール操作には承認フローを設けています。

主な機能

  1. 01自然言語によるToDo管理
  2. 02Google Calendarとの同期
  3. 03英語とトルコ語への対応
  4. 04機密性の高いツール操作の承認フロー
  5. 05SQLiteによるデータ永続化
  6. 06レスポンシブなWebインターフェース

活用シーン

  1. 01チャットでのToDo追加や完了
  2. 02ToDo項目のGoogle Calendarへの同期
  3. 03今後のカレンダー予定の確認
  4. 04機密性の高いツール操作の承認

MCP 対応

操作、ヘルスチェック、利用可能なツールの一覧表示を行うMCPエンドポイントを提供します。従来のRESTエンドポイントに加え、標準化されたAIツール連携に対応します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

AI と Google Calendar を統合した Todo アシスタント

OpenAI の Assistant API と Google Calendar の連携を組み合わせた、最新の AI 搭載 ToDo リスト・カレンダー管理アプリケーションです。TypeScript で構築され、MCP(Model Context Protocol)と従来の API エンドポイントの両方を備えています。

Todo アシスタントのメイン画面
Todo アシスタントのメイン画面

Todo アシスタントの承認画面
Todo アシスタントのメイン画面

Todo Google Calendar 画面
Todo アシスタントのメイン画面

🌟 主な機能

  • AI 搭載チャットインターフェース:OpenAI の GPT-3.5 Turbo を使用した自然言語でのやり取り
  • スマートな ToDo 管理:自然言語を使って ToDo の追加、削除、一覧表示、切り替えが可能
  • Google Calendar 連携:ToDo を Google Calendar とシームレスに同期
  • 多言語サポート:英語とトルコ語を完全サポート
  • ツール承認システム:機密性の高い操作に対する安全な承認ワークフロー
  • MCP(Model Context Protocol):AI ツールとの標準化されたやり取り
  • レスポンシブデザイン:モダンでモバイルフレンドリーなウェブインターフェース
  • 永続ストレージ:信頼性の高いデータ管理を実現する SQLite データベース

🛠️ 技術スタック

  • バックエンド:

    • Express を使用した Node.js
    • TypeScript
    • SQLite(better-sqlite3 経由)
    • OpenAI Assistant API
    • Google Calendar API
  • フロントエンド:

    • HTML5 と CSS3
    • モダンな JavaScript
    • レスポンシブデザイン
  • AI と連携:

    • OpenAI GPT-3.5 Turbo
    • Model Context Protocol(MCP)
    • Google Calendar 用 OAuth 2.0

📋 前提条件

  • Node.js(v16 以上)
  • npm または yarn
  • OpenAI API キー
  • Google Cloud Console アカウント
  • SQLite

🚀 はじめに

  1. リポジトリをクローン

    git clone https://github.com/yourusername/todo-assistant.git
    cd todo-assistant
    
  2. 依存関係をインストール

    npm install
    
  3. 環境を設定 ルートディレクトリに .env ファイルを作成します。

    OPENAI_API_KEY=your_openai_api_key
    PORT=3000
    CLIENT_ID=your_google_client_id
    CLIENT_SECRET=your_google_client_secret
    GOOGLE_REDIRECT_URI=http://localhost:3000/google/callback
    
  4. ビルドして実行

    # Build TypeScript
    npm run build
    
    # Start server
    npm start
    
    # Development mode with auto-reload
    npm run dev
    
    # Start with MCP enabled
    npm run dev:mcp
    

🗄️ データベース構造

Todos テーブル
CREATE TABLE todos (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    text TEXT NOT NULL,
    completed BOOLEAN NOT NULL DEFAULT 0,
    createdAt TEXT NOT NULL
)
カレンダーイベントテーブル
CREATE TABLE calendar_events (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    todoId INTEGER NOT NULL,
    title TEXT NOT NULL,
    date TEXT NOT NULL,
    time TEXT NOT NULL,
    createdAt TEXT NOT NULL,
    FOREIGN KEY (todoId) REFERENCES todos(id) ON DELETE CASCADE
)

🔌 API エンドポイント

従来の REST API
  • POST /api/thread - ユーザーのスレッドを作成/取得
  • POST /api/chat - メッセージを送受信
  • GET /api/history/:userId - チャット履歴を取得
  • POST /api/tool-response - ツールの承認を処理
MCP エンドポイント
  • POST /mcp - MCP の主要なやり取り用エンドポイント
  • GET /mcp/health - ヘルスチェック
  • GET /mcp/tools - 利用可能なツールの一覧

💡 使用例

英語のコマンド
"Add 'Buy groceries' to my todo list"
"Show all my todos"
"Mark todo #3 as complete"
"Add 'Team meeting' to calendar for tomorrow at 2pm"
"Show my calendar events for next week"
トルコ語のコマンド
"Alışveriş yapmayı listeye ekle"
"Tüm görevlerimi göster"
"3 numaralı görevi tamamlandı olarak işaretle"
"Yarın saat 14:00'da takım toplantısını takvime ekle"
"Gelecek haftaki takvim etkinliklerimi göster"

🔒 セキュリティ機能

  • 機密性の高い操作に対するツール承認ワークフロー
  • Google Calendar 用 OAuth 2.0 認証
  • 安全な認証情報管理
  • 入力の検証とサニタイズ

🌐 Google Calendar の設定

  1. Google Cloud Console にアクセスします
  2. 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
  3. Google Calendar API を有効にします
  4. OAuth 2.0 認証情報を設定します。
    • アプリケーションの種類を「Web application」に設定します
    • 承認済みのリダイレクト URI を追加します:http://localhost:3000/google/callback
    • 認証情報をダウンロードし、.env ファイルを更新します

🤝 貢献

  1. リポジトリをフォークします
  2. 機能ブランチを作成します(git checkout -b feature/AmazingFeature)
  3. 変更をコミットします(git commit -m 'Add some AmazingFeature')
  4. ブランチにプッシュします(git push origin feature/AmazingFeature)
  5. プルリクエストを作成します

📝 ライセンス

このプロジェクトは MIT License のもとでライセンスされています。詳細は LICENSE ファイルをご覧ください。

🙏 謝辞

  • 強力な Assistant API を提供している OpenAI
  • Google Calendar API チーム
  • 貢献者とテスターの皆さん

📞 サポート

サポートが必要な場合は、GitHub リポジトリで Issue を作成するか、メンテナーにお問い合わせください。

コメント

MCP は初めてですか?

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

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