Start a project
Back to work

Google Workspace for AI Agents

An MCP server that hands any AI agent controlled access to Gmail, Drive, Calendar, Docs, Sheets and the rest of Google Workspace — hosted once for a whole organisation, with per-user consent rather than shared credentials.

Google Workspace for AI Agents
Services
10 live
Tools
166
Auth
OAuth 2.1
Transport
stdio · http

Google Workspace holds the material most business work actually runs on. The thread where the decision was made, the spreadsheet the numbers came from, the folder the contract lives in, the calendar that says who is free on Thursday.

AI agents mostly cannot reach any of it. So people bridge the gap by hand: copying a thread into a chat window, pasting the model's answer back into a reply, downloading a sheet to ask a question about it, re-uploading the result. The agent is capable and the data exists, and the two never meet without a human carrying material between them.

This closes that gap. It exposes ten Workspace services as tools any MCP-speaking agent can call, so the agent reads the actual mailbox and writes the actual document rather than working from whatever was pasted in.

The design decision that matters is that it is built to be hosted once for an organisation rather than installed per laptop. That sounds like an infrastructure detail and is really a security one: the moment a server is shared, the question of whose mailbox an agent is reading stops being obvious, and has to be answered by the architecture instead of by trust.

Coverage

Ten Workspace services, not two

Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts and Chat — 166 tools in total, weighted towards the surfaces people actually live in: 37 for Gmail alone, 24 each for Drive and Docs, 23 for Tasks. These are not thin wrappers around a single endpoint; Gmail covers search with full query syntax, batch message retrieval, drafts, labels and filters, because an agent that can only send mail is not much use to anyone. Services are enabled per deployment, so the finance team's instance need not expose Chat.

Ten Workspace services, not two
Portability

Any agent that speaks MCP

Claude Code, Claude Desktop, Codex, Cursor, Open WebUI, or something built in-house — over stdio for local clients and streamable-http for shared ones. Because MCP is the contract, adding a client is a configuration change rather than an integration project, and swapping the agent later does not mean rebuilding the Workspace layer underneath it. That matters more than it sounds: the agent landscape moves quickly, and the integration work is the part you do not want to redo each time it does.

Any agent that speaks MCP
Context

Load the tools, not the whole catalogue

166 tool definitions would consume a meaningful share of an agent's context before it had read a single email, and an agent presented with every possible action tends to choose worse than one given ten relevant ones. Tiers cut the exposed surface to core, extended or complete, and a per-service filter narrows it further, so an agent built to triage invoices sees Drive and Sheets and nothing else. Smaller surface, cheaper calls, better tool selection.

Load the tools, not the whole catalogue
Identity

One server, many users, separate reach

OAuth 2.1 with per-user consent. Every account holds its own refresh token and its own scope grant, so hosting centrally never collapses into a shared service account that can read everything — the failure mode where one person's agent quietly has access to the finance director's mailbox. Scopes are granted per service rather than per server, so an account authorised for Calendar cannot be talked into reading Drive, and revoking one account leaves every other session untouched.

One server, many users, separate reach
Oversight

Every call attributable

Each tool call is recorded with the account it executed as, the client that requested it, and how long it took. When an agent does something unexpected — and eventually one will — the questions worth asking are which agent, acting as whom, and against what. Those are answered before you start looking, rather than reconstructed afterwards from provider logs that were never designed to tell you which assistant was driving.

Every call attributable

Want something like this?

We build internal tools, automation and AI systems like this one. Tell us what you are trying to ship.

Start a project