hooks — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited hooks (Hook) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<!-- mycelium-badges:start -->
<p> <a href="https://github.com/adelaidasofia/google-workspace-mcp/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/adelaidasofia/google-workspace-mcp?color=blue"></a> <a href="https://github.com/adelaidasofia/google-workspace-mcp/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/adelaidasofia/google-workspace-mcp?color=eab308"></a> <a href="https://github.com/adelaidasofia/google-workspace-mcp/commits/main"><img alt="Last commit" src="https://img.shields.io/github/last-commit/adelaidasofia/google-workspace-mcp"></a> <a href="https://github.com/adelaidasofia/google-workspace-mcp/issues"><img alt="Open issues" src="https://img.shields.io/github/issues/adelaidasofia/google-workspace-mcp"></a> <a href="https://pypi.org/project/adelaidasofia-google-workspace-mcp/"><img alt="PyPI version" src="https://img.shields.io/pypi/v/adelaidasofia-google-workspace-mcp?color=blue&label=pypi"></a> <a href="https://pypi.org/project/adelaidasofia-google-workspace-mcp/"><img alt="PyPI downloads" src="https://img.shields.io/pypi/dm/adelaidasofia-google-workspace-mcp?color=blue&label=downloads"></a> <a href="https://myceliumai.co"><img alt="Built by Mycelium AI" src="https://img.shields.io/badge/built_by-Mycelium_AI-15B89A"></a> </p>
<!-- mycelium-badges:end -->
Multi-account, token-efficient MCP for Gmail + Calendar + Drive + Docs + Sheets. Built because the official Claude connector supports one account and returns full message/file bodies by default.
tool takes an account email; aliases are handled via Send-As identities.
snippet, ...} for mail, {id, name, mime, modified, size, ...}` for Drive). Bodies and file content are opt-in.
files. No tokens in the vault, no tokens in any repo.
gws_account_add — browser OAuth flow, adds a new authorized mailboxgws_account_list — list authorized accounts + defaultgws_account_remove — remove local credential (doesn't revoke Google-side)gmail_search — search with Gmail operators. Compact response.gmail_read — read one message or full thread. Bodies opt-in.gmail_send — send mail, optional from_alias for Send-As identitiesgmail_draft — create a draftgmail_reply — reply (preserves thread + headers), optional reply_allgmail_labels_list — list all labelsgmail_label_apply — batch add/remove labelsgmail_archive — batch archive (remove INBOX)gmail_trash — batch move to trashgmail_sendas_list — list Send-As identities on this mailboxcal_list_calendars — list all calendarscal_list_events — list upcoming events (compact by default, verbose=True for full)cal_create_event — create event, optional Google Meet linkcal_update_event — partial-update fieldscal_delete_event — deletecal_freebusy — check busy windows for schedulingcal_respond — accept/decline/tentativedrive_search — free-text or raw Drive q-syntax. Metadata-only response.drive_read_file — metadata by default; include_content=True for bodydrive_list_folder — direct children of a folder ('root' for My Drive)drive_create_folder — create a folder under an optional parentdrive_upload — upload a local file, optional convert_to_googledrive_move — change parent folderdrive_rename — rename a file or folderdrive_share — grant reader/commenter/writer/etc. access by emaildrive_trash — soft delete (recoverable)drive_untrash — restore from Trashdrive_permission_list — list everyone with access to a filedrive_permission_update — change a grantee's roledrive_permission_delete — revoke a permissiondrive_shared_drives_list — list shared drives this account accessesdrive_comments_list — list comments on any Drive file (Doc/Sheet/Slide/upload)drive_comment_add — add a comment, optional anchordrive_comment_reply — reply to a commentdrive_comment_resolve — mark a comment resolveddocs_create — new Doc, optional initial body and parent folderdocs_read — flat text by default; structured=True for full Docs API treedocs_append — append text to end of bodydocs_insert_at — insert text at a specific indexdocs_replace_text — find-and-replace, returns count replaceddocs_export — export to markdown / pdf / docx / rtf / plaindocs_suggestions_list — list pending tracked-change suggestionsdocs_suggestions_accept_all — accept all suggestions (rewrites Doc)docs_suggestions_reject_all — reject all suggestions (rewrites Doc)sheets_create — new workbook, optional parent foldersheets_list_sheets — list tabs with row/col dimensionssheets_add_sheet — add a new tab to an existing workbooksheets_read_range — read A1 range. FORMULA / UNFORMATTED_VALUE options.sheets_write_range — overwrite a range. USER_ENTERED parses formulas.sheets_append — append rows below existing datasheets_clear_range — clear values (formatting preserved)sheets_batch_read — multi-range read in one API callsheets_batch_write — multi-range write in one API callsheets_named_ranges_list — list named ranges in a workbooksheets_named_range_add — create a named rangesheets_named_range_delete — delete a named rangesheets_conditional_format_add — add a conditional formatting rulesheets_data_validation_add — set dropdown / number / email / URL validationOpen Claude Code, paste:
/plugin marketplace add adelaidasofia/google-workspace-mcp /plugin install google-workspace-mcp@google-workspace-mcp
You still need to complete the one-time GCP setup in SETUP.md (~45 min for v1, ~5 min incremental for v2 Drive/Docs/Sheets) so the server has a client_secret.json to OAuth against. Run gws_account_add from Claude Code to authorize your first mailbox.
<details> <summary>Legacy install (manual <code>.mcp.json</code> wiring)</summary>
See SETUP.md for the one-time GCP setup (~45 min for v1, ~5 min incremental to enable Drive/Docs/Sheets for v2).
After setup:
pip3 install --break-system-packages -r requirements.txtAdd to your project's .mcp.json (or ~/.claude.json for global access):
"google-workspace": {
"type": "stdio",
"command": "python3",
"args": ["/path/to/google-workspace-mcp/server.py"]
}</details>
v2 adds Drive + Docs + Sheets scopes. Each authorized account must re-OAuth once so Google grants the new scopes. See SETUP.md step 6b.
Calendar ACL/delegation, Slides, Forms, Tasks
Same author, same architecture pattern (FastMCP, draft+confirm on writes where applicable, vault auto-export, MIT):
This plugin sends a single anonymous install signal to myceliumai.co the first time it loads in a Claude Code session on a given machine.
What is sent:
slack-mcp)0.1.0)What is NOT sent:
Why: Helps the maintainer know which plugins people actually install, so attention goes to the ones that get used.
Opt out: Set the environment variable MYCELIUM_NO_PING=1 before launching Claude Code. The hook will skip the network call entirely. Already-pinged installs leave a sentinel at ~/.mycelium/onboarded-<plugin> — delete it if you want to reset state.
MIT
Built by Mycelium AI. Full install or team version at diazroa.com.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.