google-chat-mcp

google-chat-mcp

Connects Claude to Google Chat for searching messages, spaces, and DMs, automatically resolving user IDs to real display names.

Category
Visit Server

README

google-chat-mcp

An MCP (Model Context Protocol) server that connects Claude to your Google Chat workspace — search spaces, DMs, and full message history. All sender and member names are automatically resolved to real display names via the Google People/Directory API.

Each user authenticates with their own Google account. No shared credentials files, no admin access required.


What you can do with it

  • Search your full message history across all spaces and DMs
  • Ask Claude questions like "what did the team decide about X?", "find the doc Sarah shared in the eng channel", "what were we discussing last week about the API?"
  • Browse spaces, read recent messages, see who's in a given space — with real names, not user IDs
  • Ask "who have I spoken to in the last 3 days?" and get a named list
  • Works with Cursor, Claude Code, Claude Desktop, and Cowork

Setup

Quick install (one command)

git clone https://github.com/ROKT/google-chat-mcp-yash.git && cd google-chat-mcp-yash && pipx install -e . && google-chat-mcp setup --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET

Replace YOUR_CLIENT_ID and YOUR_CLIENT_SECRET with the values from 1Password or a teammate.

Don't have pipx? Run brew install pipx first.

What setup does

  1. Saves your credentials locally to ~/.config/google-chat-mcp/env.json
  2. Automatically configures ~/.cursor/mcp.json
  3. Opens a browser for Google OAuth — sign in with your Rokt account

That's it. Reload Cursor (Cmd+Shift+P → Developer: Reload Window) and start chatting.

Interactive setup (if you prefer)

google-chat-mcp setup
# Prompts for Client ID and Client Secret interactively

Usage

Once connected, just ask Claude naturally:

What you want What to ask
Search history "Search my Google Chat for any messages about the Q4 budget"
Find a decision "What did we decide about the API versioning policy?"
Find a doc that was shared "Did anyone share a link to the new design doc in the product channel?"
Recent activity "What was discussed in the engineering space last week?"
Who's in a space "Who's in the #data-platform space?"
Browse spaces "Show me all my Google Chat spaces"
Recent conversations "Who have I spoken to in the last 3 days?"
Send a message "Send 'heading out for lunch' to my DM with Caroline"

Available MCP tools

Read

Tool Description
gchat_list_spaces List all spaces, group chats, and DMs
gchat_search_messages Search messages across all or specific spaces
gchat_get_space_messages Get recent messages from one space
gchat_get_space_members List members of a space (with real display names)
gchat_get_space Get details of a specific space
gchat_get_message Get a single message by resource name
gchat_get_member Get details of a specific member

Write

Tool Description
gchat_send_message Send a text message to a space or DM
gchat_delete_message Delete a message

All tools return real display names for senders and members — no raw user IDs.


Other MCP clients

The setup command auto-configures Cursor. For other clients, add manually:

Claude Code

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "google-chat": {
      "command": "google-chat-mcp",
      "args": ["serve"]
    }
  }
}

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "google-chat": {
      "command": "google-chat-mcp",
      "args": ["serve"]
    }
  }
}

For Claude Code and Claude Desktop, the serve command automatically loads saved credentials from ~/.config/google-chat-mcp/env.json — no env block needed.

Cowork

Copy skill/SKILL.md to your Cowork skills folder.


Commands

google-chat-mcp setup    # One-time setup (saves creds, configures Cursor, authenticates)
google-chat-mcp auth     # Re-authenticate with Google
google-chat-mcp serve    # Start MCP server (called automatically by MCP clients)
google-chat-mcp logout   # Revoke cached token

OAuth Scopes

Scope Purpose
chat.spaces.readonly List spaces and DMs
chat.messages.readonly Read message history
chat.messages.create Send new messages
chat.messages Delete messages
chat.memberships.readonly Read space membership
directory.readonly Resolve user IDs → real names via Google People API

Troubleshooting

No credentials found — Run google-chat-mcp setup to save your credentials.

Connection closed in Cursor — Run which google-chat-mcp and check the path matches what's in ~/.cursor/mcp.json. Re-run google-chat-mcp setup to fix.

Error 403 — Your Google Workspace may restrict Chat or People API access. Ask your admin.

Token expired — Run google-chat-mcp auth to refresh.

Force re-authenticationgoogle-chat-mcp logout && google-chat-mcp auth


Privacy & security

  • All authentication is handled by Google OAuth 2.0 — your password is never stored
  • Read and write scopes are requested — Claude can search messages and send on your behalf (always with your confirmation)
  • Your token is stored locally at ~/.config/google-chat-mcp/token.json
  • OAuth client credentials are stored locally at ~/.config/google-chat-mcp/env.json
  • Nothing is sent to any third-party server — the MCP server runs entirely on your machine

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured