Google Workspace MCP Server
Yulikepython
README
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
Recommended Servers
contentful-mcp
Update, create, delete content, content-models and assets in your Contentful Space

Supabase MCP Server
A Model Context Protocol (MCP) server that provides programmatic access to the Supabase Management API. This server allows AI models and other clients to manage Supabase projects and organizations through a standardized interface.

Azure MCP Server
Enables natural language interaction with Azure services through Claude Desktop, supporting resource management, subscription handling, and tenant selection with secure authentication.

SettleMint
Leverage SettleMint's Model Context Protocol server to seamlessly interact with enterprise blockchain infrastructure. Build, deploy, and manage smart contracts through AI-powered assistants, streamlining your blockchain development workflow for maximum efficiency.

Brev
Run, build, train, and deploy ML models on the cloud.

Story SDK MCP Server
This server provides MCP (Model Context Protocol) tools for interacting with Story's Python SDK. Features Get license terms Mint and register IP Asset with PIL Terms Mint license tokens Send $IP to a wallet Upload image to ipfs via Pinata [External] Upload ip and nft metadata via Pinata [External]

Tembo MCP Server
An MCP server that enables Claude to interact with Tembo Cloud platform API, allowing users to manage Tembo Cloud resources through natural language.

Workers MCP
A package that connects Claude Desktop and other MCP clients to Cloudflare Workers, enabling custom functionality to be accessed via natural language through the Model Context Protocol.

Appwrite MCP Server
A Model Context Protocol server that allows AI assistants to interact with Appwrite's API, providing tools to manage databases, users, functions, teams, and other resources within Appwrite projects.
MCP2Lambda
Enables AI models to interact with AWS Lambda functions via the MCP protocol, allowing access to private resources, real-time data, and custom computation in a secure environment.