Skip to content

Comments

fix: correct google-workspace MCP server command in config example#14

Merged
chinkan merged 6 commits intomainfrom
claude/fix-google-workspace-mcp-jybeB
Feb 21, 2026
Merged

fix: correct google-workspace MCP server command in config example#14
chinkan merged 6 commits intomainfrom
claude/fix-google-workspace-mcp-jybeB

Conversation

@chinkan
Copy link
Owner

@chinkan chinkan commented Feb 21, 2026

The google-workspace-mcp package exposes the executable as
google-workspace-worker, not google-workspace-mcp. Using plain
uvx google-workspace-mcp fails because uvx looks for an executable
matching the package name.

The fix is uvx --from google-workspace-mcp google-workspace-worker,
where --from specifies the package to install and the final argument
is the actual executable name.

https://claude.ai/code/session_01PxzWZ541PqYCSUfFNeJdfq

The google-workspace-mcp package exposes the executable as
google-workspace-worker, not google-workspace-mcp. Using plain
`uvx google-workspace-mcp` fails because uvx looks for an executable
matching the package name.

The fix is `uvx --from google-workspace-mcp google-workspace-worker`,
where --from specifies the package to install and the final argument
is the actual executable name.

https://claude.ai/code/session_01PxzWZ541PqYCSUfFNeJdfq
Same fix as config.example.toml: the package google-workspace-mcp
exposes the executable as google-workspace-worker, so the generated
config must use --from to separate package name from executable name.

https://claude.ai/code/session_01PxzWZ541PqYCSUfFNeJdfq
- setup/index.html: add inline 3-step OAuth guide shown when the tool
  is enabled; add GOOGLE_REDIRECT_URI to envVars pre-filled with the
  correct default (http://localhost:8080); use envDefaults fallback in
  generateToml so the redirect URI is written even if untouched
- config.example.toml: add step-by-step OAuth comments explaining which
  APIs to enable, consent screen setup, and credential creation

https://claude.ai/code/session_01PxzWZ541PqYCSUfFNeJdfq
Root cause: the package google-workspace-mcp expects
GOOGLE_WORKSPACE_CLIENT_ID/SECRET/REFRESH_TOKEN/ENABLED_CAPABILITIES,
not the GOOGLE_CLIENT_ID/SECRET/REDIRECT_URI names we had.

- setup/index.html: replace all four env vars with correct names;
  add GOOGLE_WORKSPACE_ENABLED_CAPABILITIES with pre-filled default
  (all six services); update setup guide to use OAuth Playground flow
  for obtaining the refresh token
- config.example.toml: same env var corrections + full 4-step OAuth
  Playground instructions including required scopes per capability

https://claude.ai/code/session_01PxzWZ541PqYCSUfFNeJdfq
Root cause of 403 insufficientPermissions: the package defines no
SCOPES constant — active scopes come entirely from the refresh token.
If the token was minted without gmail.modify (or any other scope),
every call to that API returns 403.

The wizard guide said "add all Drive/Gmail/... scopes" which is too
vague — users need the exact URL strings to paste into OAuth Playground.
Now lists all 6 scope URLs explicitly with a warning that ALL must be
selected together (missing any one causes 403).

https://claude.ai/code/session_01PxzWZ541PqYCSUfFNeJdfq
Replaces the inline wall-of-text setup guide with a clean 4-step modal
popup triggered by an "OAuth Setup Guide" button. The modal includes:
- Numbered steps with clear titles and descriptions
- Direct links to Google Cloud Console APIs library and OAuth Playground
- Color-coded scope list (green monospace) showing all 6 required scopes
- Warning box explaining that missing any scope causes 403 errors
- Keyboard (Escape) and backdrop-click dismissal
- Dark-theme styling consistent with the rest of the setup wizard

https://claude.ai/code/session_01PxzWZ541PqYCSUfFNeJdfq
@chinkan
Copy link
Owner Author

chinkan commented Feb 21, 2026

@claude please help for review

@chinkan chinkan merged commit b5e8744 into main Feb 21, 2026
5 checks passed
@chinkan chinkan deleted the claude/fix-google-workspace-mcp-jybeB branch February 21, 2026 08:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants