Cover image
Try Now
2025-04-07

google tasks apiとgoogle calendar apiを利用したスケジューリング用のsse対応のmcp server

3 years

Works with Finder

1

Github Watches

0

Github Forks

0

Github Stars

ai-scheduler-mcp

Google Tasks と Calendar API を統合するための MCP(Model Context Protocol)サーバーです。MCPクライアント(Roo Codeなど)から Google Tasks と Calendar の機能を利用できます。

前提条件

  • Docker がインストールされていること。
  • mcp-network という名前の Docker ネットワークが存在すること。
    # 存在しない場合、以下のコマンドで作成
    docker network create mcp-network
    

セットアップ

  1. リポジトリの準備: このリポジトリをクローンまたはダウンロードします。

  2. 認証情報 (credentials.json) の準備:

    • Google Cloud Console で OAuth 2.0 クライアント ID (「デスクトップアプリ」または「ウェブ アプリケーション」タイプ) を作成します。その際、Google Tasks API と Google Calendar API を有効にしてください。
    • 作成した認証情報を JSON 形式でダウンロードし、ファイル名を credentials.json として、このプロジェクトのルートディレクトリ (ai-scheduler-mcp/) に保存します。
    • 重要: credentials.json は機密情報です。絶対に Git リポジトリにコミットしないでください。 (.gitignore に含まれています)
  3. Docker イメージのビルド: プロジェクトの管理には scripts/ai-scheduler-mcp.sh スクリプトを使用します。コマンドを簡略化するために、便利な使い方 (エイリアス) セクションを参照してエイリアス (ai_scheduler_mcp など) を設定することを推奨します。 以下のコマンドで Docker イメージをビルドします (エイリアス設定後):

    ai_scheduler_mcp build
    

初回認証 (token.json の生成)

サーバーを初めて使用する前に、Google アカウントでの認証を行い、API アクセスに必要な token.json を生成する必要があります。

  1. 以下のコマンドを実行します:

    ai_scheduler_mcp start-auth
    

    (ポートを変更する場合は -P <ポート番号> オプションを追加します)

  2. コンソールに認証 URL が表示されるので、Web ブラウザでアクセスし、Google アカウントでログインして要求された権限を承認します。

  3. 承認後に表示される認証コードをコピーし、コンソールの指示に従って貼り付け、Enter キーを押します。

  4. 認証が成功すると、プロジェクトルートに token.json が生成されます。

    • 重要: token.json も機密情報です。絶対に Git リポジトリにコミットしないでください。 (.gitignore に含まれています)

通常起動

初回認証が完了し token.json が生成された後は、以下のコマンドでサーバーを起動できます。

# デフォルト設定で起動
ai_scheduler_mcp start

# ポート 8080、再起動ポリシー always で起動
ai_scheduler_mcp start -P 8080 -r always

サーバーはバックグラウンドで起動します。

基本的な使い方 (エイリアス使用)

# サーバー (コンテナ) の停止・削除
ai_scheduler_mcp stop

# サーバーのログを表示 (Ctrl+C で終了)
ai_scheduler_mcp logs

# コンテナを停止・削除し、イメージも削除 (確認あり)
ai_scheduler_mcp delete

# ヘルプを表示
ai_scheduler_mcp help

MCPクライアントからの接続 (Roo Code 例)

ホストマシンから接続する場合、Roo Code の MCP 設定 (MCP Servers -> MCP設定を編集) に以下のように追記します (PORT はサーバーの起動ポート):

{
  "mcpServers": {
    "ai-scheduler-mcp-server": {
      "url": "http://localhost:${PORT}/sse"
    }
  }
}

デフォルトポート (3003) の場合は http://localhost:3003/sse となります。

開発コンテナからの接続 (ホスト経由)

開発コンテナなど、この MCP サーバーと同じ Docker ネットワーク (mcp-network) に参加していないコンテナから接続する必要がある場合は、ホストマシン経由で接続します。

接続先 URL は http://<host_ip_or_dns_name>:<PORT>/sse となります。

  • Docker Desktop (Mac/Windows): 特別な DNS 名 host.docker.internal を使用します。
    • 例: http://host.docker.internal:3003/sse
  • Linux: ホストマシンの IP アドレスや Docker ブリッジネットワークのゲートウェイ IP (通常 172.17.0.1) を使用します。
    • 例: http://172.17.0.1:3003/sse

Roo Code の MCP 設定例 (Docker Desktop):

{
  "mcpServers": {
    "ai-scheduler-mcp-server": {
      "url": "http://172.17.0.1:3003/sse"
    }
  }
}

注意: <PORT> は実際にサーバーがホスト上で公開しているポート番号に置き換えてください。Linux の IP アドレスは環境によって異なります。ホストのファイアウォール設定も確認してください。

便利な使い方 (エイリアス)

毎回 ./scripts/ai-scheduler-mcp.sh と入力する代わりに、シェルの設定ファイル (~/.bashrc, ~/.zshrc など) にエイリアスを定義すると便利です。

# 例: ai_scheduler_mcp というエイリアスを作成
alias ai_scheduler_mcp="/path/to/your/project/ai-scheduler-mcp/scripts/ai-scheduler-mcp.sh" # <- 実際のパスに変更

設定ファイルを再読み込み (source ~/.bashrc など) すると、ai_scheduler_mcp build のように短いコマンドでスクリプトを実行できます。

TIPS / その他の情報

  • Docker 直接操作: docker build, docker run コマンドを直接使用することも可能です。詳細は scripts/ai-scheduler-mcp.sh の内容や Docker のドキュメントを参照してください。
  • コンテナ間接続: 同じ mcp-network に参加している他のコンテナからは http://ai-scheduler-mcp-server:${PORT}/sse で接続できます。
  • 通信プロトコル: このサーバーは SSE (Server-Sent Events) を使用します。
  • 環境変数: ポート番号などは環境変数 (PORT) でも設定可能です。

相关推荐

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • 林乔安妮
  • A fashion stylist GPT offering outfit suggestions for various scenarios.

  • 田中 楓太
  • A virtual science instructor for engaging and informative lessons.

  • 1Panel-dev
  • 💬 MaxKB is a ready-to-use AI chatbot that integrates Retrieval-Augmented Generation (RAG) pipelines, supports robust workflows, and provides advanced MCP tool-use capabilities.

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • open-webui
  • User-friendly AI Interface (Supports Ollama, OpenAI API, ...)

  • GLips
  • MCP server to provide Figma layout information to AI coding agents like Cursor

  • gergelyszerovay
  • A preconfigured development container setup for AI-assisted development with Claude, based on VS Code Dev Containers with integrated Model Context Protocol (MCP) server for file system and shell operations.

  • adafruit
  • Python code to use the MCP3008 analog to digital converter with a Raspberry Pi or BeagleBone black.

    Reviews

    4 (1)
    Avatar
    user_lCR82qH4
    2025-04-17

    I've been using ai-scheduler-mcp for a few months now and it has significantly improved my productivity. Developed by torohash, this tool is incredibly efficient and user-friendly. I love how it seamlessly integrates into my workflow. Check it out here: https://github.com/torohash/ai-scheduler-mcp. Highly recommended for anyone looking to optimize their scheduling processes!