what is Google Workspace MCP Server?
Google Workspace MCP Server is an application that provides Google Workspace functionalities (like Calendar and Email) as an MCP server.
how to use Google Workspace MCP Server?
To use the server, clone the repository, install the necessary dependencies, set up Google Cloud Console, and configure the server settings as per the instructions provided in the documentation.
key features of Google Workspace MCP Server?
- Gmail Features:
- List recent emails with filters
- Advanced email search using Gmail query syntax
- Send emails with CC and BCC support
- Manage email labels (archive, trash, read/unread)
- Calendar Features:
- List events within a specified date range
- Create events with participants
- Update existing events
- Delete events
use cases of Google Workspace MCP Server?
- Managing emails efficiently through advanced search and filtering.
- Scheduling and managing calendar events for teams.
- Automating email and calendar operations through scripts.
FAQ from Google Workspace MCP Server?
- What are the prerequisites to run this server?
You need Node.js version 20 or higher and a configured Google Cloud Console project with Gmail and Calendar APIs enabled.
- Is there a license for this project?
Yes, the project is licensed under the MIT license.
- How can I troubleshoot authentication issues?
Ensure that the required OAuth scopes are granted and that the Client ID and Secret are correct.
Google Workspace MCP Server
このプロジェクトは以下のリポジトリをベースに作成しています: epaproditus/google-workspace-mcp-server
Google Workspace の機能(カレンダー、メール)を MCP サーバーとして提供するアプリケーション
機能
Gmail 機能
list_emails
: 受信トレイから最近のメールをフィルタリング付きで一覧表示search_emails
: Gmail クエリ構文を使用した高度なメール検索send_email
: CC、BCC 対応のメール送信modify_email
: メールラベルの管理(アーカイブ、ゴミ箱、既読/未読)
カレンダー機能
list_events
: 日付範囲指定付きの予定一覧表示create_event
: 参加者付きの予定作成update_event
: 既存予定の更新delete_event
: 予定の削除
必要条件
- Node.js: Node.js 20 以上をインストール
- Google Cloud Console 設定:
- Google Cloud Consoleにアクセス
- 新規プロジェクトの作成または既存プロジェクトの選択
- Gmail API と Google Calendar API の有効化:
- "APIs & Services" > "Library"に移動
- "Gmail API"を検索して有効化
- "Google Calendar API"を検索して有効化
- OAuth 2.0 認証情報の設定:
- "APIs & Services" > "Credentials"に移動
- "Create Credentials" > "OAuth client ID"をクリック
- "Desktop application"を選択
- "Authorized redirect URIs"に
http://localhost:4100/code
を追加 - Client ID と Client Secret をメモ
セットアップ手順
-
リポジトリのクローンとインストール:
git clone https://github.com/Yulikepython/gogole-workspace-mcp-server-by-itc.git cd google-workspace-mcp-server-by-itc npm install
-
認証情報の設定:
# credentials.json.exampleをコピー cp credentials.json.example credentials.json
credentials.json
を以下のように編集:{ "web": { "client_id": "YOUR_CLIENT_ID", "client_secret": "YOUR_CLIENT_SECRET", "redirect_uris": ["http://localhost:4100/code"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token" } }
-
リフレッシュトークンの取得:
node get-refresh-token.js
これにより:
- ブラウザが開き、Google OAuth 認証が実行されます
- 以下の権限が要求されます:
https://www.googleapis.com/auth/gmail.modify
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/gmail.send
- 認証情報が
token.json
に保存されます - コンソールにリフレッシュトークンが表示されます
-
MCP 設定の構成: MCP 設定ファイルにサーバー設定を追加:
- VSCode Claude 拡張機能:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Claude デスクトップアプリ:
~/Library/Application Support/Claude/claude_desktop_config.json
mcpServers
オブジェクトに以下を追加:{ "mcpServers": { "google-workspace": { "command": "node", "args": ["/path/to/google-workspace-server/build/index.js"], "env": { "GOOGLE_CLIENT_ID": "your_client_id", "GOOGLE_CLIENT_SECRET": "your_client_secret", "GOOGLE_REFRESH_TOKEN": "your_refresh_token" } } } }
- VSCode Claude 拡張機能:
-
ビルドと実行:
npm run build
-
デプロイ設定の追加 (.env):
deploy
スクリプトを使用するには.env
ファイルが必要です。cp .env.example .env
.env
に以下の環境変数を設定してください:SSH_USER=your_ssh_user SSH_HOST=your.ssh.host SSH_PATH=/your/deploy/path
npm scripts
コマンド | 説明 |
---|---|
npm run build | バンドルを作成し、実行可能権限を付与 |
npm run start | ローカルでビルド&実行 |
npm run clean | ビルド成果物を削除 |
npm run deploy | ビルド後、本番環境にファイルをデプロイ |
npm run logs | 本番環境のアプリケーションログをリアルタイムで表示 |
使用例
Gmail 操作
-
最近のメール一覧:
{ "maxResults": 5, "query": "is:unread" }
-
メール検索:
{ "query": "from:example@gmail.com has:attachment", "maxResults": 10 }
-
メール送信:
{ "to": "recipient@example.com", "subject": "Hello", "body": "Message content", "cc": "cc@example.com", "bcc": "bcc@example.com" }
-
メールラベルの変更:
{ "id": "message_id", "addLabels": ["UNREAD"], "removeLabels": ["INBOX"] }
カレンダー操作
-
予定一覧:
{ "maxResults": 10, "timeMin": "2024-01-01T00:00:00Z", "timeMax": "2024-12-31T23:59:59Z" }
-
予定作成:
{ "summary": "Team Meeting", "location": "Conference Room", "description": "Weekly sync-up", "start": "2024-01-24T10:00:00Z", "end": "2024-01-24T11:00:00Z", "attendees": ["colleague@example.com"] }
-
予定更新:
{ "eventId": "event_id", "summary": "Updated Meeting Title", "location": "Virtual", "start": "2024-01-24T11:00:00Z", "end": "2024-01-24T12:00:00Z" }
-
予定削除:
{ "eventId": "event_id" }
トラブルシューティング
-
認証の問題:
- 必要な OAuth スコープが付与されているか確認
- Client ID と Secret が正しいか確認
- リフレッシュトークンが有効か確認
-
API エラー:
- Google Cloud Console で API クォータと制限を確認
- プロジェクトで API が有効化されているか確認
- リクエストパラメータが正しい形式か確認
ライセンス
MIT