mcp-google-multi

MCPattested
v6.1.0io.github.bakissationMITUpdated 2d agonpmGitHub

Local MCP server for Google Workspace (Gmail, Drive, Calendar, Sheets, Docs, Contacts, Tasks, Meet, Search Console, +Forms/Chat/Admin) across multiple accounts — OAuth-only, encrypted token storage, deny-by-default writes.

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Attested build
A verified provenance attestation binds this artifact to the listed repository. Nobody has claimed the listing yet — this proves where the code was built, not who stands behind it.
16GitHub stars
17Forks
2d agoLast update
Needs 1 credential before it runs
  • GOOGLE_CLIENT_SECRETOAuth apprequired

    OAuth 2.0 Desktop client secret paired with GOOGLE_CLIENT_ID.

  • MASTER_KEYAPI keyoptional

    Base64 32-byte key encrypting the local token store; auto-generated and stored for you when unset.

Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Package
Authorio.github.bakissation
LicenseMIT
Version6.1.0
Sourcenpm+mcp-registry
Trust Status
A
85/100Trusted
✓Listed in Forge index+10/10
✓Identity verified · attested build+20/20
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—npm maintainer match+0/5
→ Publisher: add the verified GitHub login to the npm package's maintainers (npm owner add <login>)
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusIdentity verified
PublisherUnverified
SignatureUnsigned
Domain—
Provenance✓ Sigstore-verified · 381c3c9
Dependencies60 resolved · 2 with advisories
Tool surface40 tools · 3 privileged
Security scan⚠ Warnings (5)v6.1.0 · todayHow well does this scan work?
EvalsNone
IndexedOct 17, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

40 tools · 3 privileged
Statically extracted from the published packagev6.1.0 · 23h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

reports_activities_listList Admin Activity audit log entries. Filter by application (login, drive, gmail, admin, token, etc.), user, date range, event. The single most useful admin endpoint for SMB visibility.

List Admin Activity audit log entries. Filter by application (login, drive, gmail, admin, token, etc.), user, date range, event. The single most useful admin endpoint for SMB visibility.

No input schema was published for this tool.

admin_users_listList users in the Workspace customer. Filter by domain or customer=my_customer.

List users in the Workspace customer. Filter by domain or customer=my_customer.

No input schema was published for this tool.

admin_users_getGet a single Workspace user by email or user ID

Get a single Workspace user by email or user ID

No input schema was published for this tool.

admin_users_updateUpdate a Workspace user (PATCH semantics). Gated by write-control (a CUD tool).

Update a Workspace user (PATCH semantics). Gated by write-control (a CUD tool).

No input schema was published for this tool.

admin_groups_listList groups in the Workspace customer

List groups in the Workspace customer

No input schema was published for this tool.

admin_group_members_listList members of a Workspace group

List members of a Workspace group

No input schema was published for this tool.

analytics_account_summariesList every Google Analytics (GA4) account and property this Google account can access, with their numeric property IDs. The starting point for any Analytics question ("what properties do I have?").

List every Google Analytics (GA4) account and property this Google account can access, with their numeric property IDs. The starting point for any Analytics question ("what properties do I have?").

No input schema was published for this tool.

analytics_run_reportRun a Google Analytics (GA4) report: metrics over a date range, optionally grouped by dimensions — the workhorse for questions like "how many users last week, by country". Dates accept YYYY-MM-DD or relative forms ("today", "yesterday", "28daysAgo"). Also accepts the native GA4 request shapes direc…

Run a Google Analytics (GA4) report: metrics over a date range, optionally grouped by dimensions — the workhorse for questions like "how many users last week, by country". Dates accept YYYY-MM-DD or relative forms ("today", "yesterday", "28daysAgo"). Also accepts the native GA4 request shapes direc…

No input schema was published for this tool.

analytics_run_realtime_reportRun a GA4 realtime report: who is on the site right now (last 30 minutes). Realtime supports a restricted set of names, e.g. metrics activeUsers, screenPageViews, eventCount, keyEvents; dimensions country, city, deviceCategory, unifiedScreenName, eventName.

Run a GA4 realtime report: who is on the site right now (last 30 minutes). Realtime supports a restricted set of names, e.g. metrics activeUsers, screenPageViews, eventCount, keyEvents; dimensions country, city, deviceCategory, unifiedScreenName, eventName.

No input schema was published for this tool.

analytics_get_metadataList every valid dimension and metric API name for a GA4 property, including its custom definitions. Call this before analytics_run_report when unsure which names exist. Property "0" returns the standard set without property access.

List every valid dimension and metric API name for a GA4 property, including its custom definitions. Call this before analytics_run_report when unsure which names exist. Property "0" returns the standard set without property access.

No input schema was published for this tool.

calendar_list_calendarsList all calendars for a Google account

List all calendars for a Google account

No input schema was published for this tool.

calendar_list_eventsList events from a Google Calendar (trimmed view: descriptions capped, created/updated and empty fields omitted — use calendar_get_event for a full event)

List events from a Google Calendar (trimmed view: descriptions capped, created/updated and empty fields omitted — use calendar_get_event for a full event)

No input schema was published for this tool.

calendar_get_eventGet a single Google Calendar event by ID

Get a single Google Calendar event by ID

No input schema was published for this tool.

calendar_create_eventCreate a Google Calendar event

Create a Google Calendar event

No input schema was published for this tool.

calendar_update_eventUpdate a Google Calendar event

Update a Google Calendar event

No input schema was published for this tool.

calendar_respond_eventRSVP to a calendar event as this account (accepted/declined/tentative) without touching any other attendee

RSVP to a calendar event as this account (accepted/declined/tentative) without touching any other attendee

No input schema was published for this tool.

calendar_delete_eventprivilegedDelete a Google Calendar event

Delete a Google Calendar event

No input schema was published for this tool.

calendar_quick_addCreate a calendar event from a natural language string. Google parses date, time, title, and guests automatically.

Create a calendar event from a natural language string. Google parses date, time, title, and guests automatically.

No input schema was published for this tool.

calendar_move_eventprivilegedMove an event from one calendar to another

Move an event from one calendar to another

No input schema was published for this tool.

calendar_list_instancesList all occurrences of a recurring calendar event (trimmed view like calendar_list_events — use calendar_get_event for a full event)

List all occurrences of a recurring calendar event (trimmed view like calendar_list_events — use calendar_get_event for a full event)

No input schema was published for this tool.

calendar_get_freebusyCheck free/busy times for one or more calendars within a time window. Returns only busy blocks, not event details.

Check free/busy times for one or more calendars within a time window. Returns only busy blocks, not event details.

No input schema was published for this tool.

calendar_create_calendarCreate a new calendar under the account

Create a new calendar under the account

No input schema was published for this tool.

chat_spaces_listList Google Chat spaces the user is a member of

List Google Chat spaces the user is a member of

No input schema was published for this tool.

chat_spaces_getGet details about a single Chat space

Get details about a single Chat space

No input schema was published for this tool.

chat_messages_createSend a message into a Chat space. Supply plain text or a Card v2 in cardsV2.

Send a message into a Chat space. Supply plain text or a Card v2 in cardsV2.

No input schema was published for this tool.

chat_messages_listList messages in a Chat space

List messages in a Chat space

No input schema was published for this tool.

contacts_searchSearch contacts by name, email, phone, or organization

Search contacts by name, email, phone, or organization

No input schema was published for this tool.

contacts_resolveResolve a free-text name/alias to ONE canonical email address (ranked + tie-broken), so you need not hand-expand transliteration OR-queries. Returns a single confident match, an explicit ambiguous candidate list, or null when nothing matches. For picking a recipient before gmail_send.

Resolve a free-text name/alias to ONE canonical email address (ranked + tie-broken), so you need not hand-expand transliteration OR-queries. Returns a single confident match, an explicit ambiguous candidate list, or null when nothing matches. For picking a recipient before gmail_send.

No input schema was published for this tool.

contacts_getGet a single contact by resource name

Get a single contact by resource name

No input schema was published for this tool.

contacts_listList all contacts (paginated)

List all contacts (paginated)

No input schema was published for this tool.

contacts_createCreate a new contact

Create a new contact

No input schema was published for this tool.

contacts_updateUpdate an existing contact (reads current etag automatically)

Update an existing contact (reads current etag automatically)

No input schema was published for this tool.

contacts_deleteprivilegedDelete a contact (permanent, cannot be undone)

Delete a contact (permanent, cannot be undone)

No input schema was published for this tool.

contacts_groups_listList all contact groups (labels)

List all contact groups (labels)

No input schema was published for this tool.

contacts_group_membersList members of a contact group

List members of a contact group

No input schema was published for this tool.

contacts_group_createCreate a new contact group (label)

Create a new contact group (label)

No input schema was published for this tool.

docs_createCreate a new Google Docs document

Create a new Google Docs document

No input schema was published for this tool.

docs_getGet document metadata (title, revision, named ranges). Optionally include tab content and choose a suggestionsViewMode.

Get document metadata (title, revision, named ranges). Optionally include tab content and choose a suggestionsViewMode.

No input schema was published for this tool.

docs_readRead document content as plain text with a heading index (returns up to maxChars characters per call). Pass heading or headingIndex to read one section, tabId to read a specific tab.

Read document content as plain text with a heading index (returns up to maxChars characters per call). Pass heading or headingIndex to read one section, tabId to read a specific tab.

No input schema was published for this tool.

docs_insert_textInsert text into a document at a specific position or at the end

Insert text into a document at a specific position or at the end

No input schema was published for this tool.

40 of 40 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Local MCP server for Google Workspace (Gmail, Drive, Calendar, Sheets, Docs, Contacts, Tasks, Meet, Search Console, +Forms/Chat/Admin) across multiple accounts — OAuth-only, encrypted token storage, deny-by-default writes.

Keywords
mcpmodel-context-protocolgooglegmailgoogle-drivegoogle-calendargoogle-sheetsgoogle-docsgoogle-contactsgoogle-workspacegoogle-tasksgoogle-meetsearch-consoleoauthmcp-serverclaudeclaude-code
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-10-22 — observed resolution, not a publisher declaration.

60 packages resolved · 26 direct · 2 carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the depth-4 limit. Anything below that level was never resolved.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

19 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+7 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.

Topics

Related in search & retrieval