Provides tools for accessing and interacting with Google Chat spaces and messages, including listing available spaces and retrieving messages with date filtering.
Utilizes Google Cloud authentication for OAuth2 credentials required to access Google Chat API.
Introduction
This project provides a Google Chat integration for MCP (Model Control Protocol) servers written by Python with FastMCP. It allows you to access and interact with Google Chat spaces and messages through MCP tools.
Structure
The project consists of two main components:
- MCP Server with Google Chat Tools: Provides tools for interacting with Google Chat through the Model Control Protocol.
- Written by FastMCP
server.py
: Main MCP server implementation with Google Chat toolsgoogle_chat.py
: Google Chat API integration and authentication handling
- Authentication Server: Standalone component for Google account authentication
- Written by FastAPI
- Handles OAuth2 flow with Google
- Stores and manages access tokens
- Can be run independently or as part of the MCP server
server_auth.py
: Authentication server implementation
The authentication flow allows you to obtain and refresh Google API tokens, which are then used by the MCP tools to access Google Chat data. (Your spaces and messages)
Features
- OAuth2 authentication with Google Chat API
- List available Google Chat spaces
- Retrieve messages from specific spaces with date filtering
- Local authentication server for easy setup
Requirements
- Python 3.8+
- Google Cloud project with Chat API enabled
- OAuth2 credentials from Google Cloud Console
How to use?
Prepare Google Oauth Login
- Clone this project
- Prepare a Google Cloud Project (GCP)
- Google Cloud Conolse (https://console.cloud.google.com/auth/overview?project=)
- Google Auth Platform > Clients > (+) Create client > Web application
reference: https://developers.google.com/identity/protocols/oauth2/?hl=en
Authorized JavaScript origins add:
http://localhost:8000
Authorized redirect URIs:http://localhost:8000/auth/callback
- After you create a OAuth 2.0 Client, download the client secrets as
.json
file. Save ascredentials.json
at top level of project.
Run Auth server and get your Google access token (login google only, not MCP server yet)
- Open browser at http://localhost:8000/auth
- login it!
- after loggined, you access token will be saved as
token.json
MCP Configuration (mcp.json)
Tools
The MCP server provides the following tools:
Google Chat Tools
get_chat_spaces()
- List all Google Chat spaces the bot has access toget_space_messages(space_name: str, start_date: str, end_date: str = None)
- List messages from a specific Google Chat space with optional time filtering
Development and Debug
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Provides MCP (Model Control Protocol) tools for accessing and interacting with Google Chat spaces and messages through OAuth2 authentication.
Related MCP Servers
- -securityFlicense-qualityThe Google Meet MCP Server enables AI agents to create, manage, and retrieve Google Meet meetings. Built on the Model Context Protocol, it exposes tools for scheduling, updating, and deleting meetings, making it easy to integrate Google Meet functionalitiesLast updated -JavaScript
- -securityFlicense-qualityAn MCP server that enables authentication and authorization with Google's OAuth2 API, allowing users to securely authenticate and access Google services through natural language interactions.Last updated -Python
- -securityFlicense-qualityAn MCP (Multi-Agent Conversation Protocol) server that enables interaction with Google's Managed Service for Microsoft Active Directory through its OpenAPI, allowing users to manage identity resources through natural language.Last updated -Python
- -securityAlicense-qualityGoogle Chat MCP Sever (Extendable to Teams,Slack.)Last updated -9PythonMIT License