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.
MCP servers for Google products
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.
23 plugins, one for each Google product. Install the ones you use, and turn each server on or off for a session with /mcp.
Reads never ask. Changes and deletions ask first, and write tools stay off until you allow them.
3,500+ tools, generated from Google's Discovery documents. Each method of a generated API is one tool.
The other APIs of each product, 391 in all, are reached through three tools: api_search, api_describe and api_call.
One sign-in covers each login group. A login merges its scopes with the ones already stored; --replace drops them.
Works in Claude Code, Codex, OpenCode and Antigravity. The installers write the server entries for the three other agents.
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.
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.
npx google-services-mcps install --agent claude --plugin gcloudGenerative and classic AI APIs: Discovery Engine, Vertex AI, Dialogflow, Vision, Speech, Translate, Document AI and agent services.
npx google-services-mcps install --agent claude --plugin gaiSearch Console sites, sitemaps, search analytics, URL indexing and site verification.
npx google-services-mcps install --agent claude --plugin gscPublic 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.
npx google-services-mcps install --agent claude --plugin gsearchMaps Platform and location APIs: Places, Address Validation, Solar, Air Quality, Pollen, Street View Publish and related datasets.
npx google-services-mcps install --agent claude --plugin gmapsGoogle Drive files, labels and activity, plus Docs, Sheets, Slides, Forms and Books.
npx google-services-mcps install --agent claude --plugin gdriveGmail mailboxes, messages, labels and settings, plus Gmail Postmaster Tools.
npx google-services-mcps install --agent claude --plugin gmailGoogle Calendar calendars, events and calendar settings.
npx google-services-mcps install --agent claude --plugin gcalendarGoogle Chat spaces, messages and members, plus Workspace Events subscriptions.
npx google-services-mcps install --agent claude --plugin gchatGoogle Meet spaces, conference records, participants and recordings.
npx google-services-mcps install --agent claude --plugin gmeetGoogle Contacts and People, personal health metrics, Data Portability, and the OAuth2 userinfo endpoints.
npx google-services-mcps install --agent claude --plugin gcontactsGoogle Tasks task lists and tasks, plus Google Keep notes.
npx google-services-mcps install --agent claude --plugin gtasksGoogle Classroom courses, coursework, submissions, students and teachers.
npx google-services-mcps install --agent claude --plugin gclassroomApps Script projects and execution, plus the Workspace Marketplace SDK.
npx google-services-mcps install --agent claude --plugin gappsGoogle Workspace administration: Cloud Identity, Chrome management and policy, Groups Settings, licensing, reports, alerts, Vault, reseller and Cloud Search admin.
npx google-services-mcps install --agent claude --plugin gadminGoogle Analytics admin and data APIs for GA4 properties, configuration and reports.
npx google-services-mcps install --agent claude --plugin ganalyticsGoogle Tag Manager accounts, containers, tags, triggers and variables.
npx google-services-mcps install --agent claude --plugin gtmYouTube Data, YouTube Analytics and YouTube Reporting APIs, plus Blogger.
npx google-services-mcps install --agent claude --plugin gyoutubeBusiness Profile accounts, locations, verifications, lodging, place actions, notifications and performance.
npx google-services-mcps install --agent claude --plugin gbusinessGoogle 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.
npx google-services-mcps install --agent claude --plugin gadsMerchant Center: Merchant API, Comparison Shopping Service and Manufacturer Center.
npx google-services-mcps install --agent claude --plugin gmerchantGoogle Play developer publishing and reporting, Play Games Services, Android Enterprise and Management, Play Integrity and device APIs.
npx google-services-mcps install --agent claude --plugin gplayFirebase management, App Check, App Distribution, Crashlytics, Hosting, Data Connect, Rules, Test Lab, FCM and Identity Toolkit.
npx google-services-mcps install --agent claude --plugin gfirebaseOne 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.
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 gmailOr 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-mcpsSign 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-userRestart the agent and check that gmail is connected (in Claude Code, run /mcp).
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.
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.
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.
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.
Records the install, so list and uninstall know what gsm did. Uninstall removes only gsm's entries. Logins and tokens are never touched.
| Option | What it does | Default |
|---|---|---|
--agent | claude, codex, opencode, agy (Antigravity) or all | required |
--plugin | one product (gmail), several (gmail,gcalendar), or all. Unknown ids are refused | required |
--scope | global for your account, project for the folder (shared when committed), local for the folder only. folder means local | global |
--path | the folder for project and local; it must exist | the current folder |
--allow-writes | allows the write tools (create, change, delete, send). Each change still asks | off |
--confirmation | every-change, destructive-only or off: when gsm asks before a change | every-change |
--install-missing | installs the requirements gsm can install, then checks again | off |
--dry-run | prints every change and command, and writes nothing | off |
--marketplace | Claude Code only: owner/repo, a URL or a folder | GitHub, or the clone folder when it is a git clone |
--servers | keeps only these servers of the products | all |
Uninstall takes the same --agent, --plugin, --scope, --path and --dry-run, and uninstall --all --yes removes every install gsm recorded. list shows them.
| Agent | global (default) | project | local |
|---|---|---|---|
| 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.json | opencode.json in the folder | the same as project |
| Antigravity | ~/.gemini/config/mcp_config.json | not supported | not 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.
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 gmailcurl -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 gmailcurl -fsSL "https://raw.githubusercontent.com/FiredMosquito831/google-services-mcps/main/scripts/install.sh" | sh -s -- install --agent claude --plugin gmailgoogle-services-mcps)npm install -g google-services-mcps
google-services-mcps install --agent claude --plugin gmail
gsmnode 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-userFrom 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.
cloud): gcloud, gai. Desktop OAuth client, then login cloud.searchconsole): gsc. Desktop OAuth client, then login searchconsole.apikey): gsearch, gmaps. API key, then setup-apikey (no login).workspace-user): gdrive, gmail, gcalendar, gchat, gmeet, gcontacts, gtasks, gclassroom, gapps. Desktop OAuth client, then login workspace-user.workspace-admin): gadmin. Service account with domain-wide delegation, then setup-admin.business): ganalytics, gtm, gyoutube, gbusiness, gads. Desktop OAuth client, then login business.service-account): gmerchant, gplay. Service account key, then setup-service-account (no login).developer): gfirebase. Desktop OAuth client, then login developer.Six layers, checked in order. A failing layer does not let an action through.
every-change (default), destructive-only or off. Deny rules apply in every mode.Read the security model and its known limits before you turn on write tools.
The suite is free. Google's APIs have quotas, some have costs, some need approval.
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.
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.
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.
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.
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.
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.