Skip to main content
Glama
erickva

Google Calendar - No deletion

by erickva

铁匠徽章

Google Workspace MCP 服务器

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

特征

Gmail 工具

  • list_emails :列出收件箱中最近的电子邮件,并可选择过滤

  • search_emails :使用 Gmail 查询语法进行高级电子邮件搜索

  • send_email :发送新邮件,支持抄送和密送

  • modify_email :修改电子邮件标签(存档、垃圾箱、标记为已读/未读)

日历工具

  • list_events :列出即将发生的日历事件,并按日期范围进行过滤

  • create_event :创建有参与者的新日历事件

  • 由于 Google Cloud Calendar API 不具有允许创建但阻止删除或更新的范围,因此出于安全措施,以下事件已从此服务器中删除。

  • update_event :更新现有日历事件

  • delete_event :删除日历事件

Related MCP server: Google Workspace MCP Server

先决条件

  1. Node.js :安装 Node.js 版本 14 或更高版本

  2. Google Cloud 控制台设置

    • 前往Google Cloud Console

    • 创建新项目或选择现有项目

    • 启用 Gmail API 和 Google 日历 API:

      1. 前往“API 和服务”>“库”

      2. 搜索并启用“Gmail API”

      3. 搜索并启用“Google 日历 API”

    • 设置 OAuth 2.0 凭据:

      1. 前往“API 和服务”>“凭证”

      2. 点击“创建凭证”>“OAuth 客户端 ID”

      3. 选择“Web应用程序”

      4. 将“授权重定向 URI”设置为包含: http://localhost:4100/code

      5. 记下客户端 ID 和客户端密钥

设置说明

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Google Workspace Server - No Calendar Deletion:

npx -y @smithery/cli install @erickva/google-workspace-mcp-server-no-calendar-deletetion --client claude

手动安装

  1. 克隆并安装

    git clone https://github.com/epaproditus/google-workspace-mcp-server.git
    cd google-workspace-mcp-server
    npm install
  2. 创建 OAuth 凭证:在根目录中创建一个credentials.json文件:

    {
        "web": {
            "client_id": "YOUR_CLIENT_ID",
            "client_secret": "YOUR_CLIENT_SECRET",
            "redirect_uris": ["http://localhost:4100/code"],
            "auth_uri": "https://accounts.google.com/o/oauth2/auth",
            "token_uri": "https://oauth2.googleapis.com/token"
        }
    }
  3. 获取刷新令牌

    node get-refresh-token.js

    这将:

    • 打开浏览器进行 Google OAuth 身份验证

    • 请求以下权限:

      • https://www.googleapis.com/auth/gmail.modify

      • https://www.googleapis.com/auth/calendar

      • https://www.googleapis.com/auth/gmail.send

    • 将凭证保存到token.json

    • 在控制台中显示刷新令牌

  4. 配置 MCP 设置:将服务器配置添加到您的 MCP 设置文件:

    • 对于 VSCode Claude 扩展: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

    • 对于 Claude 桌面应用程序: ~/Library/Application Support/Claude/claude_desktop_config.json

    将其添加到mcpServers对象:

    {
      "mcpServers": {
        "google-workspace": {
          "command": "node",
          "args": ["/path/to/google-workspace-server/build/index.js"],
          "env": {
            "GOOGLE_CLIENT_ID": "your_client_id",
            "GOOGLE_CLIENT_SECRET": "your_client_secret",
            "GOOGLE_REFRESH_TOKEN": "your_refresh_token"
          }
        }
      }
    }
  5. 构建并运行

    npm run build

使用示例

Gmail操作

  1. 列出最近的电子邮件

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

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

    {
      "to": "recipient@example.com",
      "subject": "Hello",
      "body": "Message content",
      "cc": "cc@example.com",
      "bcc": "bcc@example.com"
    }
  4. 修改邮箱

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

日历操作

  1. 列出事件

    {
      "maxResults": 10,
      "timeMin": "2024-01-01T00:00:00Z",
      "timeMax": "2024-12-31T23:59:59Z"
    }
  2. 创建事件

    {
      "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"]
    }

3.更新事件

{
  "eventId": "event_id",
  "summary": "Updated Meeting Title",
  "location": "Virtual",
  "start": "2024-01-24T11:00:00Z",
  "end": "2024-01-24T12:00:00Z"
}

4.删除事件

{
  "eventId": "event_id"
}

故障排除

  1. 身份验证问题

    • 确保所有必需的 OAuth 范围都已授予

    • 验证客户端ID和密钥是否正确

    • 检查刷新令牌是否有效

  2. API 错误

    • 检查 Google Cloud Console 的 API 配额和限制

    • 确保您的项目已启用 API

    • 验证请求参数是否符合所需格式

执照

该项目已获得 MIT 许可。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/erickva/google-workspace-mcp-server-no-calendar-deletetion'

If you have feedback or need assistance with the MCP directory API, please join our Discord server