MCP server for the Google Chat API — list and search spaces, read and send messages, work with threads, reactions, attachments and memberships. For Claude, Cursor, Codex and other AI clients.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add google-chat --env GOOGLE_CHAT_CLIENT_SECRET='<GOOGLE_CHAT_CLIENT_SECRET>' --env GOOGLE_CHAT_REFRESH_TOKEN='<GOOGLE_CHAT_REFRESH_TOKEN>' --env GOOGLE_CHAT_ACCESS_TOKEN='<GOOGLE_CHAT_ACCESS_TOKEN>' -- npx -y mcp-google-chat~/.codex/config.toml
[mcp_servers.google-chat]
command = "npx"
args = ["-y", "mcp-google-chat"]
env = { GOOGLE_CHAT_CLIENT_SECRET = "<GOOGLE_CHAT_CLIENT_SECRET>", GOOGLE_CHAT_REFRESH_TOKEN = "<GOOGLE_CHAT_REFRESH_TOKEN>", GOOGLE_CHAT_ACCESS_TOKEN = "<GOOGLE_CHAT_ACCESS_TOKEN>" }
# codex mcp add google-chat --env GOOGLE_CHAT_CLIENT_SECRET='<GOOGLE_CHAT_CLIENT_SECRET>' --env GOOGLE_CHAT_REFRESH_TOKEN='<GOOGLE_CHAT_REFRESH_TOKEN>' --env GOOGLE_CHAT_ACCESS_TOKEN='<GOOGLE_CHAT_ACCESS_TOKEN>' -- npx -y mcp-google-chat~/.cursor/mcp.json
{
"mcpServers": {
"google-chat": {
"command": "npx",
"args": [
"-y",
"mcp-google-chat"
],
"env": {
"GOOGLE_CHAT_CLIENT_SECRET": "<GOOGLE_CHAT_CLIENT_SECRET>",
"GOOGLE_CHAT_REFRESH_TOKEN": "<GOOGLE_CHAT_REFRESH_TOKEN>",
"GOOGLE_CHAT_ACCESS_TOKEN": "<GOOGLE_CHAT_ACCESS_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"google-chat": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-google-chat"
],
"env": {
"GOOGLE_CHAT_CLIENT_SECRET": "<GOOGLE_CHAT_CLIENT_SECRET>",
"GOOGLE_CHAT_REFRESH_TOKEN": "<GOOGLE_CHAT_REFRESH_TOKEN>",
"GOOGLE_CHAT_ACCESS_TOKEN": "<GOOGLE_CHAT_ACCESS_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"google-chat": {
"command": "npx",
"args": [
"-y",
"mcp-google-chat"
],
"env": {
"GOOGLE_CHAT_CLIENT_SECRET": "<GOOGLE_CHAT_CLIENT_SECRET>",
"GOOGLE_CHAT_REFRESH_TOKEN": "<GOOGLE_CHAT_REFRESH_TOKEN>",
"GOOGLE_CHAT_ACCESS_TOKEN": "<GOOGLE_CHAT_ACCESS_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"google-chat": {
"command": "npx",
"args": [
"-y",
"mcp-google-chat"
],
"env": {
"GOOGLE_CHAT_CLIENT_SECRET": "<GOOGLE_CHAT_CLIENT_SECRET>",
"GOOGLE_CHAT_REFRESH_TOKEN": "<GOOGLE_CHAT_REFRESH_TOKEN>",
"GOOGLE_CHAT_ACCESS_TOKEN": "<GOOGLE_CHAT_ACCESS_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"google-chat": {
"command": "npx",
"args": [
"-y",
"mcp-google-chat"
],
"env": {
"GOOGLE_CHAT_CLIENT_SECRET": "<GOOGLE_CHAT_CLIENT_SECRET>",
"GOOGLE_CHAT_REFRESH_TOKEN": "<GOOGLE_CHAT_REFRESH_TOKEN>",
"GOOGLE_CHAT_ACCESS_TOKEN": "<GOOGLE_CHAT_ACCESS_TOKEN>"
}
}
}
}Environment variables
GOOGLE_CHAT_CLIENT_SECRETGOOGLE_CHAT_REFRESH_TOKENGOOGLE_CHAT_ACCESS_TOKEN
Replace the placeholders with your own credentials and keep them out of version control.