google_workspace_mcp
Control Gmail, Google Calendar, Docs, Sheets, Slides, Chat, Forms, Tasks & Drive with AI - Comprehensive Google Workspace MCP Server
AI Summary
Google Workspace MCP Server
Provides a production-ready MCP server that unifies Google Workspace APIs, enabling AI assistants and other MCP-capable clients to control Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Tasks, and Chat through natural language.
Target Users
Intermediate to advanced GAS/Python developers who need to control Google Workspace from AI assistants or custom MCP clients.
Problems Solved
Individually wiring and authenticating multiple Google Workspace APIs is time-consuming and makes unified access from AI tools cumbersome.
Tags
Main Features
Centralised OAuth 2.0
Built-in token refresh, callback handling, and scope grouping remove the need to hand-roll authentication.
Covers Major Workspace Services
Offers ready-made tools for CRUD operations across Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Tasks and Chat.
High Performance & Thread-safe
Built on FastMCP with 30-minute service caching for responsive, thread-safe sessions.
CLI & One-click Install
Use instantly via uvx CLI or one-click Claude Desktop DXT bundles, avoiding manual setup.
Usage Examples
Fetch calendar list from MCP server in GAS
/**
* Assumes a Google Workspace MCP server is running in HTTP mode
* (e.g. `uv run main.py --transport streamable-http`).
* Complete the OAuth flow once in your browser before running.
*/
function listCalendarsWithMCP() {
const SERVER_URL = 'http://localhost:8000/mcp';
const payload = {
tool: 'list_calendars', // MCP tool name
args: {}
};
const options = {
method: 'post',
contentType: 'application/json',
payload: JSON.stringify(payload)
};
const response = UrlFetchApp.fetch(SERVER_URL, options);
const calendars = JSON.parse(response.getContentText());
Logger.log(calendars);
}
Copy-paste the snippet into Apps Script, run it, and you will receive the list of calendars returned by the MCP server. On first run, open the authorization URL provided by the server and grant access.