PlugWiki
Google Services MCP logo

Google Services MCP Server by Nabheet: Setup for Claude, Cursor and Other Apps

CommunityLocal
Getnpmgoogle-services-mcpnabheet/google-services-mcp

Lets Claude, Cursor and other assistants read and send email, manage your calendar and edit Drive, Docs and Sheets in your own Google account.

This is an independent server by Nabheet S. Sandhu, not made by Google. It runs on your computer and covers Gmail, Calendar, Meet, Drive, Contacts, Tasks, Sheets, Docs, Slides, YouTube and Forms. Before first use you create your own Google Cloud OAuth client, then sign in with each Google account in your browser. Once connected, the assistant can send email and delete files as you, and there is no read-only mode.

Good for

  • People who want an assistant to triage Gmail and draft replies
  • Anyone who wants calendar events and Meet links created from a chat
  • Teams filling Docs, Sheets and Slides templates from an assistant
  • People with several Google accounts who want one server for all of them

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install Google Services MCP

Claude Code

  1. 1

    Copy this prompt.

    Add the Google Services MCP server to Claude Code. Run this command:
    
    claude mcp add google-services -e GOOGLE_MCP_CLIENT_ID=<GOOGLE_MCP_CLIENT_ID> -e GOOGLE_MCP_CLIENT_SECRET=<GOOGLE_MCP_CLIENT_SECRET> -- npx -y google-services-mcp
    
    Ask me for GOOGLE_MCP_CLIENT_ID, GOOGLE_MCP_CLIENT_SECRET and only put the values in that config, nowhere else.
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Node.js 24+, Google Cloud OAuth client (Desktop app).

Read-only mode: There is no read-only mode. The server can send email and delete files.

Needs Node.js 24 or newer. Before first use, create your own Google Cloud OAuth client (Desktop app, redirect http://localhost:8787) and enable the Google APIs, then replace the two placeholders with its client ID and secret. After the server is added, sign in with each Google account: ask the assistant to connect an account, or run the add command with a nickname in a terminal.

Built from the package data we hold. Not yet tested by us.

Tools

  • Lists recent emails, optionally filtered by a Gmail search

    Returns your newest messages first, and you can pass the same search syntax you type in Gmail, such as from:, is:unread or a date range.

    Try: “Show unread emails from the last two days”

    Read · google_gmail_list

  • Opens one email with its sender, subject, body and attachment flags

    Fetches a single message by its id and returns the headers, the readable body and whether it has attachments.

    Try: “Read the email from my landlord about the lease”

    Read · google_gmail_get

  • Lists email conversations instead of single messages

    Returns conversation threads, newest first, with the same optional Gmail search query as the message list.

    Try: “List my open threads with the Acme team”

    Read · google_gmail_threads_list

  • Reads a whole email conversation in order

    Returns every message in one thread, each with its headers, body and attachment details.

    Try: “Summarize the full thread about the Q3 budget”

    Read · google_gmail_threads_get

  • Sends an email from your account

    Composes and sends a message right away to the recipients you name, optionally with attachments read from local file paths.

    Try: “Email sam@example.com that I will be 10 minutes late”

    Write · google_gmail_send

  • Replies to an email inside its conversation

    Sends a reply that stays in the original thread by keeping the threading headers, so it shows up under the same conversation for the recipient.

    Try: “Reply to Priya's last email and say Thursday works”

    Write · google_gmail_reply

  • Adds or removes labels to mark, star or archive an email

    Changes the labels on a message. That is how you mark it read or unread, star it, or archive it out of the inbox.

    Try: “Archive all the newsletters I just read”

    Write · google_gmail_modify

  • Lists the files attached to an email

    Returns the names, types and ids of a message's attachments without downloading the files.

    Try: “What files are attached to the invoice email?”

    Read · google_gmail_list_attachments

  • Downloads an email attachment

    Returns a text attachment as text and a binary one encoded, or saves it to a local folder when you give a save path. Saving is limited to your Downloads folder unless you change the save root.

    Try: “Save the PDF from that invoice email to Downloads”

    Files · google_gmail_get_attachment

  • Creates a draft email without sending it

    Saves a new draft with recipients, subject, body and optional attachments so you can review it in Gmail before sending.

    Try: “Draft a polite follow-up to the vendor but do not send it”

    Write · google_gmail_drafts_create

  • Rewrites an existing draft

    Replaces the recipients, subject, body or attachments of a draft that already exists.

    Try: “Change the draft to the vendor so it mentions the new date”

    Write · google_gmail_drafts_update

  • Lists your saved drafts

    Returns the drafts in your account so you can pick one to read, edit or send.

    Try: “What drafts do I have waiting?”

    Read · google_gmail_drafts_list

Read from the source code

Permissions

high risk · 8 things to watch

High risk

The assistant can send email, share files and permanently delete mail, files, forms and calendars from every Google account you connect. Our advice: approve tool calls by hand, try a test account first, and ask for trash instead of delete.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • It can send email and share files as you

    Sending tools (gmail_send, gmail_reply, gmail_drafts_send) and drive_share, which can open a file to anyone with the link, act immediately under your name. Our advice: try a test account first and review drafts before the assistant sends. github.com

  • It can permanently delete mail, files and more

    gmail_delete, drive_delete, forms_delete, calendar_delete, sheets_delete_sheet and similar tools cannot be undone. Trash tools exist for mail and Drive, so ask the assistant to use those (our advice). github.com

  • Raw edit tools can remove content too

    sheets_batch_update, docs_batch_update and slides_batch_update pass raw requests straight to Google, and those can delete tabs, text and slides. Treat them as delete-capable. github.com

  • One sign-in grants access to all 11 services

    The consent screen asks for Gmail, Drive, Calendar, Contacts, Tasks, Sheets, Docs, Slides, YouTube and Forms together. Revoke access any time on your Google Account permissions page. github.com

  • Emails and documents it reads are untrusted text

    Our advice: a message or shared doc can contain instructions aimed at the assistant, and this server can then send, share or delete. Approve write and delete calls by hand instead of auto-approving them. github.com

  • Attach and upload tools read local files

    Gmail attachments, Drive upload and update, and YouTube upload read any local path the assistant passes. Saving downloads is limited to your Downloads folder unless you set GOOGLE_MCP_SAVE_ROOT. github.com

  • Client secret sits in your client config

    The README puts the OAuth client secret in the client's env block, in plain text. Keep that file private and rotate the secret in Google Cloud Console if it leaks. github.com

  • Installs can pull preview builds

    The beta tag points to unmerged pull request builds, and every merge to main publishes a new stable patch. Pin an exact version in your config, as the README advises. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyNo read-only mode or per-service switch is documented. One sign-in requests the full set of scopes for all 11 services.
Talks toGoogle APIs, for the accounts you connect
Sign-in and keysYou supply your own Google OAuth client ID and secret. Account tokens are saved under ~/.google-services-mcp/accounts with restricted file permissions.
Data retentionThe privacy policy says nothing is sent anywhere except to Google through the APIs you authorize.
Scopes
  • gmail.modify

  • calendar

  • drive

  • contacts

  • tasks

  • spreadsheets

  • documents

  • presentations

  • youtube

  • youtube.force-ssl

  • forms

  • userinfo.email

Questions

Is it official?

No. It is an independent project by Nabheet S. Sandhu (MIT license), and its privacy policy says it is not affiliated with or endorsed by Google.

Is it free?

Yes. The server is MIT licensed and free to use. You do need your own Google Cloud project with an OAuth client, which the README says takes about 10 minutes to set up.

What do I need to set up before it works?

Node.js 24 or newer and a Google Cloud project. In it, turn on the 10 Google APIs, set up the consent screen as External and add yourself as a test user. Then create an OAuth client of type Desktop app with the redirect http://localhost:8787.

Which Google services does it cover?

Gmail, Calendar, Meet, Drive, Contacts, Tasks, Sheets, Docs, Slides, YouTube and Forms. Every tool name starts with google_.

Can it use more than one Google account?

Yes. You add each account under a nickname such as personal or work, set a default, and the assistant can pass an account name to any tool.

Can it delete things or send email?

Yes. It can send email, share files, and permanently delete mail, Drive files, calendars, forms and contacts. There is no read-only mode.

Why does it say "Google hasn't verified this app"?

That is normal for your own OAuth client in personal use. The README says to click Advanced, then Continue.

Why did it stop working after about a week?

Your Google Cloud app is probably still in Testing mode, where tokens last about 7 days. Re-run the add command for the account, or publish the app.

Does it work in ChatGPT or Claude on the web?

No. It runs on your computer over stdio, so it works in apps that start local servers, such as Claude Desktop, Claude Code, Cursor and Codex.

Where are my tokens stored?

In ~/.google-services-mcp/accounts/ with restricted permissions, or in the folder set by GOOGLE_MCP_DIR. Removing an account deletes its stored tokens.

Information

updated Nov 2, 2026

Publisher
Community
Package
google-services-mcp
Registry
npm
Transport
stdio
Auth
OAuth
Version
0.1.97
License
MIT
Last commit
Oct 31, 2026
Open issues
0

GitHubnpmChangelogIssues

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 7
  1. github.com · github.com
  2. github.com · github.com
  3. github.com · github.com
  4. github.com · github.com
  5. github.com · github.com
  6. github.com · github.com
  7. github.com · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.