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
MCP server

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
All reasons and checks

markuspfundstein/mcp-gsuite

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/mcp-gsuite

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad 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 latest

MCP

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.

Editors’ pick

One MCP server for Gmail, Calendar, Drive, Docs, Sheets, Slides, Forms, Tasks, Contacts, Chat and Apps Script with OAuth 2.1

MCP serverBroad access3.4KRepository stars

A calendar MCP for Claude Desktop: the agent views, creates, updates and deletes Google Calendar events, recurring ones included

MCP serverBroad access59Repository stars

Yandex Calendar MCP server

Яндекс Календарь MCP для Claude

Russian stack

An MCP server for Yandex Calendar: view, create and delete events using an app password

MCP serverExtended access3Repository stars
Russian stack

A Yandex Calendar MCP server over CalDAV: reading the schedule, creating and editing events, invitations with real email delivery

MCP serverBroad access1Repository stars

MCP server for the macOS calendar: an agent creates, finds and edits events in natural language

MCP serverExtended access332Repository stars

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.

README badge

Report a problem

Foxx AIGSuite MCP
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.