google-workspace-mcp
google-workspace-mcp
Google Workspace(Gmail、Google Calendar、Google Drive、Google Sheets、Google Docs)向けに5つの独立したリモートMCPサーバーを構築するためのプロジェクトです。
ステータス: プレアルファ版。 MCPサーバーはまだ動作しません。このリポジトリには現在、パッケージのスケルトン、5つのプレースホルダーエントリポイント、下流のOAuth状態コア、および不変のサービス別設定が含まれています。
現在のステータス
実装済み:
5つのコンソールエントリポイントを持つPythonパッケージ
SQLiteバックアップによる下流OAuth状態
OAuthクライアント登録とPKCE
正規の
resourceへのトークンバインディングリフレッシュトークンのローテーション、リプレイ検出、ファミリー失効
サービスとリソースの不変の状態所有権メタデータ
厳格なポートとトークンTTL検証を備えた不変のサービス別設定
5つのコンソールエントリポイントはすべてプレースホルダーであり、サービスが構築されていない旨のメッセージを表示して終了します。HTTP/MCPトランスポート、Google API統合、サービスのツール、およびデプロイ設定はまだ実装されていません。
Related MCP server: google-workspace-mcp-advanced
計画中のサービス
以下の表は対象範囲を説明しています。これらの機能はまだ利用できません。
サービス | 対象機能 |
| メッセージとスレッドの検索・読み取り、ラベル、添付ファイル、下書き、送信、返信 |
| カレンダー、イベントの検索と取得、空き状況、イベントの作成と更新 |
| ファイル検索、メタデータ、フォルダ内容、ダウンロード、エクスポート |
| スプレッドシートのメタデータ、範囲の読み取りと書き込み、バッチ操作 |
| ドキュメントの作成、構造とテキストの取得、挿入、置換 |
対象アーキテクチャでは、各サービスは独自のMCPエンドポイント、ツールレジストリ、Google OAuthスコープ、Google認証情報、および下流OAuth状態を持つ別々のプロセスとして実行されます。
対象の認可アーキテクチャ
この設計は2つの独立したレイヤーを使用します:
クライアントからサービスへ。 MCPクライアントはPKCE付きのOAuth 2.1を使用します。各アクセストークンは1つのresourceにバインドされ、リフレッシュトークンはリプレイ検出付きでローテーションされます。
サービスからGoogleへ。 各サービスは別々のGoogle認証情報と必要最小限のOAuthスコープを使用します。GoogleリフレッシュトークンがMCPクライアントに返されることはありません。
最初のレイヤーの状態コアのみが現在存在します。HTTPエンドポイントと2番目の認可レイヤーは実装されていません。
テクノロジー
開発の前提条件
Git
Python 3.14
uv
Google API統合が実装された後、Google CloudプロジェクトとOAuthクライアントが必要になります。現在のバージョンではこれらを使用しません。
開発環境のセットアップ
git clone https://github.com/hawkxdev/google-workspace-mcp.git
cd google-workspace-mcp
uv sync --dev仮想環境をアクティベートする必要はありません。uv runを通じてコマンドを実行してください。
チェック
uv run --no-sync pytest -q
uv run --no-sync ruff check .
uv run --no-sync ruff format --check .
uv run --no-sync mypy srcインストール済みの依存関係バージョンを確認する場合は--no-syncフラグが必要です。通常のuv runはロックファイルから環境を再同期する場合があります。
構造
パス | 目的 |
| 下流OAuth状態のライフサイクル |
| 不変のサービス別環境設定 |
| 5つのプレースホルダーエントリポイント |
| OAuthコアとパッケージエントリポイントの回帰テスト |
| パッケージメタデータ、依存関係、ツール設定 |
| 適応コードの出所 |
コントリビューション
このプロジェクトは初期開発段階にあります。重要な変更を行う前に、提案する動作を説明するissueを開いてください。変更は、5つのサービスを1つのプロセスに統合したり、サービス間で認証情報を共有したり、OAuthバイパスを導入したりしてはなりません。
出所
このプロジェクトは、MITライセンスの下でjimprosser/obsidian-web-mcpからOAuth 2.1コアを適応しています。詳細はNOTICEを参照してください。
下流のOAuth 2.1コアは、リビジョン7e6a52d791a50e3bd533df1060217973ab5be1c8に基づいています。クライアントとトークンのライフサイクル、リフレッシュトークンのローテーション、リプレイ検出、resourceの正規化に関する追加の修正が含まれています。
元のプロジェクトのObsidianストレージとGit同期機能はコピーされていません。
このプロジェクトはmcp>=2,<3を使用します。MCP 2.0で削除されたmcp.server.fastmcpパッケージは不要です。将来の構成ではmcp.server.mcpserverを使用します。
作者
ライセンス
MIT、LICENSEを参照してください。
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
Permissioned access to Gmail, Drive and Calendar via the user's own Google account
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for Google Workspace APIs - Docs, Sheets, Drive, Gmail, and Calendar. Enables reading, creating, and editing Google Docs and Sheets, managing comments, reading emails, and viewing calendar events.3414 npm17MIT
- AlicenseBqualityDmaintenanceProduction-ready MCP server for Google Workspace providing broad coverage across Gmail, Drive, Calendar, Docs, Sheets, and more, with safe-by-default write operations and markdown-to-Google-Docs support.100MIT
- AlicenseCqualityAmaintenanceA multi-account Google Workspace MCP server that drives Gmail, Google Calendar, and Google Drive across any number of Google accounts in parallel from one server.422MIT
- FlicenseBqualityDmaintenanceMCP server providing full access to Google Workspace services (Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts) using OAuth authentication.1001-