MCP ExplorerExplorer

Gsuite Wasm Mcp

@highlight-ingon a year ago
3 MIT
FreeCommunity
AI Systems
# Model Context Protocol Server for Google Workspace Integration (Gmail and Calendar)

Overview

What is Gsuite Wasm Mcp

gsuite-wasm-mcp is a Model Context Protocol (MCP) server designed for integrating with Google Workspace, specifically Gmail and Calendar APIs. It allows users to manage emails and calendar events programmatically through a unified interface.

Use cases

Use cases for gsuite-wasm-mcp include automating email responses, managing calendar events for teams, integrating email notifications into applications, and creating custom workflows that involve email and calendar interactions.

How to use

To use gsuite-wasm-mcp, first clone the repository and install the necessary dependencies. Ensure you have Node.js version 14 or higher and a valid Google API access token. After setting up, you can perform various operations like listing emails, sending emails, and managing calendar events by making requests with the appropriate access token.

Key features

Key features of gsuite-wasm-mcp include tools for Gmail such as listing and searching emails, sending and modifying emails, as well as Calendar tools for listing, creating, updating, and deleting events. It also provides user tools for accessing contact lists and user information.

Where to use

gsuite-wasm-mcp can be used in applications that require integration with Google Workspace services, such as email management systems, calendar scheduling applications, and any software that needs to automate interactions with Gmail and Calendar.

Content

Google Workspace MCP Server

A Model Context Protocol (MCP) server that provides tools for interacting with Gmail and Calendar APIs. This server enables you to manage your emails and calendar events programmatically through the MCP interface.

Features

Gmail Tools

  • list_emails: List recent emails from your inbox with optional filtering
  • search_emails: Advanced email search with Gmail query syntax
  • send_email: Send new emails with support for CC and BCC
  • modify_email: Modify email labels (archive, trash, mark read/unread)

Calendar Tools

  • list_events: List upcoming calendar events with date range filtering
  • create_event: Create new calendar events with attendees
  • update_event: Update existing calendar events
  • delete_event: Delete calendar events

User Tools

  • list_contacts: List contacts from Google Contacts
  • get_user_info: Get user information

Prerequisites

  1. Node.js: Install Node.js version 14 or higher
  2. Google API Access Token: You’ll need a valid access token for authenticating with Google APIs

Setup Instructions

  1. Clone and Install:

    git clone https://github.com/yourusername/google-workspace-mcp-server.git
    cd google-workspace-mcp-server
    npm install
    
  2. Build and Run:

    npm run build
    

Usage Examples

All operations require a valid accessToken parameter. This token must have the appropriate OAuth scopes for the operation you’re performing.

Gmail Operations

  1. List Recent Emails:

    {
      "accessToken": "your_access_token",
      "maxResults": 5,
      "query": "is:unread"
    }
  2. Search Emails:

    {
      "accessToken": "your_access_token",
      "query": "from:[email protected] has:attachment",
      "maxResults": 10
    }
  3. Send Email:

    {
      "accessToken": "your_access_token",
      "to": "[email protected]",
      "subject": "Hello",
      "body": "Message content",
      "cc": "[email protected]",
      "bcc": "[email protected]"
    }
  4. Modify Email:

    {
      "accessToken": "your_access_token",
      "id": "message_id",
      "addLabels": [
        "UNREAD"
      ],
      "removeLabels": [
        "INBOX"
      ]
    }

Calendar Operations

  1. List Events:

    {
      "accessToken": "your_access_token",
      "maxResults": 10,
      "daysBack": 7,
      "daysForward": 30
    }
  2. Create Event:

    {
      "accessToken": "your_access_token",
      "summary": "Team Meeting",
      "location": "Conference Room",
      "description": "Weekly sync-up",
      "start": "2024-01-24T10:00:00Z",
      "end": "2024-01-24T11:00:00Z",
      "attendees": [
        "[email protected]"
      ],
      "includeGoogleMeetDetails": true
    }
  3. Update Event:

    {
      "accessToken": "your_access_token",
      "eventId": "event_id",
      "summary": "Updated Meeting Title",
      "location": "Virtual",
      "start": "2024-01-24T11:00:00Z",
      "end": "2024-01-24T12:00:00Z"
    }
  4. Delete Event:

    {
      "accessToken": "your_access_token",
      "eventId": "event_id"
    }

User Operations

  1. List Contacts:

    {
      "accessToken": "your_access_token"
    }
  2. Get User Info:

    {
      "accessToken": "your_access_token"
    }

Project Structure

This project is organized in a modular structure:

  • src/index.ts: The main entry point
  • src/server.ts: The server class that sets up request handlers
  • src/tools/definitions.ts: Tool definitions for the MCP interface
  • src/handlers/email.ts: Handlers for Gmail operations
  • src/handlers/calendar.ts: Handlers for Calendar operations
  • src/handlers/user.ts: Handlers for user and contacts operations

License

This project is licensed under the MIT License.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers