关于 ai-scheduler-mcp
ai-scheduler-mcp 是整合 Google Tasks 与 Google Calendar API 的 MCP 服务,供 MCP 客户端调用日程与任务功能。它通过 SSE 提供连接,并可用 Docker 脚本管理容器。
主要功能
- 01整合 Google Tasks 与 Calendar
- 02通过 SSE 提供 MCP 连接
- 03Docker 脚本管理容器
- 04Google OAuth 认证
适用场景
- 01从 MCP 客户端访问 Google 任务
- 02从 MCP 客户端使用 Google 日历
- 03通过 Docker 启停和查看服务日志
MCP 相关
该服务通过 SSE 接受 MCP 客户端连接,并提供 Google Tasks 和 Google Calendar 功能。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ai-scheduler-mcp
这是一个用于集成 Google Tasks 和 Calendar API 的 MCP(Model Context Protocol)服务。可通过 MCP 客户端(如 Roo Code)使用 Google Tasks 和 Calendar 的功能。
前提条件
- 已安装 Docker。
- 已存在名为
mcp-network的 Docker 网络。# 存在しない場合、以下のコマンドで作成 docker network create mcp-network
设置
-
准备仓库: 克隆或下载此仓库。
-
准备凭据(
credentials.json):- 在 Google Cloud Console 中创建 OAuth 2.0 客户端 ID(类型为“桌面应用”或“Web 应用”)。创建时,请启用 Google Tasks API 和 Google Calendar API。
- 将创建的凭据以 JSON 格式下载,并将文件命名为
credentials.json,保存到此项目的根目录(ai-scheduler-mcp/)中。 - 重要:
credentials.json是机密信息。切勿将其提交到 Git 仓库。(已包含在.gitignore中)
-
构建 Docker 镜像: 使用
scripts/ai-scheduler-mcp.sh脚本管理项目。为简化命令,建议参考便捷用法(别名)部分设置别名(如ai_scheduler_mcp)。 设置别名后,使用以下命令构建 Docker 镜像:ai_scheduler_mcp build
首次认证(生成 token.json)
首次使用服务前,需要使用 Google 账号进行认证,并生成 API 访问所需的 token.json。
-
执行以下命令:
ai_scheduler_mcp start-auth(如需更改端口,请添加
-P <ポート番号>选项) -
控制台会显示认证 URL,请在 Web 浏览器中访问该 URL,使用 Google 账号登录并批准所需权限。
-
复制批准后显示的认证代码,按照控制台提示粘贴,然后按 Enter 键。
-
认证成功后,项目根目录中会生成
token.json。- 重要:
token.json也是机密信息。切勿将其提交到 Git 仓库。(已包含在.gitignore中)
- 重要:
正常启动
完成首次认证并生成 token.json 后,可使用以下命令启动服务。
# デフォルト設定で起動
ai_scheduler_mcp start
# ポート 8080、再起動ポリシー always で起動
ai_scheduler_mcp start -P 8080 -r always
服务将在后台启动。
基本用法(使用别名)
# サーバー (コンテナ) の停止・削除
ai_scheduler_mcp stop
# サーバーのログを表示 (Ctrl+C で終了)
ai_scheduler_mcp logs
# コンテナを停止・削除し、イメージも削除 (確認あり)
ai_scheduler_mcp delete
# ヘルプを表示
ai_scheduler_mcp help
从 MCP 客户端连接(Roo Code 示例)
从主机连接时,请在 Roo Code 的 MCP 设置(MCP Servers -> 编辑 MCP 设置)中添加以下内容(PORT 为服务的启动端口):
{
"mcpServers": {
"ai-scheduler-mcp-server": {
"url": "http://localhost:${PORT}/sse"
}
}
}
使用默认端口(3003)时,地址为 http://localhost:3003/sse。
从开发容器连接(经由主机)
如果需要从开发容器等未加入与此 MCP 服务相同 Docker 网络(mcp-network)的容器连接,请经由主机进行连接。
连接 URL 为 http://<host_ip_or_dns_name>:<PORT>/sse。
- Docker Desktop (Mac/Windows): 使用特殊 DNS 名称
host.docker.internal。- 例:
http://host.docker.internal:3003/sse
- 例:
- Linux: 使用主机的 IP 地址或 Docker 桥接网络的网关 IP(通常为
172.17.0.1)。- 例:
http://172.17.0.1:3003/sse
- 例:
Roo Code 的 MCP 设置示例(Docker Desktop):
{
"mcpServers": {
"ai-scheduler-mcp-server": {
"url": "http://172.17.0.1:3003/sse"
}
}
}
注意:请将 <PORT> 替换为服务实际在主机上公开的端口号。Linux 的 IP 地址因环境而异。也请检查主机的防火墙设置。
便捷用法(别名)
无需每次都输入 ./scripts/ai-scheduler-mcp.sh,可以在 Shell 配置文件(如 ~/.bashrc、~/.zshrc)中定义别名。
# 例: ai_scheduler_mcp というエイリアスを作成
alias ai_scheduler_mcp="/path/to/your/project/ai-scheduler-mcp/scripts/ai-scheduler-mcp.sh" # <- 実際のパスに変更
重新加载配置文件(如 source ~/.bashrc)后,即可使用 ai_scheduler_mcp build 这样的短命令来运行脚本。
提示 / 其他信息
- 直接操作 Docker: 也可以直接使用
docker build、docker run命令。详情请参阅scripts/ai-scheduler-mcp.sh的内容或 Docker 文档。 - 容器间连接: 其他加入同一
mcp-network的容器可通过http://ai-scheduler-mcp-server:${PORT}/sse连接。 - 通信协议: 此服务使用 SSE(Server-Sent Events)。
- 环境变量: 也可通过环境变量(
PORT)设置端口号等。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。