日历API集成服务器

该项目通过自定义MCP服务器集成Google Calendar API v3,实现自然语言交互的日历管理功能。

  • by sohamkapileshwar2
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 sohamkapileshwar2/lucidchart-mcp-server

使用说明

🗓️ 谷歌日历MCP服务器

该项目整合了 谷歌日历v3 API 有个习惯 MCP(模型上下文协议)服务器,通过以下工具实现与日历的自然语言交互 克劳德桌面.

它充当日历数据和使用MCP兼容HTTP流的LLM之间的桥梁。


🧠 概述

此项目包含两个核心服务器:

1.🔐 谷歌OAuth服务器

  • 处理OAuth 2.0流
  • 在本地会话文件中存储和刷新访问令牌

2.🤖 MCP服务器


🚀 入门指南

第一步:🔧 设置Google API凭据

  1. 转到 谷歌云控制台
  2. 创建或选择项目
  3. 启用 谷歌日历API
  4. 首选 凭证 → 创建OAuth 2.0客户端ID
    • 选择 桌面应用程序
    • 设置品牌并在受众中添加测试用户电子邮件
  5. 将OAuth凭据下载为 client_secret.json
  6. 将此文件放入 根目录 项目的

第二步:📦 再进行

poetry install

步骤3:🚪 启动OAuth服务器

poetry run uvicorn src.main:app --host 0.0.0.0 --port 8000
  • 这应该会自动打开浏览器进行OAuth身份验证。
  • 如果没有,请访问 http://0.0.0.0:8000/google_oauth/
  • 成功验证后,您将看到一个成功页面。
  • A. session.json 文件将使用您的访问/刷新令牌创建。

步骤4:🧩 运行MCP服务器

poetry run python src/server.py

这将在以下位置启动可流式传输的MCP兼容HTTP服务器 http://localhost:8080/mcp


步骤5:🧠 连接MCP客户端(克劳德桌面)

更新配置文件:

~/Library/Application Support/Claude/claude_desktop_config.json

添加以下条目:

{
  "mcpServers": {
    "google-calendar-mcp": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8080/mcp"
      ]
    }
  }
}

步骤6:✅ 验证集成

  • 打开 克劳德桌面 设置。
  • 如果正确添加了MCP服务器,它将显示在 设置->集成

🧠 演示

https://github.com/user-attachments/assets/27a8e5ee-8f2f-40c7-bdfc-1caa93767efb

🧱 项目结构

project-root/
├── client_secret.json         # Google OAuth credentials
├── session.json               # Access/refresh token storage
├── pyproject.toml             # Poetry project config
├── README.md                  

└── src/
    ├── main.py                # FastAPI app for OAuth server
    ├── server.py              # MCP-compatible server
    ├── settings.py            # App settings and constants

    ├── api/
    │   └── oauth_callback.py  # OAuth endpoint logic

    ├── core/
    │   ├── calendar_client.py # Google Calendar API wrapper
    │   ├── mcp_tools.py       # Tools exposed to MCP clients
    │   ├── oauth_manager.py   # OAuth initiation and flow
    │   └── session_manager.py # Token handling

    └── gcalendar_types/       # Typed definitions for Calendar v3 API

🧩 依赖项