Calendary MCP服务器
用于Calendly API的完整模型上下文协议(MCP)服务器。此服务器提供对所有Calendly API端点的完全访问,包括最新发布的 安排API 和 事件类型管理API.
这能带来什么
事件类型管理
- 不使用Calendly UI创建新的事件类型(仅1:1事件类型)
- 批量更新事件类型持续时间、位置和设置(仅1:1事件类型)
- 以编程方式修改可用性计划
- 通过API配置会议地点
日程安排和活动
- 查看和分析可用性
- 以编程方式预订会议(安排API)
- 取消和管理已安排的事件
- 跟踪受邀者和未到场者
- 对多个事件进行批量操作
组织和用户
- 管理组织成员资格
- 邀请和删除用户
- 配置webhooks以进行实时更新
- GDPR合规工具
先决条件
- Python 3.10或更高版本
- 日历帐户
- 一个日历API密钥(个人访问令牌)
安装
1.克隆此存储库
git clone https://github.com/mkimelblat/calendly-mcp-server.git
cd calendly-mcp-server2.创建虚拟环境并安装依赖项
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt3.获取您的Calendly API密钥
- 首选https://calendly.com
- 登录您的帐户
- 导航到:配置文件→ 设置→ 集成→ API和Webhooks
- 点击“生成新令牌”
- 复制令牌(确保其安全!)
4.配置服务器
创建一个 .env 项目根目录中的文件:
CALENDLY_API_KEY=your_api_key_here重要提示: 永远不要承诺你的 .env 文件到GitHub!它已经在里面了 .gitignore.
与Claude一起使用
选项1:使用克劳德桌面
将此添加到您的Claude Desktop配置文件中:
在macOS上: ~/Library/Application Support/Claude/claude_desktop_config.json 在Windows上: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"calendly": {
"command": "/path/to/venv/bin/python",
"args": ["/path/to/calendly-mcp-server/server.py"],
"env": {
"CALENDLY_API_KEY": "your_api_key_here"
}
}
}
}替换 /path/to/ 你的实际路径。
选项2:与Claude API一起使用
from anthropic import Anthropic
client = Anthropic(api_key="your_anthropic_api_key")
# The MCP server will be available as tools
response = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
tools=[...], # MCP tools will be injected here
messages=[
{"role": "user", "content": "Create a new 45 minute strategy session event type"}
]
)可用操作
Calendly MCP服务器公开 45+工具 一对一映射到Calendly的公共API v2。所有操作都支持通过AI助手进行自然语言交互。
用户
| 工具 | 描述 | REST端点 |
|---|---|---|
get_current_user | 获取经过身份验证的用户 | GET /users/me |
get_user | 通过UUID获取特定用户 | GET /users/{uuid} |
事件类型
| 工具 | 描述 | REST端点 |
|---|---|---|
create_event_type | 创建新的事件类型 | POST /event_types |
update_event_type | 更新事件类型详细信息 | PATCH /event_types/{uuid} |
list_event_types | 列出用户/组织的事件类型 | GET /event_types |
get_event_type | 检索事件类型详细信息 | GET /event_types/{uuid} |
list_event_type_available_times | 列出可用时隙 | GET /event_type_available_times |
list_event_type_availability_schedules | 列出可用性时间表 | GET /event_types/{uuid}/availability_schedules |
update_event_type_availability_schedule | 更新可用性计划 | PUT /event_types/{uuid}/availability_schedule |
list_user_meeting_locations | 列出用户的会议地点 | GET /user_meeting_locations |
预定的事件
| 工具 | 描述 | REST端点 |
|---|---|---|
list_events | 列出计划事件 | GET /scheduled_events |
get_event | 检索事件详细信息 | GET /scheduled_events/{uuid} |
cancel_event | 取消已安排的活动 | POST /scheduled_events/{uuid}/cancellation |
create_event_invitee | 创建新预订(安排API) | POST /invitees |
list_event_invitees | 列出活动的受邀者 | GET /scheduled_events/{uuid}/invitees |
get_event_invitee | 获取受邀者详细信息 | GET /scheduled_events/{uuid}/invitees/{invitee_uuid} |
日程安排链接
| 工具 | 描述 | REST端点 |
|---|---|---|
create_scheduling_link | 创建一次性链接 | POST /scheduling_links |
可用性
| 工具 | 描述 | REST端点 |
|---|---|---|
list_user_availability_schedules | 列出用户可用性计划 | GET /user_availability_schedules |
get_user_availability_schedule | 获取日程表的详细信息 | GET /user_availability_schedules/{uuid} |
list_user_busy_times | 列出一定范围内的繁忙时间 | GET /user_busy_times |
未到
| 工具 | 描述 | REST端点 |
|---|---|---|
create_invitee_no_show | 将受邀者标记为未到场 | POST /invitee_no_shows |
get_invitee_no_show | 获取未显示的详细信息 | GET /invitee_no_shows/{uuid} |
delete_invitee_no_show | 删除未显示状态 | DELETE /invitee_no_shows/{uuid} |
组织
| 工具 | 描述 | REST端点 |
|---|---|---|
get_organization | 检索组织详细信息 | GET /organizations/{uuid} |
list_organization_memberships | 列出组织成员 | GET /organization_memberships |
get_organization_membership | 获取会员详细信息 | GET /organization_memberships/{uuid} |
delete_organization_membership | 删除成员 | DELETE /organization_memberships/{uuid} |
list_organization_invitations | 列出待处理的邀请 | GET /organizations/{uuid}/invitations |
create_organization_invitation | 邀请用户 | POST /organizations/{uuid}/invitations |
revoke_organization_invitation | 撤销邀请 | DELETE /organizations/{uuid}/invitations/{invitation_uuid} |
路由表单
| 工具 | 描述 | REST端点 |
|---|---|---|
list_routing_forms | 列出路由表单 | GET /routing_forms |
get_routing_form | 获取表单详细信息 | GET /routing_forms/{uuid} |
list_routing_form_submissions | 列表表单提交 | GET /routing_forms/{uuid}/submissions |
get_routing_form_submission | 检索提交内容 | GET /routing_form_submissions/{uuid} |
网络钩子
| 工具 | 描述 | REST端点 |
|---|---|---|
list_webhook_subscriptions | 列出webhook订阅 | GET /webhook_subscriptions |
create_webhook_subscription | 创建webhook | POST /webhook_subscriptions |
get_webhook_subscription | 检索webhook详细信息 | GET /webhook_subscriptions/{uuid} |
delete_webhook_subscription | 删除webhook | DELETE /webhook_subscriptions/{uuid} |
数据合规
| 工具 | 描述 | REST端点 |
|---|---|---|
delete_invitee_data | 删除受邀者数据(GDPR) | POST /data_compliance/deletion/invitees |
例子
创建新的事件类型
# Through Claude:
"Create a new 45-minute event type called 'Strategy Session' with Zoom as the location"更新事件类型持续时间
# Through Claude:
"Update my '30 min chat' event type to be 20 minutes instead"更改事件类型位置
# Through Claude:
"Change my 'Team Sync' event type location from Google Meet to Zoom"以编程方式预订会议
# Through Claude:
"Schedule a meeting for john@example.com tomorrow at 2pm using my '30 min chat' event type"批量更新事件类型
# Through Claude:
"Update all my 30-minute event types to 25 minutes"API端点覆盖率
此服务器提供访问 45+Calendly API v2端点:
- ✅ 用户(2个端点)
- ✅ 事件类型(7个端点)-包括新的管理API
- ✅ 计划事件(5个端点)-包括计划API
- ✅ 活动受邀者(2个端点)
- ✅ 可用性计划(3个端点)
- ✅ 组织(7个端点)
- ✅ Webhooks(4个端点)
- ✅ 路由表单(4个端点)
- ✅ 计划链接(1个端点)
- ✅ 无显示(3个端点)
- ✅ 会议地点(1个端点)-新增
- ✅ 数据合规性(1个端点)
贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
安全
- 切勿提交API密钥或
.env文件 - 对敏感数据使用环境变量
- 定期旋转API键
- 遵循最小特权原则
故障排除
“找不到模块”错误
确保您已安装所有依赖项:
pip install -r requirements.txt“身份验证失败”错误
检查你的 CALENDLY_API_KEY 正确且未过期。
连接问题
确保您有互联网连接,并且可以访问api.calendly.com
Python版本错误
请确保您使用的是Python 3.10或更高版本:
python3 --version许可证
MIT许可证-请参阅 许可证 详细信息文件
致谢
支持
对于问题和疑问:
版本历史
v2.1.0(当前)
- 添加了事件类型管理API
- 以编程方式创建和更新事件类型
- 管理事件类型可用性计划
- 列出用户会议地点
- 全面覆盖所有Calendly API v2端点(45+个工具)
v1.0.0
- 初始版本
- 核心API端点覆盖范围
- 安排API支持
______________________________________________________________________
由以下材料制成❤️ 克劳德和Calendly社区
