Skip to main content
Glama
rishipradeep-think41

Google Chat MCP Server

README.md
# Google Chat MCP Server

[![smithery badge](https://smithery.ai/badge/@rishipradeep-think41/gchat-mcp)](https://smithery.ai/server/@rishipradeep-think41/gchat-mcp)

A Model Context Protocol (MCP) server implementation for interacting with the Google Chat API via webhooks. This server provides a simple tool for posting text messages to Google Chat spaces.

## Features

- Post text messages to Google Chat spaces using webhooks
- Simple and secure webhook-based integration
- No OAuth setup required
- Easy to use with MCP-compatible tools

## Installation

### Installing via Smithery

To install gchat-mcp for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@rishipradeep-think41/gchat-mcp):

```bash
npx -y @smithery/cli install @rishipradeep-think41/gchat-mcp --client claude
```

### Using Smithery (Recommended)

Install the server using Smithery's CLI:

```bash
npx spinai-mcp install @KaranThink41/gchat_post_text_message --provider smithery
```

### Local Development

1. Clone the repository:
```bash
git clone https://github.com/KaranThink41/google_chat_mcp_server.git
cd google_chat_mcp_server
```

2. Install dependencies:
```bash
npm install
```

3. Build the project:
```bash
npm run build
```

4. Run the server:
```bash
node build/index.js
```

### Docker Setup

You can run the server using Docker. Here's how to set it up:

1. Build the Docker image:
```bash
docker build -t google-chat-mcp-server .
```

2. Run the Docker container with the necessary environment variables:
```bash
docker run -e GOOGLE_CHAT_SPACE_ID=your_space_id \
          -e GOOGLE_CHAT_API_KEY=your_api_key \
          -e GOOGLE_CHAT_TOKEN=your_token \
          google-chat-mcp-server
```

## Usage Example

To post a message to Google Chat, send the following JSON request:

```json
{
  "method": "tools/call",
  "params": {
    "name": "post_text_message",
    "arguments": {
      "space_id": "your_space_id",
      "key": "your_api_key",
      "token": "your_token",
      "text": "Hello, this is a test message!"
    }
  }
}
```

## Configuration

The server requires the following environment variables to function:

- `GOOGLE_CHAT_SPACE_ID`: The Space ID of your Google Chat space
- `GOOGLE_CHAT_API_KEY`: The API key for your Google Cloud project
- `GOOGLE_CHAT_TOKEN`: The authentication token for Google Chat

These variables can be set in your environment or via Docker (as shown in the Docker Setup section).

To run locally without Docker, create a `.env` file with the following content:

```
GOOGLE_CHAT_SPACE_ID=your_space_id
GOOGLE_CHAT_API_KEY=your_api_key
GOOGLE_CHAT_TOKEN=your_token
```

## Security

- Webhook URLs are passed directly in the request payload
- No sensitive credentials are stored in the code
- All requests are validated before execution

## Contributing

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.