gsuite
Provides tools for managing Gmail messages, including listing, reading, sending, creating drafts, permanently deleting, modifying labels, and searching emails.
Provides tools for managing files in Google Drive, including listing, reading metadata, updating, permanently deleting, searching, creating, and sharing files.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gsuite show my upcoming calendar events for today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gsuite-mcp
Comprehensive Google Workspace MCP server with Gmail, Drive, Calendar, and Contacts integration
npm: https://www.npmjs.com/package/@west10tech/gsuite-mcp
This MCP server includes the following integrations:
Available Tools
This MCP server provides 26 tools across 4 integrations:
GoogleGmail Tools
google-gmail_list_messages: List messages in user's mailbox with optional filtering
google-gmail_get_message: Get a specific message by ID
google-gmail_send_message: Send an email message. Requires message in RFC 2822 format encoded as base64url string
google-gmail_create_draft: Create a new draft message. IMPORTANT: Message must be an object with 'raw' field containing base64url-encoded RFC 2822 formatted message.
google-gmail_delete_message: PERMANENTLY delete a message - IMMEDIATE and IRREVERSIBLE. WARNING: Use trash_message instead for normal email deletion. Only use this for sensitive data that must be immediately destroyed. Bypasses trash completely. REQUIRES https://mail.google.com/ scope. Returns 204 No Content with empty body on success.
google-gmail_modify_message: Modify labels on a message (add/remove labels, mark read/unread)
google-gmail_search_messages: search_messages endpoint for google-gmail
GoogleDrive Tools
google-drive_list_files: List files in Google Drive with optional search query and filtering
google-drive_get_file: Get file metadata by ID
google-drive_update_file: Update file metadata
google-drive_delete_file: Permanently delete a file. Returns 204 No Content with empty body on success.
google-drive_search_files: Advanced file search with complex query syntax
google-drive_create_file: create_file endpoint for google-drive
google-drive_share_file: share_file endpoint for google-drive
GoogleCalendar Tools
google-calendar_list_events: Returns events on the specified calendar
google-calendar_get_event: Returns an event
google-calendar_create_event: Creates an event
google-calendar_update_event: Updates an event
google-calendar_delete_event: Deletes an event. Returns 204 No Content with empty body on success.
google-calendar_list_calendars: Returns the calendars on the user's calendar list
GoogleContacts Tools
google-contacts_create_contact: Create a new contact with specified fields
google-contacts_update_contact: Update an existing contact. IMPORTANT: Include the 'etag' field in the request body to prevent conflicts. Get the current etag by first calling get_contact or from a previous create/update response.
google-contacts_delete_contact: Delete a contact permanently
google-contacts_search_contacts: Search across all contacts with text query
google-contacts_list_contacts: list_contacts endpoint for google-contacts
google-contacts_get_contact: get_contact endpoint for google-contacts
Related MCP server: Google Workspace MCP Server
Installation
npm install @west10tech/gsuite-mcpEnvironment Setup
Create a .env file with the following variables:
GOOGLE_CLIENT_ID=your_google_client_id_here
GOOGLE_CLIENT_SECRET=your_google_client_secret_here
GOOGLE_OAUTH_CREDENTIALS=your_google_oauth_credentials_here
GOOGLE_REDIRECT_URI=your_google_redirect_uri_hereUsage
Running the server
# Development mode
npm run dev
# Production mode
npm run build && npm startUsing with Claude Desktop
Add this to your Claude Desktop configuration:
{
"mcpServers": {
"gsuite": {
"command": "npx",
"args": ["@west10tech/gsuite-mcp"],
"env": {
"GOOGLE_CLIENT_ID": "your_google_client_id_here",
"GOOGLE_CLIENT_SECRET": "your_google_client_secret_here",
"GOOGLE_OAUTH_CREDENTIALS": "your_google_oauth_credentials_here",
"GOOGLE_REDIRECT_URI": "your_google_redirect_uri_here"
}
}
}
}Instructions for Fetching API Keys/Tokens
COMING SOON
Advanced Features
Request Cancellation
This MCP server supports request cancellation according to the MCP cancellation specification. Clients can cancel in-progress requests by sending a notifications/cancelled message with the request ID.
When a request is cancelled:
The server immediately stops processing the request
Any ongoing API calls are aborted
Resources are cleaned up
No response is sent for the cancelled request
Progress Notifications
The server supports progress notifications for long-running operations according to the MCP progress specification.
To receive progress updates:
Include a
progressTokenin your request metadataThe server will send
notifications/progressmessages with:Current progress value
Total value (when known)
Human-readable status messages
Progress is reported for:
Multi-step operations
Batch processing
Long-running API calls
File uploads/downloads
Example progress notification:
{
"method": "notifications/progress",
"params": {
"progressToken": "operation-123",
"progress": 45,
"total": 100,
"message": "Processing item 45 of 100..."
}
}Available Tools
26 toolsgoogle-calendar_create_eventC
Creates an event
Inputs: end (required), start (required), summary (required), calendarId (required), +7 more.
google-calendar_delete_eventA
Deletes an event. Returns 204 No Content with empty body on success.
Inputs: eventId (required), calendarId (required), sendUpdates, sendNotifications.
google-calendar_get_eventC
Returns an event
Inputs: eventId (required), calendarId (required), timeZone.
google-calendar_list_calendarsB
Returns the calendars on the user's calendar list
Inputs: pageToken, maxResults, showHidden, showDeleted, +1 more.
google-calendar_list_eventsC
Returns events on the specified calendar
Inputs: calendarId (required), q, orderBy, timeMax, +6 more.
google-calendar_update_eventC
Updates an event
Inputs: end (required), start (required), eventId (required), calendarId (required), +6 more.
google-contacts_create_contactB
Create a new contact with specified fields
Inputs: personFields (required), urls, names, sources, +6 more.
google-contacts_delete_contactB
Delete a contact permanently
Inputs: resourceName (required).
google-contacts_get_contactC
get_contact endpoint for google-contacts
Inputs: no named parameters.
google-contacts_list_contactsC
list_contacts endpoint for google-contacts
Inputs: no named parameters.
google-contacts_search_contactsA
Search across all contacts with text query
Inputs: query (required), sources, pageSize, readMask.
google-contacts_update_contactA
Update an existing contact. IMPORTANT: Include the 'etag' field in the request body to prevent conflicts. Get the current etag by first calling get_contact or from a previous create/update response.
Inputs: etag (required), updatePersonFields (required), person.resourceName (required), urls, +9 more.
google-drive_create_fileD
create_file endpoint for google-drive
Inputs: no named parameters.
google-drive_delete_fileA
Permanently delete a file. Returns 204 No Content with empty body on success.
Inputs: fileId (required), supportsAllDrives.
google-drive_get_fileC
Get file metadata by ID
Inputs: fileId (required), fields, acknowledgeAbuse, supportsAllDrives.
google-drive_list_filesC
List files in Google Drive with optional search query and filtering
Inputs: q, fields, spaces, corpora, +8 more.
google-drive_search_filesB
Advanced file search with complex query syntax
Inputs: q (required), fields, orderBy, pageSize, +3 more.
google-drive_update_fileC
Update file metadata
Inputs: fileId (required), name, fields, parents, +4 more.
google-gmail_create_draftB
Create a new draft message. IMPORTANT: Message must be an object with 'raw' field containing base64url-encoded RFC 2822 formatted message.
Inputs: message (required), userId.
google-gmail_delete_messageA
PERMANENTLY delete a message - IMMEDIATE and IRREVERSIBLE. WARNING: Use trash_message instead for normal email deletion. Only use this for sensitive data that must be immediately destroyed. Bypasses trash completely. REQUIRES https://mail.google.com/ scope. Returns 204 No Content with empty body on success.
Inputs: id (required), userId.
google-gmail_get_messageB
Get a specific message by ID
Inputs: id (required), format, userId, metadataHeaders.
google-gmail_list_messagesC
List messages in user's mailbox with optional filtering
Inputs: q, userId, labelIds, pageToken, +2 more.
google-gmail_modify_messageB
Modify labels on a message (add/remove labels, mark read/unread)
Inputs: id (required), userId, addLabelIds, removeLabelIds.
google-gmail_search_messagesD
search_messages endpoint for google-gmail
Inputs: no named parameters.
google-gmail_send_messageB
Send an email message. Requires message in RFC 2822 format encoded as base64url string
Inputs: raw (required), userId.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 26 tools
Each tool targets a distinct action within its service (e.g., create, delete, get, list, update, search), and the service prefix clearly groups them. There is no ambiguity between tools like list and search because their descriptions specify different use cases.
All tool names follow a consistent pattern: service-toolname_verb_noun (e.g., google-calendar_create_event). Naming is fully uniform with underscores and no mixed conventions.
With 26 tools spanning four Google services, the count is on the higher side but still reasonable. Each service has a well-scoped set of operations (6–8 tools), and no tool feels redundant.
Calendar, Contacts, and Gmail cover CRUD operations plus search/list; Drive adds sharing. Minor gaps exist (e.g., no calendar update, no trash for Gmail), but these do not significantly impair common workflows.
Maintenance
Related MCP Connectors
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Hosted Google Business Profile MCP server: reviews, posts, profile edits, Maps rank. OAuth sign-in.
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
Related MCP Servers
- AlicenseBqualityBmaintenanceGoogle Workspace MCP Server11972,429 PyPI3,493PythonMIT
- AlicenseNot gradedqualityDmaintenanceComprehensive MCP server for Google Workspace with 95+ tools to manage Docs, Sheets, Drive, Gmail, Calendar, Slides, and Forms.1,551 npm3MIT
- 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
- AlicenseAqualityBmaintenanceMCP server integrating multiple Google Workspace services including Gmail, Calendar, Drive, Sheets, Docs, Tasks, People, Forms, and Slides, enabling users to manage emails, events, files, documents, and more through natural language.15MIT