MCP ExplorerExplorer

Mcp Google Workspace

@distrihubon 10 months ago
1 MIT
FreeCommunity
AI Systems
A Model Context Protocol (MCP) server built in Rust for interacting with Google Drive and Google Sheets.

Overview

What is Mcp Google Workspace

mcp-google-workspace is a Model Context Protocol (MCP) server developed in Rust that facilitates interactions with Google Drive and Google Sheets, providing MCP-compatible interfaces for Google Workspace services.

Use cases

Use cases include automating data entry in Google Sheets, managing files in Google Drive programmatically, integrating Google Workspace services into larger agent workflows, and facilitating data analysis and reporting tasks.

How to use

To use mcp-google-workspace, install it via Cargo from GitHub, configure your Google Cloud Project with the necessary APIs and OAuth 2.0 credentials, and start the server for Drive or Sheets using the provided commands.

Key features

Key features include listing and filtering files in Google Drive, reading and writing data to Google Sheets, creating new spreadsheets, and clearing values from ranges in spreadsheets, all through MCP-compatible tools.

Where to use

mcp-google-workspace can be used in various fields such as data management, automation workflows, and integration with agent frameworks like Distri, enhancing productivity in environments that utilize Google Workspace.

Content

Google Drive & Sheets MCP Server

A Model Context Protocol (MCP) server built in Rust for interacting with Google Drive and Google Sheets. This tool provides MCP-compatible interfaces for Google Workspace services, allowing it to be used as part of larger agent workflows and compositions.

Features

Google Drive Operations

  • List files in Google Drive with filtering options:
    • Filter by MIME type
    • Custom search queries
    • Configurable page size
    • Custom ordering

Google Sheets Operations

  • Read data from Google Sheets with options:
    • Specify range
    • Choose major dimension (ROWS or COLUMNS)
  • Write data to Google Sheets
  • Create new spreadsheets with:
    • Custom title
    • Multiple sheets
  • Clear values from ranges in spreadsheets

MCP Integration

This server implements the Model Context Protocol (MCP), making it compatible with agent frameworks like Distri. Each service exposes its capabilities as MCP tools:

Drive Tools

  • list_files: List and filter Drive files with customizable parameters
  • Available capabilities exposed via resources/list endpoint

Sheets Tools

  • read_values: Read spreadsheet data with dimension control
  • write_values: Write data to spreadsheets
  • create_spreadsheet: Create new spreadsheets
  • clear_values: Clear ranges in spreadsheets
  • Available capabilities exposed via resources/list endpoint

Prerequisites

  • Rust (latest stable version)
  • Google Cloud Project with Drive and Sheets APIs enabled
  • OAuth 2.0 credentials configured for your Google Cloud Project

Installation

Install the mcp-google binary directly from GitHub using Cargo:

cargo install --git https://github.com/distrihub/mcp-google-workspace.git

This will install the mcp-google command to your system.

Configuration

Before using the server, you need to:

  1. Set up a Google Cloud Project
  2. Enable Google Drive and Google Sheets APIss
  3. Create OAuth 2.0 credentials
  4. Set up your environment variables:
    • ACCESS_TOKEN: Your Google OAuth access token
    • GOOGLE_CLIENT_ID: Your OAuth client ID
    • GOOGLE_CLIENT_SECRET: Your OAuth client secret
    • GOOGLE_REFRESH_TOKEN: Your OAuth refresh token

Usage

As MCP Server

The servers can be started independently and will communicate using the MCP protocol over stdio:

Start the Drive MCP server:

mcp-google drive --access-token <your-access-token>

Start the Sheets MCP server:

mcp-google sheets --access-token <your-access-token>

Using with Distri

This server can be used as part of a Distri agent configuration:

agents:
  google_workspace:
    drive:
      type: mcp
      command: ["mcp-google", "drive", "--access-token", "${ACCESS_TOKEN}"]
    sheets:
      type: mcp
      command: ["mcp-google", "sheets", "--access-token", "${ACCESS_TOKEN}"]

Token Management

Refresh your OAuth token:

mcp-google refresh \
  --client-id <your-client-id> \
  --client-secret <your-client-secret> \
  --refresh-token <your-refresh-token>

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Note

This is an MCP-compatible server that interacts with Google services. Make sure you have appropriate permissions and credentials before using the tool.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers