This server provides a secure way to manage Gmail and Google Calendar activities programmatically, with no calendar deletion capabilities.
Gmail Tools:
List recent emails with optional filtering
Search emails using advanced Gmail query syntax
Send new emails with CC and BCC support
Modify email labels (archive, trash, mark read/unread)
Calendar Tools:
List upcoming calendar events with date range filtering
Create new calendar events with attendees
Suggest available meeting slots within the next 30 days
Provides tools for listing, searching, sending, and modifying emails with support for filtering, Gmail query syntax, and label management.
Enables listing upcoming calendar events with date filtering and creating new calendar events with attendees (note: update and delete functionality has been removed for security reasons).
Google Workspace MCP Server
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.
Features
Gmail Tools
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)
Calendar Tools
list_events
: List upcoming calendar events with date range filteringcreate_event
: Create new calendar events with attendeesThe events below were removed from this server for security measures since Google Cloud Calendar API does not have a scope that allows creation but prevents deletion or updates.
update_event
: Update existing calendar eventsdelete_event
: Delete calendar events
Prerequisites
Node.js: Install Node.js version 14 or higher
Google Cloud Console Setup:
Go to Google Cloud Console
Create a new project or select an existing one
Enable the Gmail API and Google Calendar API:
Go to "APIs & Services" > "Library"
Search for and enable "Gmail API"
Search for and enable "Google Calendar API"
Set up OAuth 2.0 credentials:
Go to "APIs & Services" > "Credentials"
Click "Create Credentials" > "OAuth client ID"
Choose "Web application"
Set "Authorized redirect URIs" to include:
http://localhost:4100/code
Note down the Client ID and Client Secret
Setup Instructions
Installing via Smithery
To install Google Workspace Server - No Calendar Deletion for Claude Desktop automatically via Smithery:
Installing Manually
Clone and Install:
git clone https://github.com/epaproditus/google-workspace-mcp-server.git cd google-workspace-mcp-server npm installCreate 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.jsThis will:
Open your browser for Google OAuth authentication
Request the following permissions:
https://www.googleapis.com/auth/gmail.modify
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/gmail.send
Save the credentials to
token.json
Display the refresh token in the console
Configure MCP Settings: Add the server configuration to your MCP settings file:
For VSCode Claude extension:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
For Claude desktop app:
~/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
Usage Examples
Gmail Operations
List Recent Emails:
{ "maxResults": 5, "query": "is:unread" }Search Emails:
{ "query": "from:example@gmail.com has:attachment", "maxResults": 10 }Send Email:
{ "to": "recipient@example.com", "subject": "Hello", "body": "Message content", "cc": "cc@example.com", "bcc": "bcc@example.com" }Modify Email:
{ "id": "message_id", "addLabels": ["UNREAD"], "removeLabels": ["INBOX"] }
Calendar Operations
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": ["colleague@example.com"] }
3. Update Event:
4. Delete Event:
Troubleshooting
Authentication Issues:
Ensure all required OAuth scopes are granted
Verify client ID and secret are correct
Check if refresh token is valid
API Errors:
Check Google Cloud Console for API quotas and limits
Ensure APIs are enabled for your project
Verify request parameters match the required format
License
This project is licensed under the MIT License.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Forked from https://github.com/epaproditus/google-workspace-mcp-server The deletion and updates on Google Calendar were removed since there were no scope to prevent deletion whilst maintaining creation capabilities.
Related Resources
Related MCP Servers
- -securityAlicense-qualityLets LLMs read and manage Google Calendar events.Last updated -582657MIT License
- AsecurityAlicenseAqualityProvides tools for interacting with Gmail and Calendar APIs. This server enables you to manage your emails and calendar events programmatically through the MCP interface.Last updated -26MIT License
- -securityAlicense-qualityEnables comprehensive calendar management with capabilities to create, list, update, and delete events through a Model Context Protocol server integrated with Google Calendar.Last updated -143MIT License
- -securityAlicense-qualityEnables interaction with Gmail and Google Calendar using the MCP protocol, supporting multiple Google accounts, email management, and calendar operations through natural language.Last updated -13MIT License