G2N MCP Google Calendar SSE Server について
SSE ベースの MCP サーバーで、Google Calendar の管理ツールを対応モデルやアプリに提供します。OAuth 認証に対応し、カレンダーや予定の参照、作成、更新、削除を行えます。
主な機能
- 01カレンダーと予定の一覧
- 02カレンダーと予定の詳細取得
- 03予定の作成・更新・削除
- 04カレンダーと予定の色一覧
- 05OAuth トークンの更新
活用シーン
- 01MCP クライアントで予定を確認
- 02カレンダー予定の作成や更新
- 03n8n ワークフローへのカレンダーツール接続
MCP 対応
SSE 経由で Google Calendar の操作を MCP ツールとして対応クライアントやアプリに提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
http://localhost:3001/sseclaude mcp add --transport http g2n-mcp-gcal-sse http://localhost:3001/sse{"mcpServers":{"g2n-mcp-gcal-sse":{"type":"http","url":"http://localhost:3001/sse"}}}Cursor で開く{"servers":{"g2n-mcp-gcal-sse":{"type":"http","url":"http://localhost:3001/sse"}}}VS Code で開く{"mcpServers":{"g2n-mcp-gcal-sse":{"type":"http","url":"http://localhost:3001/sse"}}}{"mcpServers":{"g2n-mcp-gcal-sse":{"serverUrl":"http://localhost:3001/sse"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
G2N MCP Google Calendar SSE サーバー
🌎 この README は複数の言語で利用できます:
概要
G2N MCP Google Calendar SSE サーバーは、Server-Sent Events(SSE)を通じて Google Calendar と連携する Model Context Protocol(MCP)サーバーの実装です。このサーバーは、Cursor、Claude、n8n などの AI モデルやアプリケーションが Google Calendar を操作するためのツールとして、Google Calendar の機能を提供します。
最新バージョンの MCP SDK で構築されたこのサーバーは、MCP 対応モデルと Google Calendar サービスとの堅牢な連携を実現します。
機能
このサーバーは、Google Calendar を管理するための以下の MCP ツールを提供します。
list-calendars:利用可能なすべてのカレンダーを一覧表示get-calendar:特定のカレンダーの詳細を取得list-events:フィルタリングオプションを指定して、カレンダーの予定を一覧表示get-event:特定の予定の詳細情報を取得create-event:新しいカレンダーの予定を作成update-event:既存のカレンダーの予定を更新delete-event:カレンダーの予定を削除list-colors:予定とカレンダーで利用可能な色を一覧表示
v1.1.0 の新機能
- 設定可能なログレベルを備えた包括的なロギングシステム
- モニタリングを強化するリクエスト/レスポンスのロギングミドルウェア
- 接続を安定させる SSE ハートビートの実装
- エラー処理とデバッグ機能の強化
- データディレクトリの適切な権限設定による Docker 設定の改善
- トークン管理を強化した OAuth フロー
- 保守性を高めるコードのリファクタリング
v1.0.1 の新機能
- 初の安定版リリース
- Docker と Docker Swarm に対応した本番環境向け構成
- 環境変数の設定を強化
- デプロイシナリオに応じた接続 URL の改善
- n8n 連携に関するドキュメントを改善
- Traefik の設定ガイドライン
- マルチプラットフォーム対応の Docker イメージ(amd64、arm64、arm/v7)
はじめに
前提条件
- Docker と Docker Compose がインストールされていること
- Calendar API を有効にした Google Cloud プロジェクト
- OAuth 2.0 クライアント ID とクライアントシークレット
環境変数
サーバーでは以下の環境変数を使用します。
PORT=3001 # Server port (default: 3001)
PUBLIC_URL=https://your-domain.com # Public URL for OAuth callbacks
GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID} # Google OAuth Client ID
GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET} # Google OAuth Client Secret
OAUTH_REDIRECT_PATH=/oauth/callback # OAuth callback path (default: /oauth/callback)
重要な注意事項:
- Traefik を使用する場合は、
PORT環境変数で指定したポートを参照するように設定してください - Google のリフレッシュトークンを正常に受け取るために、これは非常に重要です
- OAuth コールバックが機能するには、
PUBLIC_URLがインターネットからアクセス可能である必要があります
認証フロー
- Docker を使用するか、サーバーを直接起動します
- ブラウザーで
/authエンドポイントにアクセスします - Google アカウントを使用して、アプリケーションに権限を付与します
- 認証後、継続的にアクセスできるよう、サーバーがリフレッシュトークンを保存します
- 必要に応じて、サーバーがトークンを自動的に更新します
アクセスを取り消すには、/revoke エンドポイントを使用します。
curl -X POST https://your-domain.com/revoke
MCP 対応アプリケーションでの使用
接続 URL
デプロイシナリオに応じて、適切な URL 形式を使用してください。
-
Docker Swarm/n8n 内部アクセス:
http://[stack-service-name]:3001/sse例:スタック内のサービス名が
g2n-mcp-gcal-sseの場合は、次を使用します。http://g2n-mcp-gcal-sse:3001/sse -
外部アクセス(Cursor、Claude など):
https://your-domain.com/sse -
ローカル開発:
http://localhost:3001/sse
Cursor AI
設定で MCP 接続を構成すると、このサーバーを Cursor AI で使用できます。
- Cursor の設定を開きます
- パブリックドメインを使用して MCP サーバーの URL を設定します。
https://your-domain.com/sse - AI コマンドを通じて Google Calendar の機能を使い始めます
Claude Desktop
Claude Desktop の場合:
- Settings > MCP に移動します
- パブリック URL を使用して新しい MCP 接続を追加します。
https://your-domain.com/sse - 会話を通じて Google Calendar の機能を利用します
n8n
- n8n で新しい MCP ノードを追加します
- 内部サービス URL を使用して MCP ノードを設定します。
http://[stack-service-name]:3001/sse - ワークフローで公開されているカレンダーツールを使用します
ライセンス
このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE ファイルを参照してください。
G2NTech について
このプロジェクトは、G2NTech の Gabriel Augusto が開発・保守しています。
プロジェクトを支援する 💜
このプロジェクトが役に立った場合は、PIX でのご支援をご検討ください。
- PIX キー:
[email protected]
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。