日历事件管理服务

一个与Google Calendar集成的MCP服务器,提供日历事件的管理和实时更新功能。

  • by am2rican5
  • TypeScript
  • 本地部署
  • 12 星标
  • 更新于
在 GitHub 查看 am2rican5/mcp-google-calendar

使用说明

谷歌日历MCP服务器

一个与谷歌日历集成的模型上下文协议(MCP)服务器,使用TypeScript构建。

特性

  • 与OAuth 2.0身份验证无缝集成Google日历
  • 用于自动身份验证的持久令牌存储
  • 通过全面的事件操作列出和管理日历
  • 创建、读取、更新和删除日历事件
  • 获取指定日期之间的日历事件
  • 用于实时更新的服务器发送事件(SSE)传输选项
  • 与Claude和其他兼容MCP的AI助手简单集成

安装

npm install -g mcp-google-calendar

或者直接运行:

npx -y mcp-google-calendar

先决条件

  1. Node.js(v16或更高版本)
  2. 谷歌云平台帐户
  3. 已启用Google日历API
  4. OAuth 2.0凭据

设置

1.谷歌云配置

  1. 首选 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用Google日历API:
    • 导航到“API和服务”>“库”
    • 搜索“Google日历API”
    • 点击“启用”
  4. 配置OAuth同意屏幕:
    • 转到“API和服务”>“OAuth同意屏幕”
    • 选择“外部”用户类型(或谷歌工作区的“内部”)
    • 填写必填信息:
      • 应用程序名称:mcp日历
      • 用户支持电子邮件:(您的电子邮件)
      • 开发人员联系信息:(您的电子邮件)
    • 添加作用域:
      • 点击“添加或删除范围”
      • 查找并选择“https://www.googleapis.com/auth/calendar.events"
      • 将您的电子邮件添加为测试用户
    • 完成设置
  5. 创建OAuth凭据:
    • 转到“凭据”
    • 点击“创建凭据”>“OAuth客户端ID”
    • 选择“桌面应用程序”作为应用程序类型
    • 命名它(例如,“MCP日历桌面客户端”)
    • 下载JSON文件并另存为 credentials.json 在您的项目目录中

2.环境配置

创建一个 .env 项目根目录中的文件:

# Server configuration
PORT=3420

# Google Calendar API configuration
CREDENTIALS_PATH=./credentials.json

用法

启动服务器

从标准WebSockets开始:

npx -y mcp-google-calendar

从服务器发送事件(SSE)开始:

npx -y mcp-google-calendar --sse

使用克劳德桌面

将此添加到您的 claude_desktop_config.json:

{
   "mcpServers": {
      "mcp-google-calendar": {
         "command": "npx",
         "args": ["-y", "mcp-google-calendar"],
         "env": {
            "CREDENTIALS_PATH": "/path/to/your/credentials.json"
         }
      }
   }
}

验证过程

第一次运行服务器时:

  1. 浏览器窗口将自动打开
  2. 使用您的Google帐户登录
  3. 授予请求的日历权限
  4. 身份验证令牌保存到 token.json

在后续的发射中:

  • 服务器自动使用保存的令牌
  • 除非令牌过期,否则不需要浏览器交互

可用工具

工具 说明
list_calendars 获取所有可用日历
list_calendar_events 检索指定日期之间的事件
create_calendar_event 在日历中添加新事件
get_calendar_event 获取特定事件的详细信息
edit_calendar_event 修改现有日历事件
delete_calendar_event 从日历中删除事件

发展

克隆并设置项目:

git clone https://github.com/am2rican5/mcp-google-calendar.git
cd mcp-google-calendar
npm install

构建项目:

npm run build

在开发模式下运行:

npm start

安全考虑

⚠️ 重要安全警告 ⚠️

  • credentials.json 和 token.json 包含敏感的身份验证信息
  • 切勿将这些文件提交到版本控制或公开共享
  • 每个用户都应该创建自己的OAuth凭据
  • 如果您怀疑凭据泄露,请立即在Google Cloud Console中撤销它们
  • 该令牌授予访问您的Google日历数据的权限

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求