Google Workspace MCP Server
Google Workspace data access for AI agents covering Calendar, Drive, Gmail, and Docs.
Data last scanned today · Reviewed yesterday
Overview
Google Workspace MCP Server provides a comprehensive interface for AI assistants to interact with the full suite of Google Workspace applications. It enables natural language control over services including Gmail, Google Drive, Sheets, Slides, Docs, and Google Chat, as well as Calendar and Tasks management. The server features a command-line interface and code mode designed for integration with developer tools and AI models. It supports various Google account types, ranging from free personal accounts to enterprise-level Google Workspace plans.
Our verdict
With a security score of 38/100, this server is classified as high-risk and is not recommended for environments where strict access controls are required. The primary security concern is the lack of an authentication method, meaning any individual with access to the configuration can execute commands on your behalf. Additionally, the server lacks a read-only mode, granting all installations full write access by default. It is suitable only for users who fully understand these risks and have isolated their configuration environments.
- Supports a wide range of Google services
- Active repository with 2,869 GitHub stars
- Zero direct dependencies reduces supply chain surface
- Maintained by 100 contributors
- High security risk due to missing authentication
- No read-only mode restricts safety for automated tasks
- Not an official Google product
- Not yet editorially reviewed
Tools
| Tool | Description | Risk |
|---|---|---|
| search_gmail_messages | Execute a tool with key=value arguments | low |
| list_calendars | List accessible calendars | low |
| get_events | Retrieve events with time range filtering | low |
| manage_event | Create, update, or delete calendar events | medium |
| create_calendar | Create a new secondary Google Calendar | medium |
| query_freebusy | Query free/busy information for calendars | low |
| manage_out_of_office | Create, list, update, or delete Out of Office events | medium |
| manage_focus_time | Create, list, update, or delete Focus Time events | medium |
| search_drive_files | Search files with query syntax | low |
| get_drive_file_content | Read file content (Office, PDF, image) | low |
| get_drive_file_download_url | Download Drive files to local disk | low |
| create_drive_file | Create files or fetch from URLs | medium |
| create_drive_folder | Create empty folders in Drive or shared drives | medium |
| import_to_google_doc | Import files (MD, DOCX, HTML, etc.) as Google Docs | medium |
| import_to_google_slides | Import presentation files (PPTX, PPT, ODP) as Google Slides | medium |
| import_to_google_sheets | Import spreadsheet files (XLSX, CSV, TSV, etc.) as Google Sheets | medium |
| get_drive_shareable_link | Get shareable links for a file | low |
| list_drive_items | List folder contents or shared drives | low |
| copy_drive_file | Copy existing files (templates) with optional renaming | medium |
| update_drive_file | Update metadata, move files, or replace Google Apps content | medium |
| manage_drive_access | Grant, update, revoke permissions, and transfer ownership | medium |
| set_drive_file_permissions | Set link sharing and file-level sharing settings | medium |
| get_drive_file_permissions | Get file metadata, parents, and permissions | low |
| check_drive_file_public_access | Check public sharing status | low |
| get_gmail_message_content | Retrieve message content | low |
| get_gmail_messages_content_batch | Batch retrieve message content | low |
| send_gmail_message | Send emails | medium |
| get_gmail_thread_content | Get full thread content | low |
| modify_gmail_message_labels | Modify message labels | medium |
| list_gmail_labels | List available labels | low |
| list_gmail_filters | List Gmail filters | low |
| manage_gmail_label | Create/update/delete labels | medium |
| manage_gmail_filter | Create or delete Gmail filters | medium |
| draft_gmail_message | Create drafts | medium |
| get_gmail_threads_content_batch | Batch retrieve thread content | low |
| batch_modify_gmail_message_labels | Batch modify labels | medium |
| start_google_auth | Legacy OAuth 2.0 auth (disabled when OAuth 2.1 is enabled) | low |
| get_doc_content | Extract document text | low |
| create_doc | Create new documents | medium |
| modify_doc_text | Insert, replace, and richly format text with tab/segment targeting, append-to-segment support, advanced typography, and link management | medium |
| search_docs | Find documents by name | low |
| find_and_replace_doc | Find and replace text | medium |
| list_docs_in_folder | List docs in folder | low |
| insert_doc_elements | Add tables, lists, page breaks | medium |
| update_paragraph_style | Apply advanced paragraph styling including headings, spacing, direction, pagination controls, shading, and bulleted/numbered/checkbox lists with nesting | medium |
| get_doc_as_markdown | Export document as formatted Markdown with optional comments | low |
| insert_doc_image | Insert images from Drive/URLs | medium |
| update_doc_headers_footers | Create or update headers and footers with correct segment-aware writes | medium |
| batch_update_doc | Execute atomic multi-step Docs API operations including named ranges, section breaks, document/section layout, header/footer creation, segment-aware inserts, images, tables, and rich formatting | medium |
| inspect_doc_structure | Analyze document structure, including safe insertion points, tables, section breaks, headers/footers, and named ranges | low |
| export_doc_to_pdf | Export document to PDF | low |
| create_table_with_data | Create data tables | medium |
| debug_table_structure | Debug table issues | low |
| list_document_comments | List all document comments | low |
| manage_document_comment | Create, reply to, or resolve comments | medium |
| manage_doc_tab | Create, rename, delete, or populate tabs from markdown | medium |
| read_sheet_values | Read cell ranges | low |
| modify_sheet_values | Write/update/clear cells | medium |
| create_spreadsheet | Create new spreadsheets | medium |
| list_spreadsheets | List accessible spreadsheets | low |
| get_spreadsheet_info | Get spreadsheet metadata | low |
| format_sheet_range | Apply colors, number formats, text wrapping, alignment, bold/italic, font size | medium |
| list_sheet_tables | List structured tables with IDs, names, ranges, and columns | low |
| create_sheet | Add sheets to existing files | medium |
| move_sheet_rows | Move rows between sheets within a spreadsheet | medium |
| append_table_rows | Append rows to a structured table, auto-extending the table range | medium |
| list_spreadsheet_comments | List all spreadsheet comments | low |
| manage_spreadsheet_comment | Create, reply to, or resolve comments | medium |
| manage_conditional_formatting | Add, update, or delete conditional formatting rules | medium |
| create_presentation | Create new presentations | medium |
| get_presentation | Retrieve presentation details | low |
| batch_update_presentation | Apply multiple updates | medium |
| get_page | Get specific slide information | low |
| get_page_thumbnail | Generate slide thumbnails | low |
| list_presentation_comments | List all presentation comments | low |
| manage_presentation_comment | Create, reply to, or resolve comments | medium |
| create_form | Create new forms | medium |
| get_form | Retrieve form details & URLs | low |
| set_publish_settings | Configure form settings | medium |
| get_form_response | Get individual responses | low |
| list_form_responses | List all responses with pagination | low |
| batch_update_form | Apply batch updates (questions, settings) | medium |
| list_tasks | List tasks with filtering | low |
| get_task | Retrieve task details | low |
| manage_task | Create, update, delete, or move tasks | high |
| list_task_lists | List task lists | low |
| get_task_list | Get task list details | low |
| manage_task_list | Create, update, delete task lists, or clear completed tasks | high |
| search_contacts | Search contacts by name, email, phone | low |
| get_contact | Retrieve detailed contact info | low |
| list_contacts | List contacts with pagination | low |
| manage_contact | Create, update, or delete contacts | high |
| list_contact_groups | List contact groups/labels | low |
| get_contact_group | Get group details with members | low |
| manage_contacts_batch | Batch create, update, or delete contacts | high |
| manage_contact_group | Create, update, delete groups, or modify membership | high |
| list_spaces | List chat spaces/rooms | low |
| get_messages | Retrieve space messages | low |
| send_message | Send messages to spaces | medium |
| search_messages | Search across chat history | low |
| create_reaction | Add emoji reaction to a message | medium |
| download_chat_attachment | Download attachment from a chat message | low |
| search_custom | Perform web searches (supports site restrictions via sites parameter) | low |
| get_search_engine_info | Retrieve search engine metadata | low |
| list_script_projects | List accessible Apps Script projects | low |
| get_script_project | Get complete project with all files | low |
| get_script_content | Retrieve specific file content | low |
| create_script_project | Create new standalone or bound project | medium |
| update_script_content | Update or create script files | high |
| run_script_function | Execute function with parameters | high |
| list_deployments | List all project deployments | low |
| manage_deployment | Create, update, or delete script deployments | high |
| list_script_processes | View recent executions and status | low |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›What Google Workspace account types are supported?
The server supports all free Google accounts as well as all Google Workspace plans, including Starter, Standard, Plus, Enterprise, and Non-Profit editions.
›Can this MCP server be used for multi-user environments?
Yes, it supports Remote OAuth 2.1 with multi-user bearer token authentication, allowing it to be hosted centrally for an entire organization.
›Is the server compatible with containerized environments?
The server includes a stateless mode, making it specifically designed to be container-friendly for deployment.
›Which Python version is required to run the server?
You must have Python 3.10 or higher installed to run the server.
›Does the server offer features beyond standard API integrations?
It provides full natural language control over twelve different Google services, including specialized tools for Apps Script management, fine-grained document editing, and Google Chat space management.
Alternatives
Changelog
Badge
Maintain this server? Add the live badge to your README.