Commit Graph

1549 Commits

Author SHA1 Message Date
Taylor Wilsdon
9de1fcb6ea fix: only suggest re-authentication for auth-related HTTP errors
When an HttpError occurs in Google Tasks tools, the error handler now checks
the HTTP status code before suggesting re-authentication. Re-auth messages are
only shown for 401 (Unauthorized) and 403 (Forbidden) errors.

This prevents misleading re-authentication suggestions for non-auth errors like
400 (Bad Request) with malformed arguments, allowing the LLM to focus on the
actual root cause instead of being misdirected by incorrect auth guidance.

The fix applies to both CLI mode (stdio legacy oauth) and MCP mode (OAuth 2.1).

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-04 09:30:59 -05:00
Taylor Wilsdon
89e1974984 chore: release v1.14.2 2026-03-03 18:19:07 -05:00
Taylor Wilsdon
130ed48cc7 Merge pull request #423 from gpminsuk/feat/server-instructions-user-email
feat: Add USER_GOOGLE_EMAIL to server instructions for single-user mode
2026-03-03 17:54:12 -05:00
Taylor Wilsdon
0f941650bb Merge pull request #539 from slowpoison/feature_doc_tab
Add support for GDoc Tabs
2026-03-03 17:47:45 -05:00
Taylor Wilsdon
3d7fc02e84 refac for the better 2026-03-03 17:46:50 -05:00
Taylor Wilsdon
a5a896977f refac 2026-03-03 17:36:21 -05:00
Taylor Wilsdon
548394efbb Merge branch 'main' of github.com:taylorwilsdon/google_workspace_mcp into feature_doc_tab 2026-03-03 17:34:26 -05:00
Vishal Verma
10cdcdd7e5 Add support for GDoc Tabs 2026-03-03 09:12:31 -08:00
Taylor Wilsdon
8a856cfecd Merge pull request #538 from taylorwilsdon/issues/536
enh: better fallback logic for html in emails
2026-03-03 11:28:08 -05:00
github-actions[bot]
95120d6f26 style: auto-fix ruff lint and format 2026-03-03 15:12:33 +00:00
Taylor Wilsdon
92840ac8e8 better fallback logic for html in emails 2026-03-02 09:29:53 -05:00
Taylor Wilsdon
04b9ae027c chore: release v1.14.1 2026-03-01 18:29:25 -05:00
Taylor Wilsdon
d514c6219d Merge pull request #523 from jack-distl/claude/fix-cors-middleware-error-sPbo6
Fix TypeError: CORSMiddleware.__call__() missing 2 required positiona…
2026-03-01 18:29:10 -05:00
Taylor Wilsdon
e999982848 cache test 2026-03-01 18:21:23 -05:00
Taylor Wilsdon
5b5da3386c refac 2026-03-01 18:21:12 -05:00
Taylor Wilsdon
c9facbff3d refac 2026-03-01 17:59:45 -05:00
Taylor Wilsdon
217d727a9d Merge branch 'main' of https://github.com/taylorwilsdon/google_workspace_mcp into claude/fix-cors-middleware-error-sPbo6 2026-03-01 17:47:02 -05:00
Taylor Wilsdon
5af66ee0d2 refac 2026-03-01 17:47:00 -05:00
Taylor Wilsdon
ab5c95a5d0 Merge pull request #532 from isair/fix/pkce-code-verifier
Fix PKCE code verifier not generated for initial OAuth flow
2026-03-01 17:39:59 -05:00
Taylor Wilsdon
662383b8b2 Merge branch 'main' of https://github.com/taylorwilsdon/google_workspace_mcp into fix/pkce-code-verifier 2026-03-01 17:34:12 -05:00
Taylor Wilsdon
8463e4fd29 auth test 2026-03-01 17:34:11 -05:00
Taylor Wilsdon
ef9c6a9c69 make better 2026-03-01 17:34:02 -05:00
Taylor Wilsdon
4d17c83057 chore: release v1.14.0 2026-03-01 17:26:40 -05:00
Taylor Wilsdon
d20685cf78 Merge pull request #533 from taylorwilsdon/issues/526
enh: defusedxml
2026-03-01 17:26:06 -05:00
Taylor Wilsdon
d8567f2beb defusedxml 2026-03-01 17:22:34 -05:00
Taylor Wilsdon
4e48fd2bb5 Merge pull request #531 from taylorwilsdon/tool_consolidation
enh: Tool Consolidation
2026-03-01 17:09:02 -05:00
github-actions[bot]
985a5a780f style: auto-fix ruff lint and format 2026-03-01 22:07:23 +00:00
Taylor Wilsdon
ce296ded29 Merge branch 'tool_consolidation' of https://github.com/taylorwilsdon/google_workspace_mcp into tool_consolidation 2026-03-01 17:07:07 -05:00
Taylor Wilsdon
2c26338296 pr feedback 2026-03-01 17:06:55 -05:00
Taylor Wilsdon
c077b4b4b4 Update gappsscript/apps_script_tools.py
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-03-01 17:04:35 -05:00
Taylor Wilsdon
49073995c9 refac 2026-03-01 16:00:39 -05:00
Baris Sencan
3361ed29e6 Fix PKCE code verifier not being generated for initial OAuth flow
When `create_oauth_flow()` is called without an explicit `code_verifier`
(i.e. during the initial auth flow in `start_auth_flow()`), the function
never sets `autogenerate_code_verifier=True` on the Flow constructor.

oauthlib 3.2+ automatically adds `code_challenge` to the authorization
URL at the session level, so Google expects a matching `code_verifier`
during the token exchange. However, since `Flow.code_verifier` remains
`None`, that `None` gets stored in the session store and later passed
back during the callback — causing Google to reject the token exchange
with `(invalid_grant) Missing code verifier`.

The fix adds `autogenerate_code_verifier=True` in the else branch so
the Flow object generates and exposes a proper PKCE code verifier that
gets stored and reused during the callback token exchange.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 18:38:29 +00:00
github-actions[bot]
1f34a8b8cc style: auto-fix ruff lint and format 2026-03-01 18:26:42 +00:00
Taylor Wilsdon
d2651add30 merge 2026-03-01 13:26:14 -05:00
Taylor Wilsdon
e9c9c28844 cleanup 2026-03-01 13:23:40 -05:00
github-actions[bot]
eaab19b1ca style: auto-fix ruff lint and format 2026-03-01 17:54:47 +00:00
Taylor Wilsdon
5e4db385d3 refac 2026-03-01 12:50:40 -05:00
Taylor Wilsdon
241433937b Merge branch 'main' of https://github.com/taylorwilsdon/google_workspace_mcp into tool_consolidation 2026-03-01 12:36:10 -05:00
Taylor Wilsdon
6753531e9d refactor tools to consolidate all modify actions 2026-03-01 12:36:09 -05:00
Taylor Wilsdon
e89935abcd Merge pull request #530 from taylorwilsdon/issues/525
fix: issues/525 and issues/485
2026-03-01 12:27:05 -05:00
Taylor Wilsdon
3fc864928e fix issues/525 and issues/485 2026-03-01 12:06:23 -05:00
Taylor Wilsdon
51d027ec8a Merge pull request #524 from 04cb/fix/docs-hyphenation
Fix docs: hyphenation for compound adjectives
2026-03-01 11:02:31 -05:00
Taylor Wilsdon
7cd46d72c7 Merge pull request #528 from taylorwilsdon/feature/checkbox-understanding
enh: Docs Checkbox Handling
2026-03-01 09:40:22 -05:00
github-actions[bot]
2778bc75a6 style: auto-fix ruff lint and format 2026-03-01 14:31:38 +00:00
Taylor Wilsdon
47160a5fc3 bump version 2026-03-01 09:30:28 -05:00
Taylor Wilsdon
df9640b321 Add Google Docs checklist/checkbox recognition in markdown output
Detect checklist items in Google Docs API responses and render them as
- [ ] (unchecked) and - [x] (checked) in markdown, so LLMs understand
checkbox state instead of writing literal [x] or DONE text.

Closes #516

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 09:30:05 -05:00
04cb
5df7382fa1 Fix docs: hyphenation for compound adjectives 2026-03-01 14:49:55 +08:00
Claude
cd326d0f2d Fix TypeError: CORSMiddleware.__call__() missing 2 required positional arguments
The _wrap_well_known_endpoint function assumed all route endpoints are regular
request handlers (async def handler(request) -> Response). However, the MCP
SDK's cors_middleware wraps handlers with CORSMiddleware, which is an ASGI app
expecting (scope, receive, send). When the wrapper called
`await endpoint(request)` on a CORSMiddleware instance, it passed only 1
argument instead of the required 3 ASGI args.

The fix detects whether the endpoint is a regular handler function or an ASGI
app (using the same inspect check as Starlette's Route constructor), and uses
the appropriate calling convention:
- Regular handlers: called as `await endpoint(request)` (existing behavior)
- ASGI apps: invoked via the ASGI interface `await endpoint(scope, receive, send)`
  with response capture to apply cache-busting headers

https://claude.ai/code/session_011S5zFTWRfKBJBUEanrhvQg
2026-03-01 04:56:33 +00:00
Taylor Wilsdon
ca00c74634 Update README.md 2026-02-28 18:23:44 -04:00
Taylor Wilsdon
97c8ea28fd Update README.md 2026-02-28 18:23:25 -04:00