Calendly 日程管理服务器

一个连接Claude Desktop和Claude Code到Calendly账户的MCP服务器,支持通过自然语言进行日程管理。

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

使用说明

Calendary MCP服务器

MCP(模型上下文协议)服务器,将Claude Desktop和Claude Code连接到您的Calendary帐户,实现自然语言日程管理。

安装

pip install calendly-mcp

获取日历个人访问令牌

  1. 登录到 日历
  2. 首选 设置 > 集成和应用程序
  3. 滚动到 API和连接器 然后单击 API
  4. 点击 立即获取令牌 (或 生成新令牌)
  5. 为令牌命名(例如“Claude MCP”),然后单击 创建令牌
  6. 立即复制令牌,它将不再显示

配置

克劳德桌面

将以下内容添加到您的 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