Cover image
Try Now
2025-04-04

3 years

Works with Finder

1

Github Watches

0

Github Forks

0

Github Stars

Google Workspace MCP Server

A Model Context Protocol (MCP) server for interacting with Google Workspace APIs including Gmail, Drive, Calendar, Docs, Sheets, and Slides.

## Features

- **Gmail API**: Send emails, list messages, manage labels, and more
- **Drive API**: List files, create folders, and upload files
- **Docs API**: Create and edit Google Docs
- **Sheets API**: Read and write spreadsheet data
- **Slides API**: Create presentations and slides
- **Calendar API**: List and create calendar events
- **Authentication**: OAuth2 authentication flow helpers

## Prerequisites

- Node.js 16+
- Google Cloud project with the necessary APIs enabled
- OAuth 2.0 client credentials

## Installation

```bash
npm install
```

## Configuration

1. Copy the `.env.example` file to `.env`:
   ```bash
   cp .env.example .env
   ```

2. Edit the `.env` file with your Google API credentials:
   ```
   CLIENT_ID=your_client_id
   CLIENT_SECRET=your_client_secret
   REDIRECT_URI=http://localhost:3000/oauth2callback
   REFRESH_TOKEN=your_refresh_token
   ```

3. If you don't have a refresh token yet, you can use the authentication tools provided by the server to get one.

## Usage

### Starting the Server

```bash
npm run dev
```

### Using with MCP Inspector

To test the server with the MCP Inspector:

```bash
npm run inspect
```

This will open the MCP Inspector in your browser, allowing you to test all tools and resources.

### Authentication

If you don't have a refresh token, use these tools:

1. Use the `generate_auth_url` tool to get an authorization URL
2. Open the URL in a browser and authorize the application
3. Copy the authorization code from the redirect URL
4. Use the `exchange_code_for_tokens` tool with the code to get a refresh token
5. Add the refresh token to your `.env` file

## Available Tools

### Gmail

- `gmail_list_messages`: List Gmail messages with optional filters
- `gmail_get_message`: Get a specific Gmail message by ID
- `gmail_send_message`: Send a new email message
- `gmail_list_labels`: List all Gmail labels
- `gmail_modify_message`: Modify a message's labels
- `gmail_trash_message`: Move a message to trash
- `gmail_untrash_message`: Remove a message from trash
- `gmail_create_draft`: Create a draft email

### Drive

- `drive_list_files`: List files in Google Drive
- `drive_get_file`: Get metadata for a specific file
- `drive_create_folder`: Create a new folder in Google Drive
- `drive_upload_file`: Upload a file to Google Drive

### Docs

- `docs_get_document`: Get the content of a Google Doc
- `docs_create_document`: Create a new Google Doc
- `docs_append_text`: Append text to a Google Doc

### Sheets

- `sheets_get_values`: Get values from a Google Sheet
- `sheets_update_values`: Update values in a Google Sheet
- `sheets_create_spreadsheet`: Create a new Google Sheet

### Slides

- `slides_create_presentation`: Create a new Google Slides presentation
- `slides_get_presentation`: Get information about a Google Slides presentation
- `slides_create_slide`: Create a new slide in a presentation

### Calendar

- `calendar_list_events`: List events from Google Calendar
- `calendar_create_event`: Create a new event in Google Calendar

### Authentication

- `generate_auth_url`: Generate an OAuth2 authorization URL
- `exchange_code_for_tokens`: Exchange an authorization code for OAuth2 tokens

## Available Resources

- `gmail://message/{messageId}`: Get a specific Gmail message
- `gmail://thread/{threadId}`: Get a Gmail thread with all messages
- `gmail://labels`: List all Gmail labels
- `workspace://docs/{service}`: Documentation for a specific Google Workspace API
- `workspace://auth/guide`: Authentication guide for Google Workspace APIs

## License

MIT

相关推荐

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://reddgr.com
  • Delivers concise Python code and interprets non-English comments

  • 林乔安妮
  • A fashion stylist GPT offering outfit suggestions for various scenarios.

  • 1Panel-dev
  • 💬 MaxKB is a ready-to-use AI chatbot that integrates Retrieval-Augmented Generation (RAG) pipelines, supports robust workflows, and provides advanced MCP tool-use capabilities.

  • GLips
  • MCP server to provide Figma layout information to AI coding agents like Cursor

  • open-webui
  • User-friendly AI Interface (Supports Ollama, OpenAI API, ...)

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • Mintplex-Labs
  • The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.

  • Dhravya
  • Collection of apple-native tools for the model context protocol.

    Reviews

    1 (1)
    Avatar
    user_Y7DTkp2A
    2025-04-16

    As a loyal user of GoogleWorkSpace-MCP-Server, I am thoroughly impressed with this product by mattcoatsworth. It's incredibly efficient and well-crafted, enhancing my workspace management significantly. Easy to deploy via the GitHub link, it has streamlined my server operations effortlessly. Highly recommended!