Commit Graph

1353 Commits

Author SHA1 Message Date
Huong Pham
fe497a86fe Merge branch 'main' into main 2026-01-28 13:39:37 +02:00
adrianlaureda
4b44ed5a6d Fix YAML indentation error in tool_tiers.yaml
The `extended` key under `calendar` was missing proper indentation,
causing YAML parsing errors when loading tools with `--tool-tier complete`.

Fixes #398
2026-01-28 07:37:19 +01:00
Taylor Wilsdon
5fac9beb51 add dxt 2026-01-27 20:12:52 -05:00
Taylor Wilsdon
fbb90fe2f5 chore: release v1.8.0 2026-01-27 20:11:51 -05:00
Taylor Wilsdon
dba9cb6c21 Merge pull request #349 from jrank/feature/freebusy-api
Add FreeBusy API support to Google Calendar tools
2026-01-27 20:10:51 -05:00
Ugo Anomelechi
b7a2f08a76 docs: Add batch_update_form to tool tiers and README documentation
Add batch_update_form to the Complete tier in tool_tiers.yaml and
document it in both README files as requested in PR review.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 00:54:47 +00:00
Taylor Wilsdon
1f1a8ff977 Merge branch 'main' of github.com:taylorwilsdon/google_workspace_mcp 2026-01-27 19:32:48 -05:00
Taylor Wilsdon
53109b9a50 update readme and block single user mode + oauth to avoid user confusion 2026-01-27 19:32:45 -05:00
Taylor Wilsdon
8c007e2a9b Update core/tool_tiers.yaml 2026-01-27 19:31:58 -05:00
Taylor Wilsdon
4a9f574d23 Merge pull request #350 from jrank/feature/guest-permissions
Add guest permission controls to calendar events
2026-01-27 19:29:01 -05:00
Taylor Wilsdon
2463778deb disclaimers 2026-01-27 19:20:52 -05:00
Taylor Wilsdon
8184a948ca Merge pull request #394 from taylorwilsdon/pr_fix_start_google_oauth
enh: Remove start_google_auth when OAuth2.1 enabled
2026-01-27 18:48:23 -05:00
Taylor Wilsdon
4ced1c42d0 cleanup 2026-01-27 18:48:07 -05:00
Taylor Wilsdon
be0308eba8 fix 2026-01-27 18:41:32 -05:00
Taylor Wilsdon
cea593ecb2 Merge pull request #393 from taylorwilsdon/issues/380
fix: issues/380
2026-01-27 17:59:03 -05:00
Taylor Wilsdon
7a3ba9aa47 ensures that when OAuth tokens expire or are revoked, FastMCP will properly receive a GoogleAuthenticationError exception 2026-01-27 17:57:59 -05:00
Taylor Wilsdon
d0b1bccc8a Merge pull request #392 from taylorwilsdon/issues/362
enh: Copy Drive File - supports any drive file
2026-01-27 17:50:24 -05:00
Taylor Wilsdon
76a6ec7b8e Update gdrive/drive_tools.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-27 17:49:00 -05:00
Taylor Wilsdon
ec7a55dc11 update readme, tool tiers 2026-01-27 17:46:09 -05:00
Taylor Wilsdon
ea9405ebe4 add copy functionality 2026-01-27 17:44:20 -05:00
Taylor Wilsdon
ce81f725c7 Merge pull request #391 from taylorwilsdon/copilot/fix-pdf-export-issue
Add PDF export support for Google Sheets
2026-01-27 17:23:58 -05:00
copilot-swe-agent[bot]
5c1fe04f16 Add PDF export support for Google Sheets
Co-authored-by: taylorwilsdon <6508528+taylorwilsdon@users.noreply.github.com>
2026-01-27 22:20:02 +00:00
copilot-swe-agent[bot]
72455b22bc Initial plan 2026-01-27 22:17:50 +00:00
Taylor Wilsdon
ef820972aa Merge pull request #388 from taylorwilsdon/dependabot/uv/uv-3adca6f4ae
Bump the uv group across 1 directory with 2 updates
2026-01-27 17:01:06 -05:00
Ugo Anomelechi
134cffc88e feat(forms): Add batch_update_form tool for Google Forms API
Add batch_update_form MCP tool that exposes the Google Forms
batchUpdate API endpoint. Supports createItem, updateItem,
deleteItem, moveItem, updateFormInfo, and updateSettings operations.

Includes _batch_update_form_impl internal function for testability
and 6 unit tests covering multiple requests, single request, empty
replies, missing replies key, URL generation, and mixed reply types.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 16:47:47 +00:00
dependabot[bot]
5ff1ead0fb Bump the uv group across 1 directory with 2 updates
Bumps the uv group with 2 updates in the / directory: [protobuf](https://github.com/protocolbuffers/protobuf) and [python-multipart](https://github.com/Kludex/python-multipart).


Updates `protobuf` from 6.33.2 to 7.34.0rc1
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Commits](https://github.com/protocolbuffers/protobuf/commits)

Updates `python-multipart` from 0.0.21 to 0.0.22
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22)

---
updated-dependencies:
- dependency-name: protobuf
  dependency-version: 7.34.0rc1
  dependency-type: indirect
  dependency-group: uv
- dependency-name: python-multipart
  dependency-version: 0.0.22
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-27 00:10:27 +00:00
Ali Karbassi
eed562bf9f feat: add Google Contacts (People API) support
Add 16 MCP tools for managing Google Contacts via the People API:

Core tier:
- list_contacts, get_contact, search_contacts, create_contact

Extended tier:
- update_contact, delete_contact, list_contact_groups, get_contact_group

Complete tier:
- batch_create_contacts, batch_update_contacts, batch_delete_contacts
- create_contact_group, update_contact_group, delete_contact_group
- modify_contact_group_members

Includes:
- OAuth scopes for contacts and contacts.readonly
- People API service configuration
- Tool tier definitions
- Unit tests for helper functions
2026-01-25 01:13:49 -06:00
Song Meo
5df04b6d28 Merge upstream/main: integrate Send As feature with attachment support 2026-01-23 20:24:37 +02:00
Song Meo
7a724650b3 Fix docstring to match Optional type annotation for attachments 2026-01-23 20:21:00 +02:00
Song Meo
2266e7da58 Address Copilot review: sanitize filename and fix mutable default 2026-01-23 20:16:55 +02:00
Song Meo
21bac3a713 Fix attachment parameter type inconsistency in send_gmail_message 2026-01-23 20:12:42 +02:00
owengo
57d140d5aa Update core/tool_registry.py
Copilot fix

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-23 18:40:17 +01:00
Taylor Wilsdon
af17085509 Merge pull request #379 from martinschenk/feature/gmail-send-as-support
feat(gmail): Add Send As support for send_gmail_message and draft_gmail_message
2026-01-23 12:20:39 -05:00
Song Meo
edeeaa82bc Add attachment support to Gmail send and draft functions
- Add file path and base64 content attachment support
- Auto-detect MIME types from file extensions
- Support attachments in both send_gmail_message and draft_gmail_message
- Accept attachments via 'path' (file path) or 'content' (base64) + 'filename'
- Note: FastMCP schema generation issue prevents List[Dict] from appearing in MCP tool schema
2026-01-23 02:33:58 +02:00
Song Meo
c2ddb2efaf feat(drive): add PDF export support for Google Sheets
- Add export_format='pdf' option for Google Sheets in get_drive_file_download_url
- Previously only supported csv and xlsx formats for Sheets
- Update docstring and parameter documentation
- Tested with production Google Sheet and confirmed working
2026-01-23 02:33:58 +02:00
Martin Schenk
e78fecd8c1 feat(gmail): Add Send As support for send_gmail_message and draft_gmail_message
- Add optional from_email parameter to send_gmail_message
- Add optional from_email parameter to draft_gmail_message
- Allows sending/drafting from configured Gmail Send As aliases
- Falls back to authenticated user email if not specified
- Requires Send As alias to be configured in Gmail settings (Settings > Accounts > Send mail as)
- Updated docstrings with new parameter documentation and examples

This enables users to send emails from different email addresses configured
in their Gmail "Send mail as" settings, which is useful for users who manage
multiple email identities through a single Gmail account.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 19:35:55 +01:00
Taylor Wilsdon
e6e8aba754 Merge pull request #377 from jonhearsch/claude/fix-gmail-filters-tool-tiers-C2iS6
fix: Add missing Gmail filter tools to tool_tiers.yaml
2026-01-22 13:35:51 -05:00
Taylor Wilsdon
a377c15848 Merge pull request #378 from taylorwilsdon/dependabot/uv/uv-0ade37cc74
Bump the uv group across 1 directory with 2 updates
2026-01-22 13:34:43 -05:00
Taylor Wilsdon
a27aa96f84 Merge pull request #374 from cvrt-gmbh/main
fix: respect WORKSPACE_MCP_CREDENTIALS_DIR for multi-account support
2026-01-22 13:34:28 -05:00
cvrt-jh
8d291018e8 Delete PROGRESS.md 2026-01-22 18:48:50 +01:00
cvrt-jh
bbef6d5ec1 Delete AGENTS.md 2026-01-22 18:48:38 +01:00
dependabot[bot]
dccb8bc8c1 Bump the uv group across 1 directory with 2 updates
Bumps the uv group with 2 updates in the / directory: [pyasn1](https://github.com/pyasn1/pyasn1) and [urllib3](https://github.com/urllib3/urllib3).


Updates `pyasn1` from 0.6.1 to 0.6.2
- [Release notes](https://github.com/pyasn1/pyasn1/releases)
- [Changelog](https://github.com/pyasn1/pyasn1/blob/main/CHANGES.rst)
- [Commits](https://github.com/pyasn1/pyasn1/compare/v0.6.1...v0.6.2)

Updates `urllib3` from 2.6.2 to 2.6.3
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.6.2...2.6.3)

---
updated-dependencies:
- dependency-name: pyasn1
  dependency-version: 0.6.2
  dependency-type: indirect
  dependency-group: uv
- dependency-name: urllib3
  dependency-version: 2.6.3
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 17:45:57 +00:00
Taylor Wilsdon
0c09710aeb Merge pull request #357 from sam-ent/feature/apps-script-integration
Add Google Apps Script API integration
2026-01-22 12:44:52 -05:00
Claude
39c9faca1b fix: Add missing Gmail filter tools to tool_tiers.yaml
The list_gmail_filters, create_gmail_filter, and delete_gmail_filter
tools were implemented in gmail_tools.py but not exposed in the
tool_tiers.yaml configuration, causing them to be filtered out when
using the tier-based tool loading system.

Also added get_gmail_attachment_content which was similarly missing.

Changes:
- Added get_gmail_attachment_content to extended tier
- Added list_gmail_filters to extended tier
- Added create_gmail_filter to extended tier
- Added delete_gmail_filter to extended tier
- Removed duplicate get_gmail_attachment_content entry
2026-01-22 04:59:58 +00:00
cvrt-jh
5c26b9f815 docs: update progress with PR status and cleanup todos 2026-01-20 21:39:16 +01:00
cvrt-jh
e930874ed9 docs: add project documentation and progress tracking 2026-01-20 17:12:12 +01:00
cvrt-jh
e98bb7115d fix: respect WORKSPACE_MCP_CREDENTIALS_DIR for multi-account support
- Add WORKSPACE_MCP_CREDENTIALS_DIR as primary env var (preferred)
- Keep GOOGLE_MCP_CREDENTIALS_DIR for backward compatibility
- Add os.path.expanduser() to handle ~ in paths
- Add logging to show which credentials directory is being used
- Display credentials directory in startup configuration

This enables running multiple MCP instances with different Google
accounts by configuring separate credential directories.

Fixes #373
2026-01-20 17:07:01 +01:00
leolln
c22ca65736 chore: update uv.lock after rebase to v1.7.1
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-16 17:49:13 +00:00
leolln
a9567b6f17 feat: add leo custom tier for personalized tool selection
- Add 'leo' tier as standalone (non-cumulative) tier
- Configure leo tier with curated tools for gmail, drive, docs, slides
- Updated tool_tier_loader to support standalone tiers
- Removed deprecated tools from leo tier (format_text_style, create_list, remove_list_formatting)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-16 17:49:13 +00:00
leolln
08f8ad5265 refactor(docs): remove redundant formatting tools
Per maintainer feedback (@taylorwilsdon):
- Delete format_text_style (redundant with modify_doc_text)
- Delete create_list (redundant with insert_doc_elements)
- Delete remove_list_formatting (use batch_update_doc)
- Delete _hex_to_rgb helper (use existing _normalize_color)

Preserved unique tools:
- format_paragraph_style (paragraph-level properties)
- apply_heading_style (named styles H1-H6)
- import_to_google_doc (new import feature)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-16 17:47:28 +00:00