使用说明
Calendary MCP服务器
MCP(模型上下文协议)服务器,将Claude Desktop和Claude Code连接到您的Calendary帐户,实现自然语言日程管理。
安装
pip install calendly-mcp
获取日历个人访问令牌
- 登录到 日历
- 首选 设置 > 集成和应用程序
- 滚动到 API和连接器 然后单击 API
- 点击 立即获取令牌 (或 生成新令牌)
- 为令牌命名(例如“Claude MCP”),然后单击 创建令牌
- 立即复制令牌,它将不再显示
配置
克劳德桌面
将以下内容添加到您的 claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"calendly": {
"command": "calendly-mcp",
"env": {
"CALENDLY_ACCESS_TOKEN": "your-token-here",
"LICENSE_KEY": "optional-premium-key"
}
}
}
}
克劳德代码
在启动Claude Code之前设置环境变量:
export CALENDLY_ACCESS_TOKEN="your-token-here"
export LICENSE_KEY="optional-premium-key" # only if you have a premium license
然后添加MCP服务器:
claude mcp add calendly -- calendly-mcp
或者将其添加到您的项目中 .mcp.json:
{
"mcpServers": {
"calendly": {
"command": "calendly-mcp",
"env": {
"CALENDLY_ACCESS_TOKEN": "your-token-here"
}
}
}
}
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
CALENDLY_ACCESS_TOKEN |
是 | 日历个人访问令牌或OAuth2令牌 |
LICENSE_KEY |
否 | Lemon Squeezy高级许可证密钥 |
LOG_LEVEL |
否 | 日志记录级别: DEBUG, INFO, WARNING, ERROR (默认值: INFO) |
CALENDLY_BASE_URL |
否 | 覆盖Calendly API基础URL(用于测试) |
工具
免费等级(7个工具)
| 工具 | 说明 | 必需参数 |
|---|---|---|
list_upcoming_events |
使用可选筛选器列出即将发生的计划事件 | 无(可选: count, min_start_time, max_start_time, status) |
get_event_details |
获取特定活动的完整详细信息,包括受邀者和地点 | event_uuid |
search_events |
按受邀者姓名或电子邮件搜索事件(不区分大小写的部分匹配) | query (可选: min_start_time, max_start_time) |
check_availability |
查看您的可用时间表中的可用时段 | date_range_start, date_range_end |
get_busy_times |
获取某个日期范围内的繁忙/不可用时间段 | start_time, end_time |
list_event_types |
列出所有已配置的事件类型,包括名称、持续时间和状态 | 无 |
get_event_type_details |
获取特定事件类型的详细配置 | event_type_uuid |
高级级别(5个附加工具)
| 工具 | 说明 | 必需参数 |
|---|---|---|
create_one_off_event |
为会议创建一次性日程安排链接 | event_type_uuid, invitee_email, invitee_name, start_time |
cancel_event |
取消现有的已安排活动(通知受邀者) | event_uuid (可选: reason) |
reschedule_event |
将活动重新安排到新时间 | event_uuid, new_start_time |
get_scheduling_stats |
获取日程安排分析:会议总数、平均持续时间、热门时间 | min_start_time, max_start_time |
get_invitee_insights |
分析特定联系人的会议模式 | invitee_email |
免费与高级
| 功能 | 免费 | 高级 |
|---|---|---|
| 查看即将举行的活动 | 是 | 是 |
| 获取活动详细信息 | 是 | 是 |
| 按受邀者搜索活动 | 是 | 是 |
| 检查可用性 | 是 | 是 |
| 查看繁忙时间 | 是 | 是 |
| 列出事件类型 | 是 | 是 |
| 获取事件类型详细信息 | 是 | 是 |
| 创建日程安排链接 | -- | 是 |
| 取消事件 | -- | 是 |
| 重新安排活动 | -- | 是 |
| 日程分析 | -- | 是 |
| 受邀者见解 | -- | 是 |
| 价格 | 自由 | 12美元/月 |
升级至 nyxtools.lemonsqueezy.com/checkout
用法示例
连接后,自然地与克劳德交谈:
查看您的日程安排
- “这周我有什么会议?”
- “显示我明天的日程安排”
- “列出我接下来的5次会议”
- “这个月我取消了哪些会议?”
活动详情
- “告诉我更多关于我下午3点的会议”
- “谁被邀请参加设计评审?”
- “我下一次通话的Zoom链接是什么?”
搜索事件
- “我有什么会议吗john@example.com?"
- “查找与Sarah的所有会议”
- “我上次与Acme团队见面是什么时候?”
检查可用性
- “我星期四下午有空吗?”
- “我下周的可用性如何?”
- “我明天几点忙?”
事件类型
- “我设置了哪些事件类型?”
- “显示我30分钟会议类型的详细信息”
日程安排(高级)
- “安排一次30分钟的通话john@example.com周二下午2点”
- “下周三安排与简·史密斯会面”
取消和重新安排(高级)
- “取消我明天下午3点的会议”
- “取消与约翰的通话——我有矛盾”
- “将我下午2点的会议推迟到周四下午4点”
- “将与Sarah的通话重新安排到下周一上午”
分析(高级)
- “这个月我开了几次会?”
- “我的平均会议时长是多少?”
- “我和约翰开会花了多少时间?”
发展
设置
git clone https://github.com/nyxtools/calendly-mcp-server.git
cd calendly-mcp-server
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -e ".[dev]"
运行测试
pytest
pytest --cov=calendly_mcp # with coverage
代码检查
ruff check src/ tests/
ruff format src/ tests/
mypy src/
故障排除
“CALENDLY_ACCESS_TOKEN是必需的”
您尚未设置 CALENDLY_ACCESS_TOKEN 环境变量。确保已在您的 claude_desktop_config.json (根据 env)或者在运行Claude Code之前导出到shell中。
401未经授权的错误
您的日历个人访问令牌无效或已被吊销。在以下位置生成新令牌 设置>集成和应用程序>API 在日历中更新您的配置。
429速率限制错误
API执行费率限制。MCP服务器会自动以指数回退方式重试,但如果您看到持续的速率限制错误,请降低请求频率或等待几分钟。
连接错误
- 验证您是否具有互联网连接
- 检查一下
api.calendly.com可以从您的网络访问 - 如果在代理后面,请确保
httpx可以到达Calendly API
高级工具未出现
- 验证您的
LICENSE_KEY在环境中设置正确 - 检查服务器日志中的许可证验证错误(
LOG_LEVEL=DEBUG) - 确保您的高级订阅在 nyxtools.lemonsqueezy.com
服务器未在Claude Desktop中启动
- 验证
command路径正确(calendly-mcp必须在您的路径上) - 试着跑步
calendly-mcp直接在终端中检查错误 - 在Windows上,您可能需要使用可执行文件的完整路径
许可证
麻省理工学院——见 许可证 了解详情。
版权所有(c)2026 NyxTools