日历事件管理工具

一个与Google Calendar API集成的工具,用于以编程方式管理日历事件,包括创建、读取、更新和删除事件等功能。

  • by Avik-creator
  • Python
  • 混合部署
  • 2 星标
  • 更新于
在 GitHub 查看 avik-creator/googlecalendarmcp

使用说明

谷歌日历集成项目

该项目提供了与Google日历API的集成,以通过编程管理日历事件并与之交互。

先决条件

  • Python 3.8或更高版本
  • 谷歌云平台帐户
  • 已启用Google日历API
  • 已配置OAuth 2.0凭据

安装说明

通过Smithery安装

通过以下方式自动安装克劳德桌面版谷歌日历集成项目 史密瑟里:

npx -y smithery install @Avik-creator/googlecalendarMCP --client claude

手动安装

  1. 克隆存储库

    git clone https://github.com/Avik-creator/googlecalendarMCP
    cd googlecalendarMCP
    
  2. 设置虚拟环境

    python -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
    
  3. 再进行

    pip install -r requirements.txt
    
  4. 谷歌云平台设置

    a.前往 谷歌云控制台 b.创建新项目或选择现有项目 c.启用Google日历API d.创建OAuth 2.0凭据:

    • 转到API和服务>凭据
    • 点击“创建凭据”>“OAuth客户端ID”
    • 选择“桌面应用程序”
    • 下载凭据JSON文件
    • 将其重命名为 credentials.json 并将其放置在项目根目录中
  5. 环境变量

    创建一个 .env 项目根目录中的文件,包含以下变量:

    GOOGLE_APPLICATION_CREDENTIALS=path/to/credentials.json
    CALENDAR_ID=your_calendar_id@group.calendar.google.com
    

用法

  1. 首次身份验证

    python auth.py
    

    这将打开一个用于OAuth身份验证的浏览器窗口。按照提示授权应用程序。

  2. 运行应用程序

    python main.py
    

特性

  • 创建、读取、更新和删除日历事件
  • 设置定期事件
  • 管理活动参与者
  • 处理事件通知和提醒

项目结构

googlecalendarMCP/
├── auth.py              # Authentication handling
├── main.py             # Main application entry point
├── requirements.txt    # Project dependencies
├── .env               # Environment variables
├── credentials.json   # Google OAuth credentials
└── token.json        # Generated OAuth token

依赖项

该项目使用以下主要依赖项:

  • 谷歌认证oauthlib
  • google-auth-httplib2
  • googleapi-python客户端
  • python dotenv

已部署配置:

{
  "mcpServers": {
    "google_calendar_mcp": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp-google-calendar.avikm744.workers.dev/sse"
      ]
    }
  }
}

安全说明

  • 永远不要承诺你的 credentials.json, token.json,或 .env 文件到版本控制
  • 确保您的OAuth凭据安全
  • 定期轮换您的凭证和令牌

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 提交您的更改
  4. 推到分支
  5. 创建拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。