Google日历管理服务

LIAM提供的Google日历管理服务,通过LIAM OAuth和Dedalus DAuth授权,支持日历和事件的创建、查询、更新和删除等操作。适用于需要集成Google日历功能的应用程序。

  • by sintem
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 sintem/gcal-mcp

使用说明

LIAM谷歌日历MCP

由LIAM提供(doitliam.com).此MCP服务器使用LIAM OAuth和Dedalus DAuth为Google日历提供访问权限。

托管在Dedalus: sintem/gcal-mcp

身份验证流程(DAuth+LIAM OAuth)

  1. 客户端连接到Dedalus上的MCP服务器。
  2. Dedalus DAuth负责MCP授权;如果日历连接尚未授权,客户端将收到 connect_url 启动OAuth。
  3. 用户在浏览器中完成LIAM OAuth(以及谷歌同意)。
  4. Dedalus AS存储LIAM OAuth访问令牌,并发出包含连接句柄的JWT(ddls:connections).
  5. MCP服务器使用Dedalus调度+连接句柄来调用Google日历API。

工具

工具 说明
gcal_list_calendars 在用户的日历列表中列出日历
gcal_get_calendar_list_entry 按日历ID获取日历列表条目
gcal_get_calendar 获取日历的元数据
gcal_create_calendar 创建新日历
gcal_update_calendar 更新日历
gcal_delete_calendar 删除日历
gcal_list_events 在日历上列出事件
gcal_get_event 获取特定事件
gcal_create_event 创建新事件
gcal_update_event 更新事件
gcal_delete_event 删除事件
gcal_quick_add 从自然语言快速添加事件
gcal_list_event_instances 列出重复事件的实例
gcal_freebusy 跨日历查询忙/闲
gcal_list_colors 列出日历颜色定义
gcal_list_settings 列出用户设置
gcal_get_setting 获取特定的用户设置

冒烟工具(调试):

工具 说明
smoke_echo 回声输入(健全性检查)
smoke_info 服务器信息(健全性检查)

事件查询备注

  • calendar_id 默认为 primary 对于已登录的用户。
  • time_min / time_max 应该是RFC3339时间戳,例如。 2025-02-01T00:00:00Z.
  • q 支持跨事件的自由文本搜索。

设置

1.环境

创建 .env:

# Required
DEDALUS_API_KEY=dsk-live-your-key

# Optional (defaults shown)
DEDALUS_API_URL=https://api.dedaluslabs.ai
DEDALUS_AS_URL=https://as.dedaluslabs.ai

# MCP server slug (LIAM hosted or your own)
MCP_SERVER=sintem/gcal-mcp

# Google Calendar API base URL (optional override)
GCAL_API_URL=https://www.googleapis.com/calendar/v3

# Optional: direct LIAM OAuth token for local testing
LIAM_ACCESS_TOKEN=liam-oauth-access-token

2.安装

cd gcal-liam-mcp
uv sync --all-extras

3.部署到Dedalus

dedalus deploy

4.本地测试

OAuth(推荐使用DAuth+LIAM OAuth):

python src/_client.py

手动LIAM令牌(仅限高级/测试):

# Interactive mode
python run.py

# Single query
python run.py "list my upcoming events"

项目结构

gcal-liam-mcp/
├── run.py            # Local test client with LIAM token
├── src/
│   ├── main.py       # MCP server (Dedalus entrypoint)
│   ├── gcal.py       # Tools (modular version)
│   ├── server.py     # Server config
│   └── _client.py    # OAuth/DAuth client example
├── pyproject.toml
├── .env.example
└── README.md

许可证

麻省理工学院