Commit Graph

1575 Commits

Author SHA1 Message Date
Rein Lemmens
a9db471345 Add create_bullet_list operation to batch_update_doc
Exposes native Google Docs createParagraphBullets and
deleteParagraphBullets APIs via the batch operation manager.
Supports UNORDERED (bullets), ORDERED (numbered), and NONE
(remove formatting) list types with optional nesting levels.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 21:06:34 +01:00
Rein Lemmens
38ad39bea6 Add named_style_type support to update_paragraph_style operation
Allows setting TITLE and SUBTITLE paragraph styles directly, in addition
to the existing heading_level (0-6) parameter. The new named_style_type
parameter accepts all Google Docs named styles: NORMAL_TEXT, TITLE,
SUBTITLE, HEADING_1 through HEADING_6.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 20:34:36 +01:00
Taylor Wilsdon
5a2e1f3089 Merge pull request #553 from taylorwilsdon/issues/545
enh: expand get_form schema
2026-03-10 11:50:18 -04:00
Taylor Wilsdon
aa75b3f2dd pr feedback 2026-03-10 11:45:24 -04:00
Taylor Wilsdon
6e6c97baa7 Merge branch 'main' of github.com:taylorwilsdon/google_workspace_mcp into issues/545 2026-03-10 11:40:12 -04:00
Taylor Wilsdon
37930346f6 Merge pull request #554 from taylorwilsdon/issues/552
fix: Issues/552 - Docker [disk] storage
2026-03-09 14:34:31 -04:00
github-actions[bot]
5eb5e06a1e style: auto-fix ruff lint and format 2026-03-09 16:52:41 +00:00
Taylor Wilsdon
7c550e55b2 declarative dockerfile 2026-03-09 12:52:00 -04:00
Taylor Wilsdon
d3fde86296 docker py-key-value-aio[disk] 2026-03-09 12:47:40 -04:00
github-actions[bot]
dd547c931a style: auto-fix ruff lint and format 2026-03-09 16:20:51 +00:00
Taylor Wilsdon
ea078623b3 add 2026-03-09 12:20:04 -04:00
Taylor Wilsdon
6a2633984a Fix grammatical error in README description
Corrected a minor grammatical error in the README.
2026-03-06 11:45:54 -05:00
Taylor Wilsdon
4001e3f868 Refine README content for clarity and detail
Updated the README to enhance the description of features and capabilities, including details about OAuth 2.1 support and hosting options.
2026-03-06 11:45:39 -05:00
Taylor Wilsdon
dc4cefc17c Merge pull request #540 from mickey-mikey/feat/tasks-manage-permission
feat: add tasks:manage permission level
2026-03-05 08:54:43 -05:00
Taylor Wilsdon
c7b0afa74c readme cleanup 2026-03-05 08:52:48 -05:00
Taylor Wilsdon
bf2eb4c0c7 Merge branch 'main' of github.com:taylorwilsdon/google_workspace_mcp into feat/tasks-manage-permission 2026-03-05 08:47:35 -05:00
Taylor Wilsdon
f80f12cb54 Update README.md 2026-03-05 08:04:20 -05:00
mickey-mikey
f26c2f9e87 Merge branch 'taylorwilsdon:main' into feat/tasks-manage-permission 2026-03-05 15:13:08 +11:00
Taylor Wilsdon
c1204815cd Merge pull request #541 from taylorwilsdon/issues/511
fix: only suggest re-authentication for auth-related HTTP errors
2026-03-04 16:38:23 -05:00
Taylor Wilsdon
4cc456602f drive scope fix 2026-03-04 16:36:34 -05:00
github-actions[bot]
3faeb6d832 style: auto-fix ruff lint and format 2026-03-04 14:32:13 +00:00
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
mickey-mikey
0e7c2a2318 refactor: move test_tasks_manage_is_valid_level to TestParsePermissionsArg
Addresses CodeRabbit Review 4 nitpick: the test validates
parse_permissions_arg() so it belongs with that test class.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 16:47:29 +11:00
mickey-mikey
acc3e665d0 fix: assert cumulative readonly scope in tasks full-level test
Addresses CodeRabbit Review 3 nitpick: verify TASKS_READONLY_SCOPE is
present at full level, confirming cumulative scope expansion.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 16:40:50 +11:00
mickey-mikey
69dd5069dc fix: add test docstrings and reset fixture per CodeRabbit review
- Add docstrings to test methods for coverage threshold
- Add autouse fixture to reset permission state between tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 16:29:28 +11:00
mickey-mikey
0fce7c78b6 fix: also deny clear_completed under tasks:manage
Addresses CodeRabbit review — clear_completed is destructive and should
be blocked alongside delete at the manage permission level.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 16:21:51 +11:00
mickey-mikey
377791080c feat: add tasks:manage permission level to deny delete without blocking other writes
The consolidated manage_task tool bundles create/update/delete/move into a
single tool, making it impossible to deny just the delete action via tool
tiers or scope-based filtering.

This adds:
- A `manage` permission level for tasks (between readonly and full)
- A SERVICE_DENIED_ACTIONS registry mapping (service, level) to denied actions
- An is_action_denied() helper that tools call before executing actions
- Guards in manage_task and manage_task_list that reject denied actions

Usage: --permissions tasks:manage
Allows create, update, move. Denies delete.
tasks:full remains unchanged (all actions allowed).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 15:04:31 +11: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