{"id":31557302,"url":"https://github.com/chayan-1906/google-workspace-mcp","last_synced_at":"2025-10-04T23:54:09.923Z","repository":{"id":310683359,"uuid":"985905276","full_name":"chayan-1906/Google-Workspace-MCP","owner":"chayan-1906","description":"🧠🤖 MCP-compliant AI agent server in TypeScript 🚀 — Extend Claude \u0026 others with 📊 Google Drive, Sheets, Docs superpowers!","archived":false,"fork":false,"pushed_at":"2025-08-19T15:02:50.000Z","size":351,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-19T17:32:22.961Z","etag":null,"topics":["claude-ai","claude-desktop","featured","google-docs","google-docs-api","google-drive","google-drive-api-v3","google-oauth","google-sheets","google-sheets-api-v4","llm-integration","mcp-server","model-context-protocol","mongodb","nodejs","portfolio","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chayan-1906.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-18T19:02:41.000Z","updated_at":"2025-08-19T15:02:53.000Z","dependencies_parsed_at":"2025-08-19T17:32:25.576Z","dependency_job_id":"c832a442-0598-47c0-b0a6-4c3ded6e2f21","html_url":"https://github.com/chayan-1906/Google-Workspace-MCP","commit_stats":null,"previous_names":["chayan-1906/google-workspace-mcp"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/chayan-1906/Google-Workspace-MCP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chayan-1906%2FGoogle-Workspace-MCP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chayan-1906%2FGoogle-Workspace-MCP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chayan-1906%2FGoogle-Workspace-MCP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chayan-1906%2FGoogle-Workspace-MCP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chayan-1906","download_url":"https://codeload.github.com/chayan-1906/Google-Workspace-MCP/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chayan-1906%2FGoogle-Workspace-MCP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278391189,"owners_count":25978945,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude-ai","claude-desktop","featured","google-docs","google-docs-api","google-drive","google-drive-api-v3","google-oauth","google-sheets","google-sheets-api-v4","llm-integration","mcp-server","model-context-protocol","mongodb","nodejs","portfolio","typescript"],"created_at":"2025-10-04T23:53:59.630Z","updated_at":"2025-10-04T23:54:09.917Z","avatar_url":"https://github.com/chayan-1906.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Google Workspace MCP Server\n\nAn MCP-compliant server built with TypeScript to extend Claude and other AI agents with Google Workspace (Drive, Spreadsheet, Docs) capabilities\n\n---\n\n![logo](https://raw.githubusercontent.com/chayan-1906/Google-Workspace-MCP/master/google-workspace.png)\n\n## ⚙️ Quick Start\n\n### 1. 📁 Clone the repo\n```\ngit clone https://github.com/chayan-1906/Google-Workspace-MCP.git\ncd Google-Workspace-MCP\n```\n\n### 2. 📦 Install dependencies\n```\nnpm install\n```\n\n### User Guide -- https://versed-blinker-33e.notion.site/Google-Workspace-MCP-User-Guide-20f0c027172280c8b84fd90fbe67596c\n\n## 🧰 Available Tools\n\n| Tool Name                           | Description                                                                                       |\n|-------------------------------------|---------------------------------------------------------------------------------------------------| \n| `myDetails`                         | Fetches the authenticated user's email address                                                    |\n|                                     |                                                                                                   |\n| `getDriveFolderIdsByName`           | Finds the Google Drive folder IDs by folder name                                                  |\n| `getDriveFolderContentById`         | Finds the Google Drive folder contents by folder ID                                               |\n| `getSheetIdsByName`                 | Finds the Google Spreadsheet IDs by spreadsheet name                                              |\n| `createSpreadsheet`                 | Creates a new Google Spreadsheet in the specified Drive folder                                    |\n| `deleteSpreadsheet`                 | The ID of the spreadsheet to delete                                                               |\n| `renameSpreadsheet`                 | Renames an existing Google Spreadsheet by the spreadsheet ID                                      |\n| `shareSpreadsheet`                  | Shares the Google Spreadsheet with one or more users                                              |\n| `unshareSpreadsheet`                | Unshares the spreadsheet from specific email addresses (ignores if not shared)                    |\n| `getDocIdsByName`                   | Finds the Google Doc IDs by doc name                                                              |\n| `getDocMetadata`                    | Fetches basic metadata for a Google Doc (title, timestamps, owners)                               |\n| `createDoc`                         | Creates a new Google Doc in the specified Drive folder                                            |\n| `deleteDoc`                         | Deletes a Google Docs document                                                                    |\n| `renameDoc`                         | Renames a Google Docs document                                                                    |\n|                                     |                                                                                                   |\n| `appendSheetTabRow`                 | Appends a new row to an existing sheet                                                            |\n| `deleteRow`                         | Deletes one or more rows in a sheet tab                                                           |\n| `clearRanges`                       | Clears certain ranges from a Google Spreadsheet                                                   |\n| `updateRanges`                      | Updates specific ranges in a Google Spreadsheet                                                   |\n| `getSheetTabContent`                | Fetches values from a specific sheet range                                                        |\n| `addSheetTab`                       | Creates a new sheet tab in a Google Spreadsheet                                                   |\n| `renameSheetTab`                    | Renames a sheet tab in Google Spreadsheet                                                         |\n| `deleteSheetTab`                    | Deletes a sheet tab by its numeric sheet ID                                                       |\n| `addSheetTabContent`                | Adds new content (rows) to a specified range in a Google Spreadsheet                              |\n| `updateSheetTabContent`             | Overwrites content in a specific Google Spreadsheet ranges                                        |\n| `insertColumn`                      | Inserts a new column in a sheet at a specific position in Google Spreadsheet                      |\n| `deleteColumn`                      | Deletes one or more columns in a sheet tab from Google Spreadsheet                                |\n| `addChart`                          | Adds a chart to the specified sheet in Google Spreadsheet                                         |\n| `sortSheet`                         | Sorts a row range by one or more column indexes in Google Spreadsheet                             |\n| `filterSheet`                       | Applies filterSheet view to a specified cell range in Google Spreadsheet                          |\n| `functions`                         | Applies spreadsheet function formulas (e.g., SUM, AVERAGE) to specific cell in Google Spreadsheet |\n| `addConditionalFormatting`          | Adds conditional formatting to a range in a Google Sheet                                          |\n| `clearAllConditionalFormatting`     | Clears all conditional formatting rules in a sheet                                                |\n| `freezeRowsColumns`                 | Freezes specified number of rows and columns in a sheet in Google Spreadsheet                     |\n| `unfreezeRowsColumns`               | Removes any frozen rows or columns from the Google Spreadsheet                                    |\n| `customCellFormatting`              | Applies custom formatting to a specified cell range in a Google Spreadsheet                       |\n| `clearAllCustomCellFormattingSheet` | Clears all custom cell formatting (like font, color, alignment) from the given Google SpreadSheet |\n| `duplicateSheetTab`                 | Duplicates a sheet and assigns a new name                                                         |\n| `mergeCells`                        | Merges a specified cell range in a sheet using a selected merge type in Google Spreadsheet        |\n| `unmergeCells`                      | Unmerges cells in the given range on a Google Spreadsheet                                         |\n| `setHeightWidth`                    | Sets row height or column width in a Google Spreadsheet                                           |\n| `protectCells`                      | Adds a protected range to specific cells with a warning in a Google Spreadsheet                   |\n| `insertLinkSheet`                   | Inserts a hyperlink into a specific cell in Google Spreadsheet                                    |\n|                                     |                                                                                                   |\n| `getDocContent`                     | Retrieves the plain text content of a Google Docs document                                        |\n| `appendDocText`                     | Appends text to the end of a Google Docs document                                                 |\n| `findTextIndices`                   |                                                                                                   |\n| `insertTextAtPosition`              | Inserts text at a specific position in a Google Docs document'                                    |\n| `findAndReplaceTextDoc`             | Finds and replaces a specific or all occurrences of a string in a Google Doc                      |\n| `deleteTextRange`                   | Deletes specific content ranges in a Google Docs document using precomputed start and end indices |\n| `insertLinkDoc`                     | Inserts a hyperlink into a Google Docs document at a specified position                           |\n| `unLinkDoc`                         |                                                                                                   |\n| `insertImage`                       |                                                                                                   |\n| `insertTable`                       |                                                                                                   |\n| `deleteElement`                     |                                                                                                   |\n| `applyTextStyle`                    |                                                                                                   |\n| `applyParagraphStyle`               |                                                                                                   |\n| `applyNamedStyle`                   |                                                                                                   |\n| `setBackgroundColor`                |                                                                                                   |\n| `setListStyle`                      |                                                                                                   |\n| `clearAllFormattingDoc`             |                                                                                                   |\n| `addCommentDoc`                     |                                                                                                   |\n| `deleteCommentDoc`                  |                                                                                                   |\n| `listCommentsDoc`                   |                                                                                                   |\n| `copyDoc`                           |                                                                                                   |\n| `exportDoc`                         |                                                                                                   |\n| `shareDoc`                          |                                                                                                   |\n| `unshareDoc`                        |                                                                                                   |\n\n## 🧪 Run the MCP Server\n```\nnpm run dev\n```\nOr compile and run:\n```\nnpm run package\n```\n\n## 👨‍💻 Tech Stack\n\n• 🟦 **TypeScript** – Type-safe application development\n\n* 📁 **Google Drive API v1** – Folder and file operations (fetch folders/files, create, delete, rename)\n\n• 📄 **Google Sheets API v4** – Full spreadsheet automation: create/delete/rename spreadsheets, manipulate sheets, rows, columns, charts, formatting, and access control\n\n• 📄 **Google Docs API v3** – Advanced document operations: content editing, structure manipulation (tabs, tables, images), formatting, commenting, sharing, and exporting\n\n• 🧠 **MCP SDK** – Model Context Protocol server framework\n\n• ✅ **Zod** – Schema-based input validation\n\n• 🌱 **dotenv** – Environment variable management\n\nfor /f \"tokens=5\" %a in ('netstat -aon ^| findstr :20251') do taskkill /F /PID %a\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchayan-1906%2Fgoogle-workspace-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchayan-1906%2Fgoogle-workspace-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchayan-1906%2Fgoogle-workspace-mcp/lists"}