Calendar AutoAuth MCP Server

Calendar AutoAuth MCP Server

用于 Claude Desktop 的 Google 日历集成服务器,支持自动身份验证。该服务器使 AI 助手能够通过自然语言交互来管理 Google 日历事件。

日历管理
通信
本地
JavaScript
访问服务器

README

Calendar AutoAuth MCP 服务器

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

smithery badge npm version License: ISC

功能特性

  • 创建包含标题、时间、描述和地点的日历事件
  • 通过事件 ID 检索事件详细信息
  • 更新现有事件(标题、时间、描述、地点)
  • 删除事件
  • 列出指定时间范围内的事件
  • 与 Google Calendar API 完全集成
  • 简单的 OAuth2 身份验证流程,支持自动启动浏览器
  • 支持桌面和 Web 应用程序凭据
  • 全局凭据存储,方便使用

安装与身份验证

通过 Smithery 安装

要通过 Smithery 为 Claude Desktop 自动安装 Calendar AutoAuth Server:

npx -y @smithery/cli install @gongrzhe/server-calendar-autoauth-mcp --client claude
  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 @gongrzhe/server-calendar-autoauth-mcp auth
    

    b. 本地身份验证:

    # 将 gcp-oauth.keys.json 放置在当前目录中
    # 该文件将自动复制到全局配置
    npx @gongrzhe/server-calendar-autoauth-mcp 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 中配置:

{
  "mcpServers": {
    "calendar": {
      "command": "npx",
      "args": [
        "@gongrzhe/server-calendar-autoauth-mcp"
      ]
    }
  }
}

Docker 支持

如果您更喜欢使用 Docker:

  1. 身份验证:
docker run -i --rm \
  --mount type=bind,source=/path/to/gcp-oauth.keys.json,target=/gcp-oauth.keys.json \
  -v mcp-calendar:/calendar-server \
  -e CALENDAR_OAUTH_PATH=/gcp-oauth.keys.json \
  -e "CALENDAR_CREDENTIALS_PATH=/calendar-server/credentials.json" \
  -p 3000:3000 \
  mcp/calendar auth
  1. 用法:
{
  "mcpServers": {
    "calendar": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "mcp-calendar:/calendar-server",
        "-e",
        "CALENDAR_CREDENTIALS_PATH=/calendar-server/credentials.json",
        "mcp/calendar"
      ]
    }
  }
}

使用示例

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

创建事件

{
  "summary": "团队会议",
  "start": {
    "dateTime": "2024-01-20T10:00:00Z"
  },
  "end": {
    "dateTime": "2024-01-20T11:00:00Z"
  },
  "description": "每周团队同步",
  "location": "会议室 A"
}

列出事件

{
  "timeMin": "2024-01-01T00:00:00Z",
  "timeMax": "2024-12-31T23:59:59Z",
  "maxResults": 10,
  "orderBy": "startTime"
}

更新事件

{
  "eventId": "event123",
  "summary": "更新后的会议标题",
  "start": {
    "dateTime": "2024-01-20T11:00:00Z"
  },
  "end": {
    "dateTime": "2024-01-20T12:00:00Z"
  }
}

删除事件

{
  "eventId": "event123"
}

安全注意事项

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

故障排除

  1. 未找到 OAuth 密钥

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

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

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

贡献

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

许可证

该项目已获得 ISC 许可证的许可。

作者

gongrzhe

支持

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

推荐服务器

Audiense Insights MCP Server

Audiense Insights MCP Server

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

官方
精选
本地
TypeScript
graphlit-mcp-server

graphlit-mcp-server

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

官方
精选
TypeScript
Excel MCP Server

Excel MCP Server

一个模型上下文协议服务器,使 AI 助手能够读取和写入 Microsoft Excel 文件,支持诸如 xlsx、xlsm、xltx 和 xltm 等格式。

精选
本地
Go
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript
google-calendar-mcp

google-calendar-mcp

让大型语言模型读取和管理 Google 日历事件。

精选
本地
TypeScript
Supabase MCP Server

Supabase MCP Server

一个模型上下文协议(MCP)服务器,它提供对 Supabase 管理 API 的编程访问。该服务器允许 AI 模型和其他客户端通过标准化的接口来管理 Supabase 项目和组织。

精选
JavaScript
@kazuph/mcp-gmail-gas

@kazuph/mcp-gmail-gas

用于 Gmail 集成的模型上下文协议 (Model Context Protocol, MCP) 服务器。它允许 Claude Desktop(或任何 MCP 客户端)通过 Google Apps Script 与您的 Gmail 帐户进行交互。

精选
JavaScript
MCP Server Trello

MCP Server Trello

通过 Trello API 促进与 Trello 看板的交互,提供速率限制、类型安全、输入验证和错误处理等功能,以实现对卡片、列表和看板活动的无缝管理。

精选
TypeScript