内容
# 诚实日历MCP
本地谷歌日历MCP服务器。您的数据不会离开您的机器,除了传给谷歌。中间没有第三方。
[诚实Gmail MCP](https://github.com/bartosz-kuc/honest-gmail-mcp)的配套项目。
## 为什么
大多数AI助手的日历集成都会将您的事件数据路由到一个托管服务,该服务可以看到所有内容:会议、与会者、地点、私人描述。而这个服务不会。
**数据流:** `您 ↔ 本服务器(在您的Mac上)↔ 谷歌日历API`。仅此而已。
**您可以阅读整个服务器** — 一个文件,约250行Python代码 — 并确认它能做什么和不能做什么。
## 功能
通过MCP公开六种工具:
- `列出日历` — 此帐户上的所有日历
- `列出事件` — 指定时间范围内的日历事件,可选的自由文本搜索
- `获取事件` — 单个事件的完整详细信息
- `创建事件` — 新事件(定时或全天),包含与会者、描述、地点、时区
- `更新事件` — 现有事件的部分补丁
- `删除事件` — 删除事件
所有发送邀请的工具都接受一个 `发送更新` 参数(默认为 `无` — 除非您明确要求,否则不会发送电子邮件)。
## 要求
- Python 3.10+
- 您要授权访问的谷歌账户
- 谷歌云控制台的一次性设置(约10分钟,如果您已经设置了honest-gmail-mcp,可以重用OAuth客户端)
## 设置
### 1. 克隆和安装
```bash
git clone https://github.com/bartosz-kuc/honest-calendar-mcp.git
cd honest-calendar-mcp
python3 -m venv venv
./venv/bin/pip install -r requirements.txt
```
### 2. 获取谷歌OAuth凭证
与honest-gmail-mcp相同的过程 — 从您自己的谷歌云项目中获取桌面应用OAuth客户端。如果您已经有一个项目,只需在其上启用日历API:
1. https://console.cloud.google.com/ (使用您要授权的账户登录)
2. 选择现有项目(或创建新项目)
3. **API和服务 → 库** → 搜索 **谷歌日历API** → **启用**
4. 重用现有的OAuth同意屏幕/客户端,或创建新的桌面应用类型客户端
5. 在此存储库的根目录中保存 `credentials.json`
### 3. 首次运行(执行OAuth流程)
```bash
./venv/bin/python server.py
```
浏览器打开 → 登录 → **允许**。令牌保存为 `token.json`。按Ctrl+C退出。
### 4. 在您的MCP客户端上注册
**Claude 代码:**
```bash
claude mcp add calendar-personal /absolute/path/to/venv/bin/python /absolute/path/to/server.py
```
**Claude 桌面版:** 编辑 `claude_desktop_config.json`:
```json
{
"mcpServers": {
"calendar-personal": {
"command": "/absolute/path/to/venv/bin/python",
"args": ["/absolute/path/to/server.py"]
}
}
}
```
## 示例用法
> “明天我的日历上有什麼?”
AI调用 `列出事件` 并指定明天的時間範圍 → 返回带有摘要、开始、结束、与会者的事件。
> “在下周四15:00与alice@example.com预订1小时的通话。”
AI调用 `创建事件` 并指定摘要、开始、结束、与会者,如果您希望邀请Alice,则`发送更新: "全部"`。
## 数据流(详细)
```
您的AI客户端(Claude 代码 / Claude 桌面版)
↕ 通过stdio的MCP协议(本地进程管道)
本服务器(Python,在您的机器上)
↕ 到googleapis.com的HTTPS
谷歌日历API
```
没有云中间件。没有遥测数据。`credentials.json` 和 `token.json` 保存在您的磁盘上,并被 `.gitignore`。
## 安全说明
- **您拥有OAuth客户端。** 没有人可以撤销、轮换或滥用它。
- **随时撤销** https://myaccount.google.com/permissions。
- **请求的范围:** `日历`(对您所有日历的完全读写权限)。谷歌不提供标准日历范围的只读+只写分割;具有写重性质的日历编辑工具需要完全范围。
- **git中没有秘密。** `.gitignore` 阻止 `credentials.json` 、 `token.json` 和虚拟环境。
- **发送更新默认为"无"** — AI不会意外地向与会者发送垃圾邮件。您必须显式要求发送更新。
## 作者
**巴托什·库奇** — 华沙开发者,JDG所有者,经营skanfirmy.pl。
- 网站: https://skanfirmy.pl
- GitHub: https://github.com/bartosz-kuc
- 邮箱: firma@bartosza.pl
## 咨询
波兰税务和商业集成(KSeF、GUS/NFZ/GIOŚ API、mBank数据)、MCP服务器设计、JDGs和小型团队的AI辅助工具。查看 **[skanfirmy.pl/uslugi](https://skanfirmy.pl/uslugi)** 获取产品化软件包(审计3k PLN、设置8-15k PLN、保留2-4k PLN/月),或通过电子邮件联系。
## 许可证
MIT — 请参阅 [LICENSE](LICENSE)。