MCP servers for Google products

Google products as MCP servers for your AI coding agent

Gmail, Google Drive, Google Calendar, Google Cloud, Search Console, Google Ads and 17 more, as Claude Code plugins. Installers for Codex, OpenCode and Antigravity.

Built and tested offline. Live testing with real Google accounts is next.

Plugins
23
Tools
3,541
Gateway APIs
391
Discovery methods catalogued
29,205

What you get

One plugin per product

23 plugins, one for each Google product. Install the ones you use, and turn each server on or off for a session with /mcp.

Safe by default

Reads never ask. Changes and deletions ask first, and write tools stay off until you allow them.

Full API surface

3,500+ tools, generated from Google's Discovery documents. Each method of a generated API is one tool.

Gateway for every API

The other APIs of each product, 391 in all, are reached through three tools: api_search, api_describe and api_call.

Login once per product group

One sign-in covers each login group. A login merges its scopes with the ones already stored; --replace drops them.

Four agents, one suite

Works in Claude Code, Codex, OpenCode and Antigravity. The installers write the server entries for the three other agents.

Products

One plugin per product. Counts come from the build and are split by safety class: read, write, destructive and dynamic. Each install command adds one plugin from the marketplace.

Cloud and AI (2)

Google Cloud

gcloud383 tools277 gateway APIs

Google Cloud console APIs: projects, service enablement, API keys, billing, monitoring, storage, BigQuery and IAM, plus the rest of the infrastructure, data, devops, networking, security and governance APIs.

  • 186 read
  • 145 write
  • 51 destructive
  • 1 dynamic
npx google-services-mcps install --agent claude --plugin gcloud

AI and ML

gai363 tools47 gateway APIs

Generative and classic AI APIs: Discovery Engine, Vertex AI, Dialogflow, Vision, Speech, Translate, Document AI and agent services.

  • 156 read
  • 149 write
  • 57 destructive
  • 1 dynamic
npx google-services-mcps install --agent claude --plugin gai

Search Console (1)

Search Console

gsc40 tools

Search Console sites, sitemaps, search analytics, URL indexing and site verification.

  • 18 read
  • 17 write
  • 5 destructive
  • 0 dynamic
npx google-services-mcps install --agent claude --plugin gsc

Public APIs (API key) (2)

Search and Web Quality

gsearch60 tools2 gateway APIs

Public search and web-quality APIs (Custom Search, PageSpeed, CrUX, Safe Browsing, Web Risk, Fact Check) that take an API key instead of OAuth. The Custom Search JSON API is closed to new customers and is scheduled to be discontinued on 2027-01-01.

  • 45 read
  • 11 write
  • 3 destructive
  • 1 dynamic
npx google-services-mcps install --agent claude --plugin gsearch

Maps and Location

gmaps45 tools

Maps Platform and location APIs: Places, Address Validation, Solar, Air Quality, Pollen, Street View Publish and related datasets.

  • 23 read
  • 19 write
  • 3 destructive
  • 0 dynamic
npx google-services-mcps install --agent claude --plugin gmaps

Workspace users (9)

Google Drive and Docs

gdrive194 tools2 gateway APIs

Google Drive files, labels and activity, plus Docs, Sheets, Slides, Forms and Books.

  • 90 read
  • 81 write
  • 22 destructive
  • 1 dynamic
npx google-services-mcps install --agent claude --plugin gdrive

Gmail

gmail106 tools2 gateway APIs

Gmail mailboxes, messages, labels and settings, plus Gmail Postmaster Tools.

  • 46 read
  • 41 write
  • 18 destructive
  • 1 dynamic
npx google-services-mcps install --agent claude --plugin gmail

Google Calendar

gcalendar55 tools

Google Calendar calendars, events and calendar settings.

  • 19 read
  • 29 write
  • 7 destructive
  • 0 dynamic
npx google-services-mcps install --agent claude --plugin gcalendar

Google Chat

gchat70 tools

Google Chat spaces, messages and members, plus Workspace Events subscriptions.

  • 31 read
  • 31 write
  • 8 destructive
  • 0 dynamic
npx google-services-mcps install --agent claude --plugin gchat

Google Meet

gmeet34 tools

Google Meet spaces, conference records, participants and recordings.

  • 21 read
  • 12 write
  • 1 destructive
  • 0 dynamic
npx google-services-mcps install --agent claude --plugin gmeet

Contacts and Profile

gcontacts72 tools2 gateway APIs

Google Contacts and People, personal health metrics, Data Portability, and the OAuth2 userinfo endpoints.

  • 35 read
  • 27 write
  • 9 destructive
  • 1 dynamic
npx google-services-mcps install --agent claude --plugin gcontacts

Tasks and Keep

gtasks31 tools

Google Tasks task lists and tasks, plus Google Keep notes.

  • 11 read
  • 15 write
  • 5 destructive
  • 0 dynamic
npx google-services-mcps install --agent claude --plugin gtasks

Google Classroom

gclassroom114 tools

Google Classroom courses, coursework, submissions, students and teachers.

  • 47 read
  • 49 write
  • 18 destructive
  • 0 dynamic
npx google-services-mcps install --agent claude --plugin gclassroom

Apps Script

gapps28 tools

Apps Script projects and execution, plus the Workspace Marketplace SDK.

  • 15 read
  • 11 write
  • 2 destructive
  • 0 dynamic
npx google-services-mcps install --agent claude --plugin gapps

Workspace admin (1)

Workspace Admin

gadmin375 tools4 gateway APIs

Google Workspace administration: Cloud Identity, Chrome management and policy, Groups Settings, licensing, reports, alerts, Vault, reseller and Cloud Search admin.

  • 156 read
  • 158 write
  • 60 destructive
  • 1 dynamic
npx google-services-mcps install --agent claude --plugin gadmin

Business and advertising (5)

Google Analytics

ganalytics79 tools1 gateway API

Google Analytics admin and data APIs for GA4 properties, configuration and reports.

  • 38 read
  • 30 write
  • 10 destructive
  • 1 dynamic
npx google-services-mcps install --agent claude --plugin ganalytics

Tag Manager

gtm119 tools1 gateway API

Google Tag Manager accounts, containers, tags, triggers and variables.

  • 44 read
  • 59 write
  • 15 destructive
  • 1 dynamic
npx google-services-mcps install --agent claude --plugin gtm

YouTube and Blogger

gyoutube134 tools

YouTube Data, YouTube Analytics and YouTube Reporting APIs, plus Blogger.

  • 59 read
  • 55 write
  • 20 destructive
  • 0 dynamic
npx google-services-mcps install --agent claude --plugin gyoutube

Business Profile

gbusiness61 tools

Business Profile accounts, locations, verifications, lodging, place actions, notifications and performance.

  • 32 read
  • 25 write
  • 4 destructive
  • 0 dynamic
npx google-services-mcps install --agent claude --plugin gbusiness

Ads and Publisher

gads339 tools25 gateway APIs

Google Ads API (accounts, campaigns, ad groups, ads, keywords, budgets, conversions, assets and GAQL reporting, with every other method through the gateway), plus advertising and publisher APIs: Search Ads 360, Display & Video 360, Campaign Manager, Ad Exchange, AdSense, AdMob, Real-time Bidding and more.

  • 99 read
  • 196 write
  • 20 destructive
  • 24 dynamic
npx google-services-mcps install --agent claude --plugin gads

Play and Merchant Center (2)

Merchant Center

gmerchant167 tools12 gateway APIs

Merchant Center: Merchant API, Comparison Shopping Service and Manufacturer Center.

  • 76 read
  • 70 write
  • 20 destructive
  • 1 dynamic
npx google-services-mcps install --agent claude --plugin gmerchant

Google Play

gplay362 tools7 gateway APIs

Google Play developer publishing and reporting, Play Games Services, Android Enterprise and Management, Play Integrity and device APIs.

  • 153 read
  • 166 write
  • 42 destructive
  • 1 dynamic
npx google-services-mcps install --agent claude --plugin gplay

Developer platforms (1)

Firebase

gfirebase310 tools9 gateway APIs

Firebase management, App Check, App Distribution, Crashlytics, Hosting, Data Connect, Rules, Test Lab, FCM and Identity Toolkit.

  • 138 read
  • 127 write
  • 44 destructive
  • 1 dynamic
npx google-services-mcps install --agent claude --plugin gfirebase

Install

One command installs the suite for an agent. The npm name is google-services-mcps; the old scoped name is deprecated. It checks what the agent needs first, declares the marketplace in the scope you choose, and records what it did. Nothing is written until the requirements are in place and you have confirmed.

Run it

  1. Install Gmail for Claude Code. No clone, no build and no global install. The first run downloads the package.

    npx google-services-mcps install --agent claude --plugin gmail
  2. Or use the guided menu. In a terminal, run the command with no arguments. The menu asks the questions, shows each command before it runs, and previews it first.

    npx google-services-mcps
  3. Sign in once per Google group. Create a Desktop OAuth client in the Google Cloud console, give its JSON file to gsm, then log in. Gmail uses the workspace-user group.

    npx google-services-mcps setup-client path/to/client_secret.json
    npx google-services-mcps login workspace-user
  4. Restart the agent and check that gmail is connected (in Claude Code, run /mcp).

What it does

  1. Checks the requirements of the agents you chose: Claude Code, Codex, OpenCode, and git when the marketplace comes from GitHub. A missing one stops the install, and the message names the command that installs it.

  2. Installs what is missing, if you ask (--install-missing, or yes in the menu). npm installs Claude Code, Codex and OpenCode. git comes from winget on Windows or Homebrew on macOS. On Linux, gsm shows the command, because git needs sudo.

  3. Claude Code: declares the google-services-mcps marketplace in the same scope as the plugin, then installs the plugin. A project install is shared when you commit .claude/settings.json.

  4. Codex, OpenCode and Antigravity: copies the server files to ~/.google-services-mcps/runtime/, and writes one entry per server into the agent's config file.

  5. Records the install, so list and uninstall know what gsm did. Uninstall removes only gsm's entries. Logins and tokens are never touched.

Options

OptionWhat it doesDefault
--agentclaude, codex, opencode, agy (Antigravity) or allrequired
--pluginone product (gmail), several (gmail,gcalendar), or all. Unknown ids are refusedrequired
--scopeglobal for your account, project for the folder (shared when committed), local for the folder only. folder means localglobal
--paththe folder for project and local; it must existthe current folder
--allow-writesallows the write tools (create, change, delete, send). Each change still asksoff
--confirmationevery-change, destructive-only or off: when gsm asks before a changeevery-change
--install-missinginstalls the requirements gsm can install, then checks againoff
--dry-runprints every change and command, and writes nothingoff
--marketplaceClaude Code only: owner/repo, a URL or a folderGitHub, or the clone folder when it is a git clone
--serverskeeps only these servers of the productsall

Uninstall takes the same --agent, --plugin, --scope, --path and --dry-run, and uninstall --all --yes removes every install gsm recorded. list shows them.

Scopes

Agentglobal (default)projectlocal
Claude Code~/.claude/settings.json, every project.claude/settings.json in the folder (commit it to share).claude/settings.local.json (not shared)
Codex~/.codex/config.toml.codex/config.toml in the folder (trusted projects only)the same as project
OpenCode~/.config/opencode/opencode.jsonopencode.json in the folderthe same as project
Antigravity~/.gemini/config/mcp_config.jsonnot supportednot supported

For Claude Code, the marketplace and the plugin are declared in the same scope. A project install writes both into the folder's .claude/settings.json, so a teammate who clones the project gets both. An install from npm or a one-line installer records GitHub, which is safe to commit.

Other ways to run it

One line, no npm (Windows PowerShell, Command Prompt, Linux, macOS, WSL)

Each line downloads the repository into google-services-mcps in your home folder and runs the installer there. It needs Node.js 20 or newer and nothing else. The download folder is replaced on each run; logins are not affected.

& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/FiredMosquito831/google-services-mcps/main/scripts/install.ps1"))) install --agent claude --plugin gmail
curl -fsSL -o "%TEMP%\install-gsm.cmd" https://raw.githubusercontent.com/FiredMosquito831/google-services-mcps/main/scripts/install.cmd && "%TEMP%\install-gsm.cmd" install --agent claude --plugin gmail
curl -fsSL "https://raw.githubusercontent.com/FiredMosquito831/google-services-mcps/main/scripts/install.sh" | sh -s -- install --agent claude --plugin gmail
Global install (the command becomes google-services-mcps)
npm install -g google-services-mcps
google-services-mcps install --agent claude --plugin gmail
gsm
Older form: from a clone (node gsm.mjs)

Before the npm package, the installer ran from a clone of the repository. It still works with the same commands and options, and it is the way to work on the code.

git clone https://github.com/FiredMosquito831/google-services-mcps
cd google-services-mcps
node gsm.mjs install --agent claude --plugin gmail
node gsm.mjs setup-client path/to/client_secret.json
node gsm.mjs login workspace-user

From a clone, the Claude Code marketplace is the clone folder. Add --marketplace FiredMosquito831/google-services-mcps to record GitHub instead.

The menu, --install-missing and the scope fixes need version 0.1.3 or later of the npm package. The full guide is in docs/TUTORIAL.md, and every option is in docs/INSTALL.md.

Login groups

  • Cloud and AI (cloud): gcloud, gai. Desktop OAuth client, then login cloud.
  • Search Console (searchconsole): gsc. Desktop OAuth client, then login searchconsole.
  • Public APIs (API key) (apikey): gsearch, gmaps. API key, then setup-apikey (no login).
  • Workspace users (workspace-user): gdrive, gmail, gcalendar, gchat, gmeet, gcontacts, gtasks, gclassroom, gapps. Desktop OAuth client, then login workspace-user.
  • Workspace admin (workspace-admin): gadmin. Service account with domain-wide delegation, then setup-admin.
  • Business and advertising (business): ganalytics, gtm, gyoutube, gbusiness, gads. Desktop OAuth client, then login business.
  • Play and Merchant Center (service-account): gmerchant, gplay. Service account key, then setup-service-account (no login).
  • Developer platforms (developer): gfirebase. Desktop OAuth client, then login developer.

Safety

Six layers, checked in order. A failing layer does not let an action through.

  1. Token scopes. Google enforces them. A read-only login cannot write, whatever the plugin shows.
  2. Tool registration. A tool is listed only if the stored token can run it. Write and destructive tools need Allow write tools.
  3. Approval gate. Each change and delete asks first. The hook only asks or denies, and never allows. A delete, send or disable asks twice.
  4. Confirmation setting. every-change (default), destructive-only or off. Deny rules apply in every mode.
  5. Policy file. A matching deny always wins, then a matching ask, then a matching allow.
  6. Audit log. One line per gated action, holding a hash of the arguments. The arguments are never written.

Read the security model and its known limits before you turn on write tools.

Limits and costs

The suite is free. Google's APIs have quotas, some have costs, some need approval.

  • The servers add no charge of their own. Each call goes from your machine to Google, with your own OAuth client, API key or service account, so Google's rules apply to every call.
  • Quotas belong to a Google Cloud project or to an account. Check the Quotas page in the console before you rely on a number.
  • Rate-limit and unavailable responses are retried, up to three attempts in total. A quota that is used up does not clear by retrying.
  • Some APIs are closed or being retired. The Custom Search JSON API is reported closed to new customers.

Limits, quotas and approvals for every product

Questions

Does it cost money?

The suite is free, and the servers add no charge of their own. Google's quotas, charges and approval rules still apply to every call. Each installed product also adds tool definitions to your Claude sessions, so install only what you use. See limits and costs.

Which accounts do I need?

Most products need a Google Cloud project with a Desktop OAuth client, and a Google account that can use the product. For a Workspace domain, use an Internal consent screen. A personal account needs an External consent screen that you publish, because an app left in testing loses its refresh token after 7 days. The workspace admin plugin needs a super admin email and a service account with domain-wide delegation. The search and web-quality plugin needs an API key, not a sign-in.

Is my data sent elsewhere?

Not to this project. The suite has no server of its own. Each call goes from your machine straight to Google. Tokens, the OAuth client file and the audit log stay in your token directory, ~/.google-services-mcps. The results you get back go to your AI agent, and from there to its model provider, like any tool output.

Does it work with Codex?

Yes. The installer writes the server entries for Codex, OpenCode and Antigravity into each agent's own config file, and a dry run shows every change first. Those agents have no approval hook in this suite, so their approval behaviour is not yet verified in a live session. A client that cannot ask for approval gets an error for each change and delete, and the action does not run.

Why do I see approval prompts?

Changes and deletions ask first on purpose. Reads never ask. In Claude Code the prompt is labelled with the plugin, for example [plugin:gmail]. A delete, send or disable also shows an Approve this action? form, so it asks twice. You can change this with the Confirm before changes setting (every-change, destructive-only or off) and with rules in policy.json. A deny rule applies in every mode.

How do I remove everything?

Log out of each login group with gsm logout <group>. Uninstall each plugin with claude plugin uninstall <id>@google-services-mcps --scope user, then remove the marketplace with claude plugin marketplace remove google-services-mcps. Delete the token directory ~/.google-services-mcps by hand, and keep audit.log if you need the record. Logging out does not revoke access at Google, so revoke it at myaccount.google.com/permissions, and delete the OAuth client in the Google Cloud console if you no longer need it.