gsuite mcp
A Model Context Protocol server that provides tools for interacting with Gmail and Calendar APIs, enabling programmatic management of emails and calendar events.
A Model Context Protocol server that provides tools for interacting with Gmail and Calendar APIs, enabling programmatic management of emails and calendar events.
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
Display the refresh token in the console
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"
}
}
}
}
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"
}
Check if refresh token is valid
API Errors:
This project is licensed under the MIT License.