Google Workspace Code MCP
Provides programmable access to Google Workspace APIs, allowing users to execute JavaScript or TypeScript code to interact with services like Google Drive and Google Calendar via the googleapis SDK.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Workspace Code MCPList my calendar events for today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Workspace Code MCP
Important: This is an alternative experiment, not my primary setup
If you are looking for the Google Workspace integration I actually use day-to-day, use this skill instead:
This repository is an alternative code-first MCP experiment built around one execute tool.
It is intentionally aligned with the ideas in:
Your MCP Doesn’t Need 30 Tools: It Needs Code — https://lucumr.pocoo.org/2025/8/18/code-mcps/
That post explores code-supported/code-first MCP design (fewer fixed tools, more programmable capability).
A local JavaScript/TypeScript MCP server with a single tool: execute.
execute runs JavaScript (or TypeScript with type stripping) and gives that code authenticated access to Google Workspace APIs.
What this server does
Exposes one MCP tool:
executeRuns user-provided JavaScript/TypeScript (async function body; TS types stripped)
Automatically performs OAuth login on first use (browser flow)
Reuses stored tokens on subsequent calls
Provides a small runtime API inside executed code:
auth— Google OAuth clientgoogle—googleapisSDK rootworkspace— helper methods (call,service,whoAmI)state— persistent mutable object across calls
This follows a code-mode design: one flexible execution tool instead of many fixed tools.
Related MCP server: Google Workspace MCP Server
Requirements
Node.js 20+
Local desktop/browser access for the initial OAuth sign-in
Install
npm installRun
npm startor:
node src/server.jsMCP configuration
This repo already includes .mcp.json:
{
"mcpServers": {
"google-workspace-code": {
"type": "stdio",
"command": "node",
"args": [
"/Users/mitsuhiko/Development/workspace-mcp/src/server.js"
],
"env": {
"GOOGLE_WORKSPACE_AUTH_MODE": "cloud"
}
}
}
}If you move the project, update the args path.
Tool contract
Tool name
execute
Input schema
script(string, required): JavaScript/TypeScript async function body (TS type syntax is stripped before execution)timeoutMs(number, optional): execution timeout in milliseconds (default30000, max300000)scopes(string[], optional): override OAuth scopes for the callresetState(boolean, optional): clears persistentstatebefore execution
Execution environment
Your script runs as an async function body with these variables in scope:
authgoogleworkspacestate
Return values are serialized and sent back as tool output.
Example scripts
1) Who am I + list Drive files
const me = await workspace.whoAmI();
const files = await workspace.call('drive', 'files.list', {
pageSize: 5,
fields: 'files(id,name,mimeType)'
});
state.lastEmail = me.email;
return {
user: me,
files: files.files,
remembered: state.lastEmail
};2) List today’s calendar events
const start = new Date();
start.setHours(0, 0, 0, 0);
const end = new Date(start);
end.setDate(end.getDate() + 1);
return await workspace.call('calendar', 'events.list', {
calendarId: 'primary',
timeMin: start.toISOString(),
timeMax: end.toISOString(),
singleEvents: true,
orderBy: 'startTime'
});OAuth and token storage
First call without token triggers browser login automatically
Default config directory:
~/.pi/google-workspaceDefault token path:
~/.pi/google-workspace/token.jsonDefault auth mode:
cloud(unless overridden)
Environment variables
GOOGLE_WORKSPACE_CONFIG_DIRGOOGLE_WORKSPACE_CREDENTIALSGOOGLE_WORKSPACE_TOKENGOOGLE_WORKSPACE_AUTH_MODE(cloudorlocal)GOOGLE_WORKSPACE_CLIENT_IDGOOGLE_WORKSPACE_CLOUD_FUNCTION_URLGOOGLE_WORKSPACE_CALLBACK_HOST
Security notes
Uses Node
vmfor execution convenience, not a hardened sandbox.Treat this as trusted local tooling.
Do not expose this server to untrusted users or networks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server for automating Google Workspace applications including Sheets, Apps Script, Drive, Docs, and Gmail. It enables users to manipulate spreadsheets, edit scripts, manage files, and send emails directly from conversational AI interfaces.Last updated31MIT
- Alicense-qualityDmaintenanceA comprehensive MCP server integrating Google Docs, Sheets, Drive, Gmail, Calendar, and Apps Script APIs, featuring unique Apps Script support for AI-driven automation.Last updated168MIT
- AlicenseBqualityCmaintenanceProduction-ready MCP server for Google Workspace providing broad coverage across Gmail, Drive, Calendar, Docs, Sheets, and more, with safe-by-default write operations and markdown-to-Google-Docs support.Last updated100MIT
- Flicense-qualityDmaintenanceEnables local execution of Google Apps Script tools for Google Workspace automation via an MCP server, using gas-fakes for secure sandboxed execution.Last updated613
Related MCP Connectors
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
MCP server for interacting with the Supabase platform
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mitsuhiko/google-workspace-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server