日历管理服务器

提供Google日历事件的访问和管理功能,支持通过MCP接口进行操作,适用于Claude Desktop等MCP兼容客户端。

  • by surana-mudit
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 surana-mudit/google-calendar-mcp

使用说明

谷歌日历MCP服务器

此MCP服务器提供对您的Google日历事件的访问,并允许您通过MCP界面管理它们。它可以与Claude Desktop或任何其他MCP兼容客户端一起使用。

需求

  • Python 3.10或更高版本 -MCP需要Python 3.10+
  • 启用日历API的谷歌云项目
  • 用于身份验证的OAuth凭据

特性

  • 查看日历事件 适用于任何日期或日期范围
  • 创建新事件 包括标题、时间、描述、地点和与会者
  • 更新现有事件 有了新的细节
  • 预构建提示 用于常见的日历操作

安装

  1. 克隆此存储库:

    git clone <repository-url>
    cd google-calendar-mcp
    
  2. 使用Python 3.10或更高版本创建虚拟环境:

    # Check your Python version
    python --version
    
    # Create a virtual environment with the correct Python version
    # For Python 3.10
    python3.10 -m venv venv
    # OR for Python 3.11
    python3.11 -m venv venv
    # OR for Python 3.12
    python3.12 -m venv venv
    
    # Activate the virtual environment
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. 使用pip安装依赖项:

    pip install -r requirements.txt
    

    或者,您可以使用 uv 为了更快地安装(推荐):

    # Install uv if you don't have it
    curl -fsSL https://astral.sh/uv/install.sh | sh
    # On Windows: powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
    
    # Install dependencies with uv
    uv pip install -r requirements.txt
    
  4. 设置Google日历API凭据:

    a.前往 谷歌云控制台 b.创建新项目或选择现有项目 c.启用Google日历API d.创建OAuth凭据(桌面客户端OAuth ID) e.下载凭据JSON文件并另存为 credentials.json 在项目目录中

用法

与Claude Desktop一起使用

  1. 从安装Claude Desktop 官方网站

  2. 在Claude Desktop中安装MCP服务器:

    # Make sure you're in the project directory with the virtual environment activated
    mcp install calendar_mcp_server.py
    
  3. 通过编辑Claude Desktop配置文件,配置Claude Desktop以使用MCP服务器:

    • 在以下位置找到Claude配置文件 /path/to/your/claude_desktop_config.json (Mac)或操作系统的适当位置
    • 添加或修改配置以包含Google日历MCP:
    {
      "Google Calendar": {
        "command": "/path/to/your/venv/bin/mcp",
        "args": [
          "run",
          "/path/to/your/project/calendar_mcp_server.py"
        ]
      }
    }
    
    • 替换 /path/to/your/venv/ 与虚拟环境的实际路径
    • 替换 /path/to/your/project/ 带有项目目录的实际路径
  4. 验证MCP服务器是否正常运行:

    • 打开克劳德桌面
    • 点击左下角的设置图标(齿轮)
    • 从设置菜单中选择“开发人员”
    • 在“活动MCP服务器”下,您应该看到列出的“谷歌日历”
    • 如果MCP服务器运行正常,您将看到一个绿色的状态指示灯
    • 如果您没有看到它列出或显示错误,请确保您的服务器正在运行
  5. 现在,您可以使用以下提示:

    Show me my events for today
    Create a meeting with John tomorrow at 2pm
    

与光标一起使用

  1. 配置光标:

    • 打开光标。
    • 首选 Settings (通常是齿轮图标或通过命令面板)。
    • 引导到 Cursor Settings > MCP.
    • 点击 Add New Global MCP Server.
      • 添加或修改配置以包含Google日历MCP:
      {
      "Google Calendar": {
         "command": "/path/to/your/venv/bin/mcp",
         "args": [
            "run",
            "/path/to/your/project/calendar_mcp_server.py"
         ]
      }
      }
      
      • 替换 /path/to/your/venv/ 与虚拟环境的实际路径
      • 替换 /path/to/your/project/ 带有项目目录的实际路径
  2. 在游标中使用:

    • 现在,当您在Cursor中与AI聊天时(例如,使用“代理”模式或利用MCP的类似功能),它应该能够连接到您正在运行的Google Calendar MCP服务器。
    • 您可以使用与日历相关的提示,例如:
      Show me my events for today
      Create a meeting with John tomorrow at 2pm
      
    • 如果配置正确且服务器正在运行,Cursor应将这些请求路由到本地服务器。

使用MCP检查器在开发模式下运行:

如果您正在开发或调试MCP服务器,请使用:

mcp dev calendar_mcp_server.py

这将提供额外的调试信息和用于检查请求和响应的web界面。

资源

服务器公开以下MCP资源:

  • calendar://events/{date} -返回特定日期的事件

示例用法:

calendar://events/today
calendar://events/tomorrow
calendar://events/2023-07-15

工具

服务器提供以下工具:

  1. list_events(date_start, date_end=None) -列出日期范围内的事件
  2. create_event(summary, start_datetime, end_datetime, ...) -创建新的日历事件
  3. update_event(event_id, ...) -更新现有事件

鼓励

简化常见操作的预构建提示:

  1. today_events -快速访问今天的日历
  2. schedule_meeting -引导式提示创建新会议

认证

首次使用时,服务器将打开一个浏览器窗口进行Google OAuth身份验证。授权应用程序后,您的凭据将存储在 token.json 以备将来使用。

故障排除

  • Python版本问题:此项目需要Python 3.10或更高版本。如果您看到以下错误 No matching distribution found for mcp[cli]请检查您的Python版本。
  • 身份验证错误:确保您的 credentials.json 文件放置正确,并且具有正确的权限。
  • MCP安装问题:尝试使用 uv 而不是 pip 以获得更可靠的安装体验。

备注

  • 服务器使用UTC作为时间戳。事件时间以本地时区显示。
  • 你需要一个有效的 credentials.json 从Google Cloud Console下载文件以使用此服务器。
  • 您的身份验证令牌存储在 token.json 首次登录后。