Skip to main content

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:

  1. 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 tools
    • google_chat.py: Google Chat API integration and authentication handling
  2. 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

  1. Clone this project
    git clone https://github.com/chy168/google-chat-mcp-server.git
    cd google-chat-mcp-server
    
  2. Prepare a Google Cloud Project (GCP)
  3. Google Cloud Conolse (https://console.cloud.google.com/auth/overview?project=<YOUR_PROJECT_NAME>)
  4. 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
  5. After you create a OAuth 2.0 Client, download the client secrets as .json file. Save as credentials.json at top level of project.

Run Auth server and get your Google access token (login google only, not MCP server yet)

python server.py -local-auth --port 8000
  • Open browser at http://localhost:8000/auth
  • login it!
  • after loggined, you access token will be saved as token.json

MCP Configuration (mcp.json)

{
    "mcpServers": {
        "google_chat": {
            "command": "uv",
            "args": [
                "--directory",
                "<YOUR_REPO_PATH>/google-chat-mcp-server",
                "run",
                "server.py",
                "--token-path",
                "<YOUR_REPO_PATH>/google-chat-mcp-server/token.json"
            ]
        }
    }

Tools

The MCP server provides the following tools:

Google Chat Tools

  • get_chat_spaces() - List all Google Chat spaces the bot has access to
  • get_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

fastmcp dev server.py --with-editable .

Metadata

Release files for iflow-mcp_google-chat-mcp-server 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_google-chat-mcp-server 0.1.0
File Size Uploaded
iflow_mcp_google_chat_mcp_server-0.1.0.tar.gz 2.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_google-chat-mcp-server 0.1.0
File Interpreter ABI Platform
iflow_mcp_google_chat_mcp_server-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 6.7 kB

Release files / iflow_mcp_google_chat_mcp_server-0.1.0.tar.gz

Download URL iflow_mcp_google_chat_mcp_server-0.1.0.tar.gz
Size 2.9 kB
Tags Source
SHA-256 checksum
How to use checksums
9e99018fbe3fe9489032e287fa580183b1aec6f46b2c22008f29abe2fa733cb2
BLAKE2b-256 checksum
How to use checksums
2da20bbd0c8bf6b84074cca52cb1835266fb0544fcdaab36f52a8e1468b8bf79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_google_chat_mcp_server-0.1.0-py3-none-any.whl

Download URL iflow_mcp_google_chat_mcp_server-0.1.0-py3-none-any.whl
Size 3.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bc50a083a14395f0b6a72eee1cbb7da3d7ec10617940f16c36d8122e269b33d9
BLAKE2b-256 checksum
How to use checksums
7856aeb9165f4d805d69eedb5fe636c12191568e147e7e3f8044f7d6c4f5720a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page