Google Chat MCP server
{
"mcpServers": {
"a1-x-tech-google-chat": {
"command": "npx",
"args": [
"-y",
"mcp-google-chat@latest"
],
"env": {
"GOOGLE_CHAT_ACCESS_TOKEN": "<google_chat_access_token>",
"GOOGLE_CHAT_CLIENT_ID": "<google_chat_client_id>",
"GOOGLE_CHAT_CLIENT_SECRET": "<google_chat_client_secret>",
"GOOGLE_CHAT_REFRESH_TOKEN": "<google_chat_refresh_token>"
}
}
}
}{
"mcpServers": {
"a1-x-tech-google-chat": {
"command": "npx",
"args": [
"-y",
"mcp-google-chat@latest"
],
"env": {
"GOOGLE_CHAT_ACCESS_TOKEN": "<google_chat_access_token>",
"GOOGLE_CHAT_CLIENT_ID": "<google_chat_client_id>",
"GOOGLE_CHAT_CLIENT_SECRET": "<google_chat_client_secret>",
"GOOGLE_CHAT_REFRESH_TOKEN": "<google_chat_refresh_token>"
}
}
}
}{
"mcpServers": {
"a1-x-tech-google-chat": {
"command": "npx",
"args": [
"-y",
"mcp-google-chat@latest"
],
"env": {
"GOOGLE_CHAT_ACCESS_TOKEN": "<google_chat_access_token>",
"GOOGLE_CHAT_CLIENT_ID": "<google_chat_client_id>",
"GOOGLE_CHAT_CLIENT_SECRET": "<google_chat_client_secret>",
"GOOGLE_CHAT_REFRESH_TOKEN": "<google_chat_refresh_token>"
}
}
}
}{
"servers": {
"a1-x-tech-google-chat": {
"command": "npx",
"args": [
"-y",
"mcp-google-chat@latest"
],
"env": {
"GOOGLE_CHAT_ACCESS_TOKEN": "${input:google_chat_access_token}",
"GOOGLE_CHAT_CLIENT_ID": "${input:google_chat_client_id}",
"GOOGLE_CHAT_CLIENT_SECRET": "${input:google_chat_client_secret}",
"GOOGLE_CHAT_REFRESH_TOKEN": "${input:google_chat_refresh_token}"
}
}
},
"inputs": [
{
"id": "google_chat_access_token",
"type": "promptString",
"description": "Google chat access token",
"password": true
},
{
"id": "google_chat_client_id",
"type": "promptString",
"description": "Google chat client id",
"password": true
},
{
"id": "google_chat_client_secret",
"type": "promptString",
"description": "Google chat client secret",
"password": true
},
{
"id": "google_chat_refresh_token",
"type": "promptString",
"description": "Google chat refresh token",
"password": true
}
]
}{
"mcpServers": {
"a1-x-tech-google-chat": {
"command": "npx",
"args": [
"-y",
"mcp-google-chat@latest"
],
"env": {
"GOOGLE_CHAT_ACCESS_TOKEN": "<google_chat_access_token>",
"GOOGLE_CHAT_CLIENT_ID": "<google_chat_client_id>",
"GOOGLE_CHAT_CLIENT_SECRET": "<google_chat_client_secret>",
"GOOGLE_CHAT_REFRESH_TOKEN": "<google_chat_refresh_token>"
}
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsoninstall npx -y mcp-google-chatversion 0.1.0
What it does
MCP server for Google Chat that lets AI applications read and write messages, manage threads and reactions, and handle space membership using the Google Chat API. Intended for developers building chat-integrated AI assistants that need to operate as the authenticated user.
- Read messages and threads in Google Chat spaces to summarize discussions and catch up on conversations.
- Send messages and replies in threads under your own name with confirmation before posting.
- React to messages with emoji and manage space membership.
Tools this server exposes
| Tool | Does |
|---|---|
| list_spaces | Discover and list available Google Chat spaces and direct messages. |
| get_space | Retrieve details about a specific Google Chat space. |
| list_messages | Read messages from a space, with support for filtering by date and thread. |
| get_message | Fetch a specific message with its full details. |
| create_message | Send a new message to a space or direct message thread. |
| update_message | Edit a message you previously sent. |
| delete_message | Delete a message you previously sent. |
| list_threads | List message threads within a space. |
| add_reaction | Add an emoji reaction to a message. |
| remove_reaction | Remove an emoji reaction from a message. |
| list_reactions | View reactions on a message. |
| list_members | List members of a space. |
| add_member | Add a member to a space. |
| remove_member | Remove a member from a space. |
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.