Google Workspace MCP

Connect your AI client to Gmail, Calendar, Drive, Docs, Sheets, Slides, Forms, Tasks, Contacts, Chat, Apps Script, and Search.

https://gsuite.nlma.io/mcp

What you get

Gmail — search, read, send, draft, labels, filters Calendar — events, availability, OOO, focus time Drive — search, read, upload, share, permissions Docs — create, edit, comments, export Sheets — read, write, format, conditional formatting Slides — create and update presentations Forms — build forms, read responses Tasks — list and manage tasks Contacts — search, create, update, groups Chat — spaces, messages, reactions Apps Script — deploy, run, manage projects Programmable Search — custom search engine queries

Before you start

This server is in Google Testing mode. Your Google account must be on the allowlist before you can grant access. Submit your address below and it will be added to the Google Cloud project test-user list. Tokens re-grant every 7 days while in testing mode.

ChatGPT (Plus, Pro, Business, Enterprise)

Add as a Connector

  1. Open ChatGPT → SettingsConnectorsAdd connector.
  2. Name it Google Workspace.
  3. MCP Server URL: https://gsuite.nlma.io/mcp
  4. Authentication: OAuth. Leave client ID and secret blank — the server supports Dynamic Client Registration.
  5. Save, then click Connect. A Google sign-in window opens. Sign in with your allowlisted account and approve scopes.
  6. Enable the connector in a new chat via the tools menu, or reference it in Deep Research.
ChatGPT MCP connectors are a Developer Mode / Pro/Business/Enterprise feature. If you don't see the Connectors option, check your plan and that Developer Mode is enabled under Settings → Connectors → Advanced.

Claude.ai (web)

Add a Custom Connector

  1. Open Claude.ai → SettingsConnectorsAdd custom connector.
  2. Name: Google Workspace
  3. Remote MCP server URL: https://gsuite.nlma.io/mcp
  4. Click Add, then Connect on the new row. Approve the Google OAuth consent.
  5. In any chat, open the attachments menu and enable Google Workspace for that conversation.

Claude Desktop (macOS / Windows)

Edit claude_desktop_config.json

Claude Desktop's config file lives at:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add a mcpServers entry. Claude Desktop proxies remote HTTP MCPs through mcp-remote:

{
  "mcpServers": {
    "gsuite": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://gsuite.nlma.io/mcp"]
    }
  }
}
  1. Save and fully quit Claude Desktop, then reopen.
  2. The first tool call will pop a browser window for Google OAuth consent.
Requires Node.js 18+ on the machine so that npx mcp-remote can run.

Claude Code (CLI)

Add with one command

claude mcp add --transport http gsuite https://gsuite.nlma.io/mcp

Then launch claude. On the first tool call, an OAuth window opens in your default browser. After approval, the refresh token is stored server-side and Claude Code keeps working without further prompts (until the weekly re-grant while in Testing mode).

Scope the connection to a single project instead of globally:

claude mcp add --transport http --scope project gsuite https://gsuite.nlma.io/mcp

List and verify:

claude mcp list
claude mcp get gsuite

Cursor

Edit ~/.cursor/mcp.json

{
  "mcpServers": {
    "gsuite": {
      "url": "https://gsuite.nlma.io/mcp"
    }
  }
}
  1. Reload Cursor. Open Settings → MCP and confirm gsuite shows as connected.
  2. Click Sign in on the row if prompted, and complete Google consent.

Any other MCP client

The server implements the standard MCP Streamable HTTP transport with OAuth 2.1 + Dynamic Client Registration. If your client supports remote MCP over HTTP, point it at:

https://gsuite.nlma.io/mcp

Discovery endpoints:

https://gsuite.nlma.io/.well-known/oauth-authorization-server
https://gsuite.nlma.io/.well-known/oauth-protected-resource

No client ID or secret is required — the client will register itself via POST /register and run the authorization-code + PKCE flow. Unauthenticated requests return 401 with a WWW-Authenticate: Bearer header pointing at the metadata endpoints.

Troubleshooting

"Access blocked: this app has not been verified" — Your Google account isn't on the test-user allowlist. Email forrest@nlma.io to be added.

Tools stopped working after about a week — Expected in Testing mode. Disconnect and reconnect the server in your client to re-grant.

Client shows "connected" but no tools appear — Give it 30 seconds after the OAuth redirect, then restart the client. Some clients only list tools after a fresh session.