Google Chat MCP Server: Extensible to Teams & More, Supports Simultaneous Chat Connections

Created By
Sivaprakash Kumara year ago
Multi-Chat MCP Server is an open-source Python framework that enables integration of AI assistants into team chat environments, with support for multiple chat platforms like Google Chat, Slack, and Microsoft Teams. The core purpose is to bridge the gap between isolated AI tools and collaborative team workflows by allowing the AI to participate in conversations, share updates, fetch historical context, and respond to developer prompts directly within team messaging spaces. The project is built around the Model Control Protocol (MCP) concept, which facilitates structured communication between AI clients and external systems. In this case, it implements MCP to let AI assistants connect with messaging platforms. Google Chat integration is complete and production-ready. Other providers like Slack and Teams are scaffolded but not fully implemented yet. The server runs locally and is intended for organizational use, especially in environments where data privacy, security compliance, and full control over communication flows are important. This is particularly useful for organizations running on-premises LLMs or secure internal deployments, as the server does not rely on any third-party LLMs or cloud-hosted models by default. The architecture is modular, so additional chat platforms can be added by following the structure used for Google Chat. The project does not offer any end-user UI or GUI. It is a backend integration tool meant to be used with AI IDE clients (like Cursor or Claude) that understand how to interact with an MCP server.
Overview

Multi-Chat MCP Server – Overview

🔥 UNIQUE FEATURE: Run multiple chat providers simultaneously with a single AI assistant!
Your AI can interact with Google Chat, Slack, Teams, and more—all at once.

💡 What Is It?

Multi-Chat MCP Server is an open-source, extensible Model Control Protocol (MCP) server framework designed for AI assistant integration with team chat tools like Google Chat, Slack, and Microsoft Teams.

  • Google Chat support is production-ready
  • 🔄 Slack & Teams providers are framework-ready (community contributions welcome)

🛡️ Security & Deployment Philosophy

  • Designed for on-premises or local deployment
  • Focuses on data privacy, compliance, and full control
  • Recommends pairing with local/private LLM agents

🎯 Who Should Use This

1. Developers in Organizations

Perfect for teams already using tools like Cursor, Claude, or Copilot who want to embed their AI assistant directly into Google Chat or other platforms.

2. AI Platform Builders & OSS Contributors

Provides a multi-provider architecture you can extend for any chat system.

🧠 Why This Exists

Real-world frustrations like having to manually ferry messages between AI tools and team chats inspired the project. This MCP server makes the AI an active, helpful participant in team collaboration.

📁 Project Architecture

multi-chat-mcp-server/
├── src/
│   ├── providers/
│   │   ├── google_chat/           # ✅Production-Ready Google Chat MCP
│   │   │   ├── api/               # Google Chat API implementation
│   │   │   ├── tools/             # MCP tools for Google Chat
│   │   │   ├── utils/             # Utilities and helpers
│   │   │   ├── README.md          # Setup guide
│   │   │   └── CURSOR_INTEGRATION.md  # Cursor integration
│   │   ├── slack/                 # 📋 Ready for implementation
│   │   └── teams/                 # 📋 Ready for implementation
│   ├── mcp_core/                  # Core MCP functionality
│   └── server.py                  # Multi-provider MCP server
├── provider-config.yaml           # Provider configurations
└── google_chat_mcp_client_demo_images/  # Demo screenshots

🌐 Multi-Provider Support

Run multiple providers (e.g., Google Chat, Slack) simultaneously.

Example use case:

“Share this update with both Slack and Google Chat teams.”
→ AI posts to both channels in contextually appropriate ways.

📈 Roadmap & Contribution

  • ✅ Google Chat MCP (Complete)
  • 🔜 Slack MCP (In progress)
  • 🔜 Microsoft Teams MCP (In progress)

Want to Contribute?

  • Fork this repo
  • Follow architecture patterns in src/providers/
  • Submit a PR — we're actively reviewing and merging

Developer Resources

📄 License

MIT License © 2025 Sivaprakash Kumar
See LICENSE and COPYRIGHT files for full details.

Server Config

{
  "mcpServers": {
    "google_chat": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/multi-chat-mcp-server",
        "run",
        "-m",
        "src.server",
        "--provider",
        "google_chat"
      ]
    },
    "slack": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/multi-chat-mcp-server",
        "run",
        "-m",
        "src.server",
        "--provider",
        "slack"
      ]
    }
  }
}
Project Info
Created At
a year ago
Updated At
a year ago
Author Name
Sivaprakash Kumar
Star
-
Language
-
License
-
Category

Recommend Servers

View All
GovQL
@Alex Stout

# govql-mcp-server An MCP (Model Context Protocol) server for [GovQL](https://govql.us) — gives AI clients like Claude Desktop, Claude Code, and Cursor direct access to the US Congressional GraphQL API at [api.govql.us/graphql](https://api.govql.us/graphql) without bespoke HTTP wiring. For the design rationale (why FastMCP-Python, the passthrough+curated philosophy, roadmap through v0.4), see [design.md](https://github.com/govql/govql/blob/main/mcp-server/docs/design.md). ## What you can do with it Ask an agent questions like: - *"How did Vermont's two senators vote on the most recent nomination?"* - *"Which legislators in the 118th Congress switched parties during their service?"* - *"Compare Senator Sanders' voting record to Senator Murkowski's on cloture votes in the most recent Congress."* The agent picks the right tool, writes the GraphQL query against the live schema, and parses the response — no manual API wrangling. ## Install The server runs as a per-client subprocess over stdio. Pick your client: ### Claude Desktop Edit `claude_desktop_config.json` (Settings → Developer → Edit Config): ```json { "mcpServers": { "govql": { "command": "uvx", "args": ["govql-mcp-server"] } } } ``` Restart Claude Desktop. The `govql` tools appear in the tools panel. ### Claude Code Add to `.mcp.json` in your project (or `~/.mcp.json` for global): ```json { "mcpServers": { "govql": { "command": "uvx", "args": ["govql-mcp-server"] } } } ``` ### Cursor Settings → MCP → Add Server. Use the same `command` / `args` as above. ### Other clients Any MCP-compatible client that supports stdio servers will work. The command is `uvx govql-mcp-server` with no required arguments. ## Tools | Tool | Purpose | |---|---| | `execute_graphql` | Run any GraphQL query against the GovQL endpoint. Returns the result plus an `last_ingest` timestamp so the agent can reason about data freshness. | | `list_types` | Returns the names and kinds of every type in the GovQL schema. Optional `kind` filter (`"OBJECT"`, `"INPUT_OBJECT"`, `"ENUM"`, etc.) to narrow further. Start here when you don't know what's queryable. | | `describe_type` | Returns one type's full details — fields, arg signatures, input fields, enum values. Call after `list_types` to learn the shape of a specific type before writing a query. | ## Configuration All env vars are optional — the package is zero-config for end users. | Env var | Default | Purpose | |---|---|---| | `GOVQL_ENDPOINT` | `https://api.govql.us/graphql` | Endpoint to query. Override to point at a local dev stack. | | `GOVQL_TIMEOUT_MS` | `30000` | Per-request HTTP timeout. | | `LOG_LEVEL` | `INFO` | Logging level. Logs go to stderr only (stdout is reserved for the MCP transport). | ## Limits (enforced by the upstream API) - Max query depth: 10 - Max query complexity: ~10 billion points (`first: N` multiplies child cost by N — keep page sizes reasonable on deeply nested queries) - Rate limit: 100 requests / 60 s per source IP A depth or complexity violation surfaces as a GraphQL `errors` entry in the tool response so the agent can adjust and retry. ## Data freshness Every `execute_graphql` response includes a `last_ingest` ISO timestamp. Vote data refreshes hourly; legislator data refreshes daily. ## Status Version 0.1.0 ships three foundational tools: a GraphQL passthrough (`execute_graphql`) and two narrow schema-discovery tools (`list_types`, `describe_type`). Curated higher-level tools (`find_legislator`, `get_voting_record`, `compare_voters`, etc.) are planned for subsequent releases — see [design.md](https://github.com/govql/govql/blob/main/mcp-server/docs/design.md) for the roadmap. ## Links - [GovQL project site](https://govql.us) - [GraphQL API](https://api.govql.us/graphql) - [Source / issues](https://github.com/govql/govql)

21 hours ago
Meok Bs7121 Mcp

7 hours ago