Google publishes machine-readable discovery docs for every Workspace API. wmcp.sh ingests them and your agent can read Gmail, schedule Calendar events, edit Sheets, search Drive — all from one Google sign-in. No SDKs to wrangle, no per-API token plumbing.
Last updated 2026-05-28 · works with Claude, OpenAI, LangChain, and any MCP client
| Capability | Google API client libs | Pipedream | wmcp.sh |
|---|---|---|---|
| Setup time | Install client lib per API + OAuth dance | Pipedream account + per-workflow auth | Sign in once with Google |
| APIs covered | One lib per API | Manual workflow per API | Gmail + Cal + Drive + Sheets + Docs — one client |
| MCP shape | Wrap each call yourself | Per-workflow | Native MCP tools |
| Token refresh | You handle it | Pipedream handles it | Worker handles it (encrypted vault) |
| Multi-user | You wire per-user OAuth | Per-account workflow | Connected vault per wmcp user |
| Cost | Free libs | Free tier + paid workflows | Free 100/day + $29/mo Pro |
All MCP-shaped — consumed directly by Claude tool_use, OpenAI function-calling, or LangChain.
| Tool | Type | Returns |
|---|---|---|
gmail.users.messages.list | Live action | Inbox listing |
gmail.users.messages.send | Live action | Sent message ID |
calendar.events.list | Live action | Events in a date range |
calendar.events.insert | Live action | Created event |
drive.files.list | Live action | File metadata + IDs |
drive.files.get (export) | Live action | File content |
sheets.spreadsheets.values.get | Live action | Cell range values |
sheets.spreadsheets.values.update | Live action | Updated range |
import { WmcpClient } from "@wmcp/sdk";
import { toAnthropicTools, executeToolUse } from "@wmcp/sdk/anthropic";
import Anthropic from "@anthropic-ai/sdk";
const client = new WmcpClient({ apiKey: process.env.WMCP_API_KEY });
const spec = "https://calendar-json.googleapis.com/$discovery/rest?version=v3";
const tools = (await client.tools(spec))
.filter(t => t.name.includes("events"));
const anthropic = new Anthropic();
const msg = await anthropic.messages.create({
model: "claude-opus-4-7",
max_tokens: 1024,
tools: toAnthropicTools(tools),
messages: [{ role: "user", content: "Book 'sync w/ alex' tomorrow 2-3pm PT in my primary calendar." }],
});
for (const block of msg.content) {
if (block.type === "tool_use") {
// Worker auto-injects your connected Google OAuth token
const result = await executeToolUse(client, spec, block);
console.log(result);
}
}
openid email profile plus gmail.modify, calendar, drive, spreadsheets. Broad enough to cover most agent use cases without re-OAuth. Reduce in Google Cloud Console if you want tighter scope per integration.TOKEN_ENC_KEY). The refresh token's used internally by the worker — your agent code never sees it.Google Workspace OAuth is the example. If you're a SaaS founder thinking about agent traffic, see the founder-level checklist.
Custom adapter + hosted MCP at mcp.yourbrand.com + verified badge. From $499 one-time setup.