google-chat-mcp
Connects Claude to Google Chat for searching messages, spaces, and DMs, automatically resolving user IDs to real display names.
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 pipxfirst.
What setup does
- Saves your credentials locally to
~/.config/google-chat-mcp/env.json - Automatically configures
~/.cursor/mcp.json - 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
servecommand automatically loads saved credentials from~/.config/google-chat-mcp/env.json— noenvblock 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-authentication — google-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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.