日程管理服务器

一个完整的Calendly API模型上下文协议(MCP)服务器,提供对Calendly所有API端点的访问,包括新发布的调度API和事件类型管理API。

  • by mkimelblat
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 mkimelblat/calendly-mcp-server

使用说明

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-server

2.创建虚拟环境并安装依赖项

python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt

3.获取您的Calendly API密钥

  1. 首选https://calendly.com
  2. 登录您的帐户
  3. 导航到:配置文件→ 设置→ 集成→ API和Webhooks
  4. 点击“生成新令牌”
  5. 复制令牌(确保其安全!)

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个端点)

贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

安全

  • 切勿提交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社区