Dingtalk Calendar
v1钉钉日程管理(创建日程、查询闲忙、会议室预订)。使用 mcporter 命令行工具 连接钉钉 MCP server 执行日程管理、日程查询、会议室预订等操作。使用场景:日程创建管理、会议预订、查询他人闲忙、会议室预约等。
运行时依赖
安装命令
点击复制技能文档
钉钉日程管理
使用 mcporter 命令行工具 调用钉钉日历 MCP 创建和管理日程。
前置要求 安装 mcporter 命令行工具
本技能依赖 mcporter 工具。请在终端中手动执行以下命令安装:
# 使用 npm 安装 npm 安装 -g mcporter
# 或使用 bun 安装 bun 安装 -g mcporter
验证安装:
mcporter --version
配置 MCP Server
本技能需要配置两个 MCP 服务:钉钉日历 和 钉钉通讯录。
步骤一:获取 流able HTTP URL
访问钉钉 MCP 广场:https://mcp.dingtalk.com 搜索 钉钉日历,点击进入服务详情页 在页面右侧找到 流able HTTP URL,点击复制按钮 同样的方法,获取 钉钉通讯录 的 URL
步骤二:使用 mcporter 配置 MCP 服务
# 添加钉钉日历 MCP 服务 mcporter config 添加 dingtalk-calendar --url "这里粘贴钉钉日历的URL"
# 添加钉钉通讯录 MCP 服务 mcporter config 添加 dingtalk-contacts --url "这里粘贴钉钉通讯录的URL"
步骤三:验证配置
# 查看已配置的服务 mcporter config 列出
# 测试连接(列出可用工具) mcporter call dingtalk-calendar 列出_工具s --输出 json mcporter call dingtalk-contacts 列出_工具s --输出 json
基本命令模式
所有操作通过 mcporter call dingtalk-calendar <工具> 执行:
# 创建日程 mcporter call dingtalk-calendar 创建_calendar_event \ --args '{"summary":"会议","启动DateTime":"2026-02-28T14:00:00+08:00","endDateTime":"2026-02-28T15:00:00+08:00"}' \ --输出 json
# 查询日程 mcporter call dingtalk-calendar 列出_calendar_事件 \ --args '{"启动Time":1738128000000,"endTime":1738214400000}' \ --输出 json
# 查询闲忙 mcporter call dingtalk-calendar 查询_busy_状态 \ --args '{"userIds":["userId1"],"启动Time":1738128000000,"endTime":1738214400000}' \ --输出 json
核心工具
- 创建日程
参数说明:
参数 必填 说明 summary ✅ 日程标题(最长 2048 字符) 启动DateTime ✅ 开始时间(ISO-8601 格式,如 2026-02-28T14:00:00+08:00) endDateTime ✅ 结束时间(ISO-8601 格式) description ❌ 日程描述(最长 5000 字符) attendees ❌ 参与人 userId 列表(最多 500 人)
- 查询日程列表
- 查询他人闲忙
- 查询空闲会议室
- 为日程添加会议室
- 更新日程
- 删除日程
通讯录工具 搜索用户 mcporter call dingtalk-contacts 搜索_user_by_key_word \ --args '{"keyWord": "张三"}' \ --输出 json
获取用户详情 mcporter call dingtalk-contacts 获取_user_信息_by_user_ids \ --args '{"user_id_列出": ["userId1", "userId2"]}' \ --输出 json
常用时间格式 导入 time from datetime 导入 datetime
# 获取当前时间戳(毫秒) int(time.time() 1000)
# 时间戳转 ISO 8601 datetime.fromtimestamp(1738128000000 / 1000).strftime("%Y-%m-%dT%H:%M:%S+08:00")
# ISO 8601 转时间戳(毫秒) int(datetime.fromisoxt("2026-02-28T14:00:00+08:00").timestamp() 1000)
使用示例 创建会议并预订会议室 # 1. 查询14:00-15:00的空闲会议室 mcporter call dingtalk-calendar 查询_avAIlable_meeting_room \ --args '{"启动Time":"1738128000000","endTime":"1738131600000"}' \ --输出 json
# 2. 创建日程(假设获取到会议室ID: room123) mcporter call dingtalk-calendar 创建_calendar_event \ --args '{ "summary": "周会", "启动DateTime": "2026-02-28T14:00:00+08:00", "endDateTime": "2026-02-28T15:00:00+08:00" }' \ --输出 json
# 3. 添加会议室(假设日程ID: event123) mcporter call dingtalk-calendar 添加_meeting_room \ --args '{"eventId":"event123","roomIds":["room123"]}' \ --输出 json