# MCP Google Multi-Account > Open-source MCP server that connects AI assistants to Gmail, Google Drive, and Google Calendar with multi-account support. MCP Google is a local-first Model Context Protocol (MCP) server that gives AI assistants like Claude direct access to Google Workspace services. It runs entirely on the user's machine — tokens and data never leave their computer. ## Install For Claude Code CLI: ``` claude mcp add proGoogleMCP -- npx -y @procedure-tech/mcp-google ``` For Claude Desktop, add to claude_desktop_config.json: ```json { "mcpServers": { "proGoogleMCP": { "command": "npx", "args": ["-y", "@procedure-tech/mcp-google"] } } } ``` ## Key Features - **Gmail**: Search, read, draft, send emails with safety gates (draft-first, confirm before send). Bulk download attachments. File path support for large attachments. - **Google Drive**: Search, list, upload, download, share files. File path support for large uploads. - **Google Calendar**: List, search, create, update events. Check free/busy, RSVP to invitations. - **Multi-Account**: Connect multiple Google accounts. Name them with aliases like "work" or "personal". - **Security**: Local-first, zero telemetry. Per-service capability grants (mail:read, mail:compose, mail:modify, mail:settings, drive:read, drive:appfiles, calendar:read, calendar:write) authorized independently, no bundled tiers. OAuth tokens stored locally. - **Zero Config**: No Google Cloud project needed. Install and go. ## Capabilities mail:read (Read mail) can: Read and search your email, and list your labels. cannot: Cannot send, reply, label, archive or delete anything. reach: Every message and label in the mailbox. scopes: gmail.readonly mail:compose (Compose mail) can: Write drafts and send email. Despite the name, this capability sends — it does not only compose. cannot: Cannot read any message already in your mailbox, not even replies to what it sends. reach: Drafts and messages this capability creates. scopes: gmail.compose mail:modify (Full mail) can: Read, send, and organise mail: labels, archive, trash. Includes everything mail:read and mail:compose do — you do not need to grant those as well. cannot: Cannot manage filters or the vacation auto-reply. reach: Every message and label in the mailbox. scopes: gmail.modify, gmail.labels mail:settings (Mail settings) can: Manage filters and the vacation auto-reply. cannot: Cannot read or send mail. reach: Mailbox-wide filter and vacation-responder settings. scopes: gmail.settings.basic drive:read (Read Drive) can: See and download every file in this Drive, read-only. Includes files other people shared with you, and every Shared Drive you belong to. cannot: Cannot create, edit, move or share anything. reach: Every file and Shared Drive the account can see. scopes: drive.readonly drive:appfiles (App-created Drive files) can: Create files and folders, and read, edit, share and delete the ones within its reach. cannot: Cannot see anything else in your Drive — searches return an empty list rather than an error. reach: Files this server created, plus files you explicitly opened with it. scopes: drive.file calendar:read (Read calendar) can: See your calendars, your events, and when you are free or busy. Required to list which calendars exist. cannot: Cannot create or change events. reach: Every calendar the account can see. scopes: calendar.readonly calendar:write (Write calendar) can: Create, edit, move, delete events, and RSVP. cannot: Cannot list your calendars or check free/busy — grant calendar:read as well, or the agent can only reach the "primary" calendar. reach: Events on calendars the account can write to. scopes: calendar.events ## MCP Tools (55+) ### Account Management - google_version, google_list_accounts, google_add_account, google_check_pending_auth, google_reauth_account, google_remove_account, google_set_account_labels, google_set_account_alias, google_set_account_description ### Gmail (29 tools) - gmail_search_messages, gmail_get_message, gmail_get_messages_batch, gmail_get_thread - gmail_create_draft, gmail_create_draft_with_attachment, gmail_update_draft, gmail_get_draft, gmail_delete_draft, gmail_send_draft, gmail_reply_in_thread - gmail_list_labels, gmail_create_label, gmail_update_label, gmail_delete_label, gmail_modify_labels, gmail_batch_modify_labels - gmail_mark_read_unread, gmail_archive, gmail_trash, gmail_untrash - gmail_list_attachments, gmail_get_attachment, gmail_bulk_save_attachments - gmail_list_filters, gmail_create_filter, gmail_delete_filter - gmail_get_vacation, gmail_set_vacation ### Google Drive (17 tools) — Shared Drives (Team Drives) fully supported - drive_list_shared_drives, drive_search_files (optional driveId), drive_list_files, drive_get_file, drive_get_file_content, drive_get_full_file_content, drive_download_file - drive_get_comments, drive_get_comment_replies - drive_upload_file, drive_create_folder, drive_move_file, drive_copy_file, drive_rename_file, drive_trash_file - drive_share_file, drive_update_permissions ### Google Calendar (10 tools) - calendar_list_calendars, calendar_list_events, calendar_get_event, calendar_search_events, calendar_freebusy - calendar_create_event, calendar_update_event, calendar_delete_event, calendar_rsvp, calendar_move_event - Google Meet: calendar_create_event and calendar_update_event accept addMeet (new conference) or meetingCode (attach an existing one, requires confirm); calendar_update_event also accepts removeConferencing ## Links - npm: https://www.npmjs.com/package/@procedure-tech/mcp-google - GitHub: https://github.com/bkbaheti/google-multi-account-mcp - Website: https://multiaccountgooglemcp.procedure.tech - Built by: https://procedure.tech