Gmail和日历API管理工具

Google Workspace MCP Server是一个提供Gmail和日历API交互工具的服务器,支持通过编程方式管理邮件和日历事件。

  • by highlight-ing
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 highlight-ing/gsuite-wasm-mcp

使用说明

谷歌工作区MCP服务器

一种模型上下文协议(MCP)服务器,提供与Gmail和日历API交互的工具。此服务器使您能够通过MCP界面以编程方式管理电子邮件和日历事件。

特性

Gmail工具

  • list_emails:使用可选过滤功能列出收件箱中最近的电子邮件
  • search_emails:使用Gmail查询语法进行高级电子邮件搜索
  • send_email:发送支持CC和BCC的新电子邮件
  • modify_email:修改电子邮件标签(存档、垃圾箱、标记已读/未读)

日历工具

  • list_events:使用日期范围筛选列出即将发生的日历事件
  • create_event:为与会者创建新的日历事件
  • update_event:更新现有日历事件
  • delete_event:删除日历事件

用户工具

  • list_contacts:列出Google联系人中的联系人
  • get_user_info:获取用户信息

先决条件

  1. Node.js:安装Node.js版本14或更高版本
  2. Google API访问令牌:您需要一个有效的访问令牌才能使用Google API进行身份验证

安装说明

  1. 克隆并安装:

    git clone https://github.com/yourusername/google-workspace-mcp-server.git
    cd google-workspace-mcp-server
    npm install
    
  2. 构建并运行:

    npm run build
    

使用示例

所有操作都需要有效的 accessToken 参数。此令牌必须具有您正在执行的操作的适当OAuth作用域。

Gmail操作

  1. 列出最近的电子邮件:

    {
      "accessToken": "your_access_token",
      "maxResults": 5,
      "query": "is:unread"
    }
    
  2. 搜索电子邮件:

    {
      "accessToken": "your_access_token",
      "query": "from:example@gmail.com has:attachment",
      "maxResults": 10
    }
    
  3. 发送电子邮件:

    {
      "accessToken": "your_access_token",
      "to": "recipient@example.com",
      "subject": "Hello",
      "body": "Message content",
      "cc": "cc@example.com",
      "bcc": "bcc@example.com"
    }
    
  4. 修改电子邮件:

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

日历操作

  1. 列出事件:

    {
      "accessToken": "your_access_token",
      "maxResults": 10,
      "daysBack": 7,
      "daysForward": 30
    }
    
  2. 创建活动:

    {
      "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": ["colleague@example.com"],
      "includeGoogleMeetDetails": true
    }
    
  3. 更新事件:

    {
      "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. 删除事件:

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

用户操作

  1. 列出联系人:

    {
      "accessToken": "your_access_token"
    }
    
  2. 获取用户信息:

    {
      "accessToken": "your_access_token"
    }
    

项目结构

本项目采用模块化结构:

  • src/index.ts:主要切入点
  • src/server.ts:设置请求处理程序的服务器类
  • src/tools/definitions.ts:MCP接口的工具定义
  • src/handlers/email.ts:Gmail操作处理程序
  • src/handlers/calendar.ts:日历操作处理程序
  • src/handlers/user.ts:用户和联系人操作的处理程序

许可证

该项目根据MIT许可证获得许可。