Google Calendar AutoAuth MCP Server

Google Calendar AutoAuth MCP Server

使 AI 助手能够通过自然语言交互来管理 Google 日历,其功能包括创建、更新和删除事件、搜索日历以及支持自然语言日期/时间输入。

Category
访问服务器

README

Google Calendar AutoAuth MCP 服务器

一个用于 Claude Desktop 中 Google Calendar 集成的模型上下文协议 (MCP) 服务器,支持自动身份验证。该服务器使 AI 助手能够通过自然语言交互管理 Google Calendar。

功能

  • 创建包含标题、描述、地点和参与者的日历事件
  • 更新现有日历事件
  • 删除日历事件
  • 检索事件详情
  • 列出指定时间范围内的事件
  • 按关键词搜索事件
  • 列出所有可用的日历
  • 支持自然语言日期/时间输入(例如,“明天下午 2 点”、“下周一”)
  • 与 Google Calendar API 完全集成
  • 简单的 OAuth2 身份验证流程,支持自动启动浏览器
  • 支持桌面和 Web 应用程序凭据
  • 全局凭据存储,方便使用

安装与身份验证

手动安装

  1. 创建一个 Google Cloud 项目并获取凭据:

    a. 创建一个 Google Cloud 项目:

    • 前往 Google Cloud Console
    • 创建一个新项目或选择一个现有项目
    • 为您的项目启用 Google Calendar API

    b. 创建 OAuth 2.0 凭据:

    • 前往“API 和服务”>“凭据”
    • 点击“创建凭据”>“OAuth 客户端 ID”
    • 选择“桌面应用”或“Web 应用程序”作为应用程序类型
    • 给它一个名称并点击“创建”
    • 对于 Web 应用程序,将 http://localhost:3000/oauth2callback 添加到授权重定向 URI
    • 下载客户端 OAuth 密钥的 JSON 文件
    • 将密钥文件重命名为 gcp-oauth.keys.json
  2. 运行身份验证:

    您可以通过两种方式进行身份验证:

    a. 全局身份验证(推荐):

    # 首次使用:将 gcp-oauth.keys.json 放置在您主目录的 .calendar-mcp 文件夹中
    mkdir -p ~/.calendar-mcp
    mv gcp-oauth.keys.json ~/.calendar-mcp/
    
    # 从任何位置运行身份验证
    npx @nchufa/calendar auth
    

    b. 本地身份验证:

    # 将 gcp-oauth.keys.json 放置在您当前目录中
    # 该文件将自动复制到全局配置
    npx @nchufa/calendar auth
    

    身份验证过程将:

    • 在当前目录或 ~/.calendar-mcp/ 中查找 gcp-oauth.keys.json
    • 如果在当前目录中找到,则将其复制到 ~/.calendar-mcp/
    • 打开您的默认浏览器进行 Google 身份验证
    • 将凭据保存为 ~/.calendar-mcp/credentials.json

    注意:

    • 成功身份验证后,凭据将全局存储在 ~/.calendar-mcp/ 中,并且可以从任何目录使用
    • 支持桌面应用和 Web 应用程序凭据
    • 对于 Web 应用程序凭据,请确保将 http://localhost:3000/oauth2callback 添加到您的授权重定向 URI
  3. 在 Claude Desktop 中配置:

将以下内容添加到您的 Claude Desktop 配置文件中:

{
  "mcpServers": {
    "calendar": {
      "command": "npx",
      "args": [
        "@nchufa/calendar"
      ]
    }
  }
}

可用工具

该服务器提供以下可以通过 Claude Desktop 使用的工具:

1. 创建事件 (create_event)

创建一个新的日历事件。

{
  "summary": "团队会议",
  "description": "每周团队同步,讨论项目进展",
  "location": "会议室 A",
  "start": "2025-04-01T14:00:00",
  "end": "2025-04-01T15:00:00",
  "attendees": ["colleague@example.com", "manager@example.com"],
  "reminders": {
    "useDefault": false,
    "overrides": [
      {
        "method": "email",
        "minutes": 30
      },
      {
        "method": "popup",
        "minutes": 10
      }
    ]
  }
}

也支持自然语言日期/时间:

{
  "summary": "与 John 喝咖啡",
  "location": "市中心星巴克",
  "start": "明天下午 2:30",
  "end": "明天下午 3:30"
}

2. 获取事件 (get_event)

检索特定日历事件的详细信息。

{
  "eventId": "abc123xyz456",
  "calendarId": "primary"
}

3. 更新事件 (update_event)

更新现有日历事件。

{
  "eventId": "abc123xyz456",
  "summary": "更新后的会议标题",
  "location": "新地点",
  "start": "2025-04-01T15:00:00",
  "end": "2025-04-01T16:00:00"
}

4. 删除事件 (delete_event)

删除日历事件。

{
  "eventId": "abc123xyz456",
  "calendarId": "primary"
}

5. 列出事件 (list_events)

列出指定时间范围内的日历事件。

{
  "calendarId": "primary",
  "timeMin": "2025-04-01T00:00:00",
  "timeMax": "2025-04-07T23:59:59",
  "maxResults": 10,
  "orderBy": "startTime"
}

6. 搜索事件 (search_events)

搜索与查询匹配的事件。

{
  "query": "会议",
  "calendarId": "primary",
  "timeMin": "2025-04-01T00:00:00",
  "maxResults": 5
}

7. 列出日历 (list_calendars)

列出所有可用的日历。

{}

自然语言日期/时间支持

该服务器支持各种自然语言格式的日期和时间:

  • 特定日期:“2025-04-01T14:00:00”(ISO 格式)
  • 简单引用:“今天”、“明天”、“现在”
  • 相对时间:“2 小时后”、“3 天后”
  • 日期引用:“下周一”、“下周二”
  • 组合格式:“明天下午 2 点”、“周一下午 15:30”

这使得使用自然语言指令创建和更新事件变得容易。

安全注意事项

  • OAuth 凭据安全地存储在您的本地环境 (~/.calendar-mcp/) 中
  • 该服务器使用离线访问来维护持久身份验证
  • 切勿共享或将您的凭据提交到版本控制
  • 定期查看和撤销您 Google 帐户设置中未使用的访问权限

故障排除

  1. 未找到 OAuth 密钥

    • 确保 gcp-oauth.keys.json 位于您的当前目录或 ~/.calendar-mcp/
    • 检查文件权限
  2. 无效的凭据格式

    • 确保您的 OAuth 密钥文件包含 webinstalled 凭据
    • 对于 Web 应用程序,请验证重定向 URI 是否配置正确
  3. 端口已被使用

    • 如果端口 3000 已被使用,请在运行身份验证之前释放它
    • 您可以找到并停止使用该端口的进程

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

MIT

致谢

特别感谢 GongRzhe 及其 Calendar-Autoauth-MCP-Server 项目,该项目为本次实现奠定了基础。

支持

如果您遇到任何问题或有疑问,请在 GitHub 存储库上提交 issue。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选