GSuite MCP
mcp-gsuite
A Python MCP server for Gmail and Google Calendar: search and read emails, drafts and replies, events with attendees, several accounts at once
- 491 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- Reads emails and attachments and saves files to disk at a path the agent names
- Requests full mail access `https://mail.google.com/`, writes replies and sends them at once with `send: true`
- Creates and deletes calendar events and sends invitations to attendees
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/mcp-gsuiteDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Reads emails and attachments and saves files to disk at a path the agent names
- Requests full mail access `https://mail.google.com/`, writes replies and sends them at once with `send: true`
- Creates and deletes calendar events and sends invitations to attendees
This is third-party code. Review the repository files before installing.
What it does
The server starts over stdio and gives an agent 12 tools for Gmail and Google Calendar on behalf of your account. In Gmail the agent searches emails with a Gmail query (unread, from a sender, by dates, with attachments), reads one email or several by ID, creates and deletes drafts, replies to an email and saves attachments to a chosen folder. A reply is saved as a draft by default, and if the agent passes `send: true` the email goes out at once. In Calendar the agent lists calendars and events for a period, creates an event with a title, time, location, description, attendees, a time zone and a choice whether to send invitations, and deletes events. Accounts are described in an `.accounts.json` file with an address, a type and an `extra_info` field where you can leave a hint for the agent, such as this being the family calendar. Google access is set by the `.gauth.json` client file. On the first call for an account a browser opens, you sign in and approve the rights, and the server saves a token to a local file and refreshes it itself.
Who it is for. For people who handle email and plan meetings in Google and want an agent in Claude Desktop to draft replies, summarize emails and find free slots.
Good fit when
- You want a summary of unread emails or of everything from accounting over a period, with a digest of each
- You need to prepare a reply and leave it in drafts so you can check it before sending
- You need a two-hour meeting slot next week and an event with an invitation created right away
- Attachments from several emails should be collected into one folder on your computer
- You have work and personal accounts, and the agent should read both calendars knowing what each holds
Not a fit when
- You work with other Google services: the server does not touch Docs, Sheets or Drive, and google-docs-mcp covers those
- Your mail and calendar are at Yandex, not Google: the server works only with Gmail and Google Calendar
- You cannot create a Google Cloud project and enable the Gmail API: without your own OAuth client the server will not work
- Your Python is older than 3.13: the package requires version 3.13 or newer
- You cannot give an agent full mailbox access: the server asks for `https://mail.google.com/` with no narrower variants
Example request
Find this week's unread emails from accounting, summarize each one briefly and prepare a draft reply to the latestMCP
- Transport
- stdio
- Authentication
- OAuth
Limitations
The project is at version 0.4.1, and the repository's last change dates from April 14, 2025. MIT License.
You need a Google Cloud project with the Gmail API and Calendar API enabled, an OAuth consent screen and an OAuth client. The redirect address must be `http://localhost:4100/code`. The scopes requested are `openid`, `userinfo.email`, `https://mail.google.com/` (full mail access) and `calendar`.
The `.gauth.json` and `.accounts.json` files and the tokens sit in the working folder in plain form. The docs name the token `.oauth.{email}.json`, while the code names the file `.oauth2.` with the account ID. The paths are set by the `--gauth-file`, `--accounts-file` and `--credentials-dir` flags.
There is no email deletion, but there is deletion of drafts and calendar events with no trash in the tool itself.
Email and attachment text enters the conversation with the model. Saving attachments writes files to a path the agent names.
How to disable. Remove the `mcp-gsuite` block from `claude_desktop_config.json` and restart Claude Desktop. Then delete the `.oauth` token files and revoke the app's access on your Google account security page.
FAQ
How do I get Google access for the server?
In Google Cloud Console create a project, enable the Gmail API and Calendar API, set up the consent screen and create an OAuth client of type Desktop app or Web application. Add `http://localhost:4100/code` to the allowed redirect addresses and save the client data in `.gauth.json`.
What goes into .accounts.json?
An `accounts` list with `email`, `account_type` and `extra_info` fields. `extra_info` holds a hint for the agent, such as which calendar is the family one. There can be several accounts, but all must have access in your OAuth app.
What happens on the first call for an account?
A browser opens, you sign in to Google and approve the rights. After that the server saves the sign-in data to a local file and refreshes the token automatically.
Does the server send emails by itself?
Only if the agent calls `reply_gmail_email` with `send: true`. By default a reply is saved as a draft. The server does not send new emails, it only creates drafts.
How do I install through Smithery?
The `npx -y @smithery/cli install mcp-gsuite --client claude` command installs the server into Claude Desktop. You still need to set up OAuth and the `.gauth.json` and `.accounts.json` files by hand.
How do I debug the server?
Start MCP Inspector with `npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-gsuite run mcp-gsuite`. You can watch the Claude Desktop log with `tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-gsuite.log`.
Discussion
No questions or reviews yet.
Related
MCP serversOne MCP server for Gmail, Calendar, Drive, Docs, Sheets, Slides, Forms, Tasks, Contacts, Chat and Apps Script with OAuth 2.1
Google Docs MCP: Docs, Sheets, Drive, Gmail and Calendar
Google Docs MCP
An MCP server giving an agent Google Docs, Sheets, Drive, Gmail, Calendar and Apps Script: reading, editing, mail and events; sign-in over OAuth
Google Calendar MCP Server: calendar for Claude
Google Calendar MCP Server
A calendar MCP for Claude Desktop: the agent views, creates, updates and deletes Google Calendar events, recurring ones included
Yandex Calendar MCP server
Яндекс Календарь MCP для Claude
An MCP server for Yandex Calendar: view, create and delete events using an app password
Yandex Calendar MCP server over CalDAV
yandex-calendar-mcp
A Yandex Calendar MCP server over CalDAV: reading the schedule, creating and editing events, invitations with real email delivery
MCP server for the macOS calendar: an agent creates, finds and edits events in natural language
README in short
The repository lists Gmail and Calendar capabilities, sample requests to the agent and the setup steps: a Google Cloud project, the needed OAuth scopes, the `.gauth.json` and `.accounts.json` files. It gives Claude Desktop configs for running from source and from the published package, describes the path flags, building and publishing the package and debugging with MCP Inspector. Alongside are Gmail API and Calendar API specs in OpenAPI format, and `src/mcp_gsuite` holds the authorization, Gmail and Calendar modules.