Google Workspace
STDIOMCP server for interacting with Gmail and Calendar APIs through MCP interface.
MCP server for interacting with Gmail and Calendar APIs through MCP interface.
A Model Context Protocol (MCP) server that provides tools for interacting with Gmail and Calendar APIs. This server enables you to manage your emails and calendar events programmatically through the MCP interface.
list_emails
: List recent emails from your inbox with optional filteringsearch_emails
: Advanced email search with Gmail query syntaxsend_email
: Send new emails with support for CC and BCCmodify_email
: Modify email labels (archive, trash, mark read/unread)list_events
: List upcoming calendar events with date range filteringcreate_event
: Create new calendar events with attendeesupdate_event
: Update existing calendar eventsdelete_event
: Delete calendar eventshttp://localhost:4100/code
To install gsuite-mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @rishipradeep-think41/gsuite-mcp --client claude
Clone and Install:
git clone https://github.com/epaproditus/google-workspace-mcp-server.git cd google-workspace-mcp-server npm install
Create OAuth Credentials:
Create a credentials.json
file in the root directory:
{ "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" } }
Get Refresh Token:
node get-refresh-token.js
This will:
https://www.googleapis.com/auth/gmail.modify
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/gmail.send
token.json
Configure MCP Settings: Add the server configuration to your MCP settings file:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
~/Library/Application Support/Claude/claude_desktop_config.json
Add this to the mcpServers
object:
{ "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" } } } }
Build and Run:
npm run build
List Recent Emails:
{ "maxResults": 5, "query": "is:unread" }
Search Emails:
{ "query": "from:[email protected] has:attachment", "maxResults": 10 }
Send Email:
{ "to": "[email protected]", "subject": "Hello", "body": "Message content", "cc": "[email protected]", "bcc": "[email protected]" }
Modify Email:
{ "id": "message_id", "addLabels": ["UNREAD"], "removeLabels": ["INBOX"] }
List Events:
{ "maxResults": 10, "timeMin": "2024-01-01T00:00:00Z", "timeMax": "2024-12-31T23:59:59Z" }
Create Event:
{ "summary": "Team Meeting", "location": "Conference Room", "description": "Weekly sync-up", "start": "2024-01-24T10:00:00Z", "end": "2024-01-24T11:00:00Z", "attendees": ["[email protected]"] }
Update Event:
{ "eventId": "event_id", "summary": "Updated Meeting Title", "location": "Virtual", "start": "2024-01-24T11:00:00Z", "end": "2024-01-24T12:00:00Z" }
Delete Event:
{ "eventId": "event_id" }
Authentication Issues:
API Errors:
This project is licensed under the MIT License.