Integrations
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 projectCopy
- 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
Provides MCP (Model Control Protocol) tools for accessing and interacting with Google Chat spaces and messages through OAuth2 authentication.
Related MCP Servers
- -securityFlicense-qualityA specialized Model Context Protocol (MCP) server that integrates Google services (Gmail, Calendar, etc.) into your AI workflows. This server enables seamless access to Google services through MCP, allowing AI agents to interact with Gmail, Google Calendar, and other Google services.Last updated -103TypeScript
- -securityFlicense-qualityThis server provides a standardized framework using the Model Context Protocol (MCP) to seamlessly integrate and manage diverse tools, enabling features like Twitter automation, cryptocurrency updates, and ElizaOS interaction.Last updated -2Python
- -securityAlicense-qualityA secure MCP (Model Context Protocol) server hosted on Google Cloud Run that enables team collaboration by providing authenticated access via Google Cloud IAM, allowing teams to share custom MCP servers over the internet before official MCP authentication is implemented.Last updated -16TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that provides seamless integration with Google Workspace, allowing operations with Google Drive, Docs, and Sheets through secure OAuth2 authentication.Last updated -PythonMIT License