Other formats agents might prefer:
markdownjsonllms.txt

Agent? You probably want markdown or json, or Pod over MCP.

Reported issues for Google Workspace

Pod holds 20 of 26 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to Google Workspace.

Most discussed

Legacy streamable-http: credential refresh triggers session rebinding error for multi-account use

Bug Description

When using Google Workspace MCP in legacy streamable-http multi-user mode, stored credentials are successfully refreshed after a server restart, but the request fails because the MCP session attempts to rebind to a different Google identity.

The server then incorrectly starts a new OAuth flow even though valid refreshed credentials already exist.

This appears to affect environments where a single MCP server is used with multiple Google accounts by supplying user_google_ema

Read the thread · 2026-07-10 · closed · external user · 2 comments

Proposal: opt-in read-only OAuth scopes (access: 'read')

Proposal

Add an opt-in access: 'read' | 'readwrite' option to account authentication. When set to 'read', it requests the read-only variant of each service scope (gmail.readonly, drive.readonly, calendar.readonly, …) instead of the current read/write scopes (gmail.modify, drive, calendar, …).

The default stays 'readwrite' — fully backward-compatible. No behavior changes unless a user opts in.

Motivation

In multi-account setups it's common to want least privile

Read the thread · 2026-06-03 · open · external user · 2 comments

manage_calendar.create fails: package emits --attendees, gws CLI takes --attendee (singular)

Bug

manage_calendar operation create returns validationError whenever the attendees param is provided. The package emits --attendees <comma-string> to the gws CLI, but gws calendar +insert only accepts --attendee <EMAIL> (singular, can be repeated). The unknown plural flag is rejected at validation time.

Reproduction

{
  "operation": "create",
  "email": "user@example.com",
  "summary": "Test",
  "start": "2026-05-01T00:00:00+05:30",
  "end": "2026-05-01T01:00:00

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/116) · 2026-04-30 · closed · external user · 2 comments

### Windows: OAuth flow hangs, browser not opening (spawn start ENOENT)

## 🐛 Bug: OAuth authentication hangs on Windows (browser fails to open)

### Summary
When running the `google-workspace-mcp` server via Claude Code on Windows, the OAuth authentication flow hangs. The server attempts to open the browser but fails with:

[gws-mcp] OAuth: opening browser for consent [gws-mcp] Failed to open browser: spawn start ENOENT


As a result, authentication never completes.

---

### Environment
- OS: Windows 11  
- Claude Code: v2.1.87 (native install)  
- Node: Ins

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/85) · 2026-03-31 · closed · external user · 1 comment

### # Bug Report: Unauthorized Email Sent Without Approval

# GitHub Issue for google-workspace-mcp

**File at:** https://github.com/aaronsb/google-workspace-mcp/issues/new

**Title:** draft_gmail_message sends email instead of creating draft

**Labels:** bug

---

## Summary

The `draft_gmail_message` function appears to be sending emails immediately instead of creating drafts in the Gmail drafts folder.

## Steps to Reproduce

1. Call `draft_gmail_message` with valid parameters:

```json
{
  "user_google_email": "user@example.com",
  "to": "recipient@e

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/52) · 2026-01-20 · closed · external user · 2 comments

### [FEATURE] Create/update contacts

## Problem Statement
Contacts creation and update are not supported yet.

## Proposed Solution
Implement the required MCP tools.

## Benefits
Using that in Claude and other clients.

## Checklist
- [X] I have searched for similar feature requests
- [X] This feature aligns with the project's scope
- [X] I'm willing to help implement this feature

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/51) · 2025-11-08 · closed · external user · 2 comments

### Glama listing is missing Dockerfile

Your MCP server is currently listed on the [Glama MCP directory](https://glama.ai/mcp/servers/aaronsb/google-workspace-mcp), but it is not available for others to use because it does not have a Dockerfile.

It takes only a few minutes to fix this:

1. Go to your server's listing: [aaronsb/google-workspace-mcp](https://glama.ai/mcp/servers/aaronsb/google-workspace-mcp)
2. Click "Claim" to verify ownership.
3. Once claimed, navigate to the [admin `Dockerfile` page](https://glama.ai/mcp/servers/aar

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/41) · 2025-04-20 · closed · external user · 2 comments

### [BUG] OOB Deprecated

This repo looks great!

## Bug Description
I've looked at your detailed setup guide but don't see how to configure a redirect URI for a desktop app?

4. Create OAuth 2.0 credentials:
    1. Choose "Desktop application" type
    1. Note your Client ID and Client Secret
    1. Use "urn:ietf:wg:oauth:2.0:oob" as the redirect URI (this enables out-of-band authentication)

## Steps To Reproduce
1. Go to [Google Clients](https://console.cloud.google.com/auth/clients)
2. Create Client
3. Select "Deskto

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/40) · 2025-04-19 · closed · external user · 3 comments

## Most recent

### [BUG] manage_docs get only returns the first tab of a multi-tab Google Doc

`manage_docs` with operation `get` returns the content of the first tab only. There's no error and nothing in the response to indicate the document has other tabs, so the partial content reads like the whole file.

**Steps To Reproduce**

1. Create a Google Doc with several tabs and put different text in each one.
2. Call `manage_docs` with `operation: get`, the document ID, and an authenticated account email.
3. Compare what comes back against the document. Only the first tab is there.

**Expec

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/152) · 2026-07-27 · closed · external user · 0 comments

### Expose slides.presentations.batchUpdate

**Method:** `slides.presentations.batchUpdate` (`POST`)

**Google's description:** Applies one or more updates to the presentation. Each request is validated before being applied. If any request is not valid, then the entire request will fail and nothing will be applied. Some requests have replies to give you some information about how they are applied. Other requests do not need to return information; these each return an empty reply. The order of replies matches that of the requests. For examp

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/151) · 2026-07-27 · open · external user · 1 comment

### Bug: Server fails to start on Windows due to hardcoded PATH delimiter (using : instead of ;)

Description: Hi! I love the concept of this MCP server, but I ran into a hard crash when trying to run it on a Windows machine.

It looks like the server assumes the PATH environment variable is separated by colons (:), which is true for macOS and Linux. However, on Windows, the PATH is separated by semicolons (;).

Because of this, when the server boots up and tries to locate the gws executable, it fails to parse the Windows path correctly and the server crashes immediately.

To Reproduce:

Try

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/150) · 2026-07-20 · closed · external user · 1 comment

### Server outlives its MCP client, then spins at 100% CPU — uncaughtException handler loops forever on a dead stderr

## Environment

- `@aaronsb/google-workspace-mcp` 4.0.1, launched via `npx -y @aaronsb/google-workspace-mcp` (stdio transport)
- Client: Claude Code 2.1.x on macOS (Darwin 25.5.0)
- Node v24.8.0

## Symptom

After a Claude Code session ends uncleanly (crash, force-quit, killed terminal), the server process does not exit. Worse, it doesn't just idle — it pegs one CPU core at 100% indefinitely. Today I found two orphaned instances that had each burned 31 minutes of CPU time in 31 minutes of wall t

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/149) · 2026-07-16 · closed · external user · 0 comments

### reply silently ignores attachments/draft params — always sends live, attachment never attaches

## Summary

`reply` silently ignores both the `attachments` and `draft` parameters — despite the tool's own JSON schema documenting `draft` as "forced true when attachments present," implying this applies across operations. In practice, only `send` implements that behavior; `reply` sends live every time, with no attachment, no matter what's passed.

## Root cause (exact location)

In `services/gmail/patch.js`, the `customHandlers.send` handler (lines 190–232) correctly implements both parameters

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/132) · 2026-07-01 · closed · external user · 0 comments

### [FEATURE] Generic api_call operation for arbitrary Workspace API endpoints

## Problem Statement
Operations are limited to what's surfaced in the YAML manifest. Anything in the underlying `@googleworkspace/cli` / Google API surface that isn't in the manifest is unreachable without a manifest edit + release. For "agent can do anything" use cases, that long tail matters.

## Proposed Solution
A generic `api_call` operation: authenticated request to an arbitrary `*.googleapis.com` endpoint using the active account's credentials. Inputs: `method`, `path`/`url`, `query`, `bo

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/131) · 2026-06-26 · open · external user · 0 comments

### [FEATURE]  manage_email send operation lacks from parameter for Send As aliases

## Problem Statement
The `manage_email` send operation has no `from` parameter. The sender is controlled entirely by the account credentials, so Gmail always falls back to the account's default Send As address. There is no way to specify a verified Send As alias as the sender through the MCP.

## Proposed Solution
Add an optional `from` parameter to the `manage_email` send operation that accepts either a plain address (`user+alias@gmail.com`) or an RFC 2822 formatted string (`Agent Name <user+al

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/127) · 2026-05-12 · closed · external user · 0 comments

### manage_drive.listPermissions returns "No files found" for valid fileId

## Summary

`manage_drive.listPermissions` returns the error text `No files found` even when the provided `fileId` refers to an existing, owned file. `get` on the same file returns proper metadata and other ops (`addComment`, `copy`, `download`, `delete`) work normally.

## Version

`@aaronsb/google-workspace-mcp@2.6.1` invoked via MCP stdio (direct `node build/index.js`, not through a gateway) on Linux, Node 20.

## Repro

1. Upload a file: `manage_drive` with `{"operation":"upload","email":"<u

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/114) · 2026-04-21 · closed · external user · 0 comments

### Windows: delete, update, and quickAdd fail with "Invalid --params JSON: key must be a string"

Root cause: Same shell: IS_WINDOWS = true bug as issue #1, but manifesting differently. These operations pass structured data via --params '{"calendarId":"...","eventId":"..."}'. When Node.js shell mode builds the command string, cmd.exe consumes the " characters as string delimiters — stripping them — so gws receives {calendarId:...,eventId:...} (invalid JSON) instead of the original quoted string.

Affected operations: calendar delete, calendar update, calendar quickAdd (all --params JSON payl

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/111) · 2026-04-18 · closed · outside contributor · 0 comments

### Windows: multi-word field values silently truncated in create (shell quoting bug)

Root cause: gws.js spawns with shell: IS_WINDOWS = true, which causes Node.js to join the args array into a single command string without quoting. "Chesterfield YMCA North Court" becomes four separate tokens and gws rejects the extra words as unknown positional arguments. Single-word values work fine.

Affected operations: calendar create (fields: summary, location, description, attendees)
 
Fix (one change in executor/gws.js ~line 98):
// Before:
const proc = spawn(gwsBinary, fullArgs, { shell:

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/110) · 2026-04-18 · closed · outside contributor · 0 comments

### Add `bodyFormat` parameter to `get_gmail_message_content` to expose HTML body

## Problem

I use this MCP to let an LLM read and act on my Gmail. It works well for most email, but I hit a wall with any sender that puts meaningful content only in the HTML body.

The concrete case: Paperless Post invitations. The event date and time aren't in the plain-text part — they're only in the HTML. When I ask the LLM to tell me when a party is, it reads the email via `get_gmail_message_content` and reports that no date is mentioned. The information is there; the tool just never surfa

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/91) · 2026-04-06 · closed · external user · 0 comments

### [BUG] sheet operation fails via MCP but works directly via gws

## Bug Description

While using this MCP via an agent, it complained that it couldn't export a google sheet. 
The observable behavior was that calls through the MCP failed, but when it decided to use the underlying tool directly (`gws`) it was able to
complete the task.

It then decided to diagnose the issue, and reached the conclusion that the `manage_sheets` tool's read and getValues operations return sheet metadata (majorDimension, range) but omit the actual cell values from the response.

Th

[Read the thread](https://github.com/aaronsb/google-workspace-mcp/issues/90) · 2026-04-06 · closed · external user · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/aaronsb/google-workspace-mcp/issues).