article
README
🚀 谷歌日历 MCP 服务器
本项目借助 Claude Desktop,通过模型上下文协议(MCP)实现与 Google Calendar 的交互。这是一个基于 TypeScript 的 MCP 服务器,专注于 Google 日历集成。它不仅能演示核心 MCP 概念,还具备以下功能:
- 支持通过 MCP URI 访问日历事件。
- 提供创建和修改事件的工具。
- 可自动生成日历洞察提示。
✨ 主要特性
资源
- 支持通过 MCP URI 访问日历事件。
- 每个事件包含标题、时间、描述以及与会者信息。
- 事件数据为结构化数据,具备正确的 MIME 类型。
工具
create_event- 用于创建新的日历事件:- 可接收标题、时间和其他事件详细信息作为参数。
- 能直接对接 Google 日历 API。
list_events- 用于查看即将进行的日历事件。- [添加您实现的其他工具]
提示
analyze_schedule- 用于生成日历洞察:- 会将即将发生的事件作为嵌入资源包含在内。
- 会返回结构化的提示,以供 LLM 分析。
- [添加您实现的其他提示]
📦 安装指南
先决条件
- Node.js(v14 或更高版本)。
- 启用 Google Calendar API 的 Google Cloud 项目。
- OAuth 2.0 客户端凭证。
开发步骤
- 按照 devbox.sh 中的说明安装 devbox:
curl -fsSL https://get.jetpack.io/devbox | bash
- 在项目目录中初始化 devbox:
devbox init
- 启动 devbox shell:
devbox shell
- 安装依赖项:
npm install
- 构建服务器:
npm run build
- 带有自动重建的开发:
npm run watch
安装配置
与 Claude Desktop 一起使用时,需添加服务器配置:
- 在 MacOS 上:
~/Library/Application Support/Claude/claude_desktop_config.json - 在 Windows 上:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"Google Calendar": {
"command": "/path/to/Google Calendar/build/index.js"
}
}
}
📚 详细文档
首次设置
- 设置 Google Cloud 凭证:
- 转到 Google Cloud Console。
- 创建新项目或选择现有项目。
- 启用 Google 日历 API。
- 创建 OAuth 2.0 凭证(桌面应用程序类型)。
- 下载客户端秘密 JSON 文件。
- 将其重命名为
.client_secret.json并放在项目根目录中。
- 初始身份验证:
- 运行服务器时,它会提供一个身份验证 URL。
- 在浏览器中访问该 URL。
- 授予所需的权限。
- 复制提供的授权代码。
- 将代码粘贴回 CLI 提示符。
调试
由于 MCP 服务器通过 stdio 通信,调试可能具有挑战性。我们推荐使用 MCP Inspector,它作为包脚本可用:
npm run inspector
Inspector 会提供一个访问调试工具的浏览器 URL。
Scan to contact