← 返回 Skills 市场
Dingtalk Calendar
作者
JavaZhengwu
· GitHub ↗
· v1.0.2
1533
总下载
1
收藏
20
当前安装
3
版本数
在 OpenClaw 中安装
/install dingtalk-calendar
功能描述
钉钉日程管理(创建日程、查询闲忙、会议室预订)。使用 mcporter CLI 连接钉钉 MCP server 执行日程管理、日程查询、会议室预订等操作。使用场景:日程创建管理、会议预订、查询他人闲忙、会议室预约等。
使用说明 (SKILL.md)
钉钉日程管理
使用 mcporter CLI 调用钉钉日历 MCP 创建和管理日程。
前置要求
安装 mcporter CLI
本技能依赖 mcporter 工具。请在终端中手动执行以下命令安装:
# 使用 npm 安装
npm install -g mcporter
# 或使用 bun 安装
bun install -g mcporter
验证安装:
mcporter --version
配置 MCP Server
本技能需要配置两个 MCP 服务:钉钉日历 和 钉钉通讯录。
步骤一:获取 Streamable HTTP URL
- 访问钉钉 MCP 广场:https://mcp.dingtalk.com
- 搜索 钉钉日历,点击进入服务详情页
- 在页面右侧找到
Streamable HTTP URL,点击复制按钮 - 同样的方法,获取 钉钉通讯录 的 URL
步骤二:使用 mcporter 配置 MCP 服务
# 添加钉钉日历 MCP 服务
mcporter config add dingtalk-calendar --url "这里粘贴钉钉日历的URL"
# 添加钉钉通讯录 MCP 服务
mcporter config add dingtalk-contacts --url "这里粘贴钉钉通讯录的URL"
步骤三:验证配置
# 查看已配置的服务
mcporter config list
# 测试连接(列出可用工具)
mcporter call dingtalk-calendar list_tools --output json
mcporter call dingtalk-contacts list_tools --output json
基本命令模式
所有操作通过 mcporter call dingtalk-calendar \x3Ctool> 执行:
# 创建日程
mcporter call dingtalk-calendar create_calendar_event \
--args '{"summary":"会议","startDateTime":"2026-02-28T14:00:00+08:00","endDateTime":"2026-02-28T15:00:00+08:00"}' \
--output json
# 查询日程
mcporter call dingtalk-calendar list_calendar_events \
--args '{"startTime":1738128000000,"endTime":1738214400000}' \
--output json
# 查询闲忙
mcporter call dingtalk-calendar query_busy_status \
--args '{"userIds":["userId1"],"startTime":1738128000000,"endTime":1738214400000}' \
--output json
核心工具
1. 创建日程
# 基本创建
mcporter call dingtalk-calendar create_calendar_event \
--args '{
"summary": "项目评审会议",
"startDateTime": "2026-02-28T14:00:00+08:00",
"endDateTime": "2026-02-28T15:00:00+08:00",
"description": "讨论 Q1 进度",
"attendees": ["userId1", "userId2"]
}' \
--output json
参数说明:
| 参数 | 必填 | 说明 |
|---|---|---|
summary |
✅ | 日程标题(最长 2048 字符) |
startDateTime |
✅ | 开始时间(ISO-8601 格式,如 2026-02-28T14:00:00+08:00) |
endDateTime |
✅ | 结束时间(ISO-8601 格式) |
description |
❌ | 日程描述(最长 5000 字符) |
attendees |
❌ | 参与人 userId 列表(最多 500 人) |
2. 查询日程列表
# 查询指定时间范围的日程
mcporter call dingtalk-calendar list_calendar_events \
--args '{
"startTime": 1738128000000,
"endTime": 1738214400000
}' \
--output json
3. 查询他人闲忙
mcporter call dingtalk-calendar query_busy_status \
--args '{
"userIds": ["userId1", "userId2"],
"startTime": 1738128000000,
"endTime": 1738214400000
}' \
--output json
4. 查询空闲会议室
mcporter call dingtalk-calendar query_available_meeting_room \
--args '{
"startTime": "1738128000000",
"endTime": "1738131600000"
}' \
--output json
5. 为日程添加会议室
mcporter call dingtalk-calendar add_meeting_room \
--args '{
"eventId": "日程ID",
"roomIds": ["会议室ID1"]
}' \
--output json
6. 更新日程
mcporter call dingtalk-calendar update_calendar_event \
--args '{
"eventId": "日程ID",
"summary": "新标题",
"description": "新描述"
}' \
--output json
7. 删除日程
mcporter call dingtalk-calendar delete_calendar_event \
--args '{"eventId": "日程ID"}' \
--output json
通讯录工具
搜索用户
mcporter call dingtalk-contacts search_user_by_key_word \
--args '{"keyWord": "张三"}' \
--output json
获取用户详情
mcporter call dingtalk-contacts get_user_info_by_user_ids \
--args '{"user_id_list": ["userId1", "userId2"]}' \
--output json
常用时间格式
import time
from datetime import 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 query_available_meeting_room \
--args '{"startTime":"1738128000000","endTime":"1738131600000"}' \
--output json
# 2. 创建日程(假设获取到会议室ID: room123)
mcporter call dingtalk-calendar create_calendar_event \
--args '{
"summary": "周会",
"startDateTime": "2026-02-28T14:00:00+08:00",
"endDateTime": "2026-02-28T15:00:00+08:00"
}' \
--output json
# 3. 添加会议室(假设日程ID: event123)
mcporter call dingtalk-calendar add_meeting_room \
--args '{"eventId":"event123","roomIds":["room123"]}' \
--output json
安全使用建议
This skill is coherent for managing DingTalk calendars using the mcporter CLI, but take these precautions before installing/using it:
- Only install mcporter from a trusted source (verify the npm package and its maintainer) and run the installation yourself rather than running arbitrary install commands you don't understand.
- The skill requires you to paste Streamable HTTP URLs for DingTalk MCP services; treat those URLs as potentially sensitive (they allow the mcporter client to call your org's MCP endpoints) and only provide them if you trust the endpoint and operator.
- Because the skill relies on an external CLI (mcporter), review mcporter's documentation for what it stores locally (configs, tokens) and its network behavior.
- Note the minor inconsistency: package.json lists mcporter as a dependency even though the skill has no automated install; this is likely a packaging omission, not malicious, but verify before granting access to production accounts.
If you want a stricter review, provide the mcporter package source (or its code) so its network/storage behavior can be inspected — that information would change the assessment if it showed unexpected exfiltration or wide local credential access.
功能分析
Type: OpenClaw Skill
Name: dingtalk-calendar
Version: 1.0.2
The skill is classified as suspicious due to its reliance on installing a global CLI tool (`mcporter`) via `npm` or `bun` as instructed in `SKILL.md`. While this is necessary for the skill's stated purpose of managing DingTalk calendar and contacts, installing global packages introduces an external dependency and expands the execution environment, posing a potential supply chain risk if the `mcporter` package itself were compromised. Additionally, the skill involves executing commands with JSON arguments, which could be a vector for injection if the OpenClaw agent or the `mcporter` tool does not properly sanitize user input, although the skill itself does not demonstrate malicious intent or exploitation.
能力评估
Purpose & Capability
Name and description (DingTalk calendar management) align with the instructions: all operations are CLI calls to an MCP calendar/contacts service via the mcporter tool. No unrelated credentials, binaries, or system access are requested.
Instruction Scope
SKILL.md confines runtime actions to installing/using the mcporter CLI, adding MCP service Streamable HTTP URLs from mcp.dingtalk.com, and running mcporter call commands for calendar/contacts operations. These actions necessarily send calendar/contact data to the configured MCP endpoints (expected for this skill). The instructions do not direct reading unrelated host files, environment variables, or unknown external endpoints.
Install Mechanism
This is instruction-only (no install spec). SKILL.md tells the user to install mcporter manually via npm/bun (user-run). package.json lists mcporter as a dependency even though there is no automated install — this is a minor inconsistency that can confuse users but is not evidence of malicious behavior. No downloads from untrusted URLs or archive extraction are present.
Credentials
The skill does not request environment variables, secrets, or system config paths. It requires the user to supply Streamable HTTP URLs for DingTalk MCP services (these act like service endpoints/credentials) which is proportional to the stated purpose. Users should treat those URLs as sensitive and only paste trusted endpoints.
Persistence & Privilege
The skill is not always-enabled and does not request system-wide persistence or modification of other skills. Autonomous invocation is allowed (platform default) but does not combine with broad credentials or unusual privileges here.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install dingtalk-calendar - 安装完成后,直接呼叫该 Skill 的名称或使用
/dingtalk-calendar触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.2
- Clarified installation instructions for mcporter CLI, asking users to execute install commands manually in terminal.
- No changes to core usage instructions or command examples.
- Documentation update only; no functional or API changes.
v1.0.1
- Improved installation instructions: added guidance for installing and verifying mcporter CLI.
- Added detailed steps for MCP Server configuration, including obtaining and adding MCP URLs.
- Enhanced usage examples and clarified basic command patterns.
- Expanded description to include supported scenarios such as schedule management, meeting booking, and free/busy querying.
- Minor formatting and structure improvements for better readability.
v1.0.0
- Initial release of the dingtalk-calendar skill for DingTalk calendar and meeting room management via mcporter CLI.
- Supports creating, updating, deleting, and listing calendar events.
- Enables querying user free/busy status and available meeting rooms.
- Allows adding meeting rooms to calendar events.
- Provides contacts integration for user search and detail retrieval.
元数据
常见问题
Dingtalk Calendar 是什么?
钉钉日程管理(创建日程、查询闲忙、会议室预订)。使用 mcporter CLI 连接钉钉 MCP server 执行日程管理、日程查询、会议室预订等操作。使用场景:日程创建管理、会议预订、查询他人闲忙、会议室预约等。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1533 次。
如何安装 Dingtalk Calendar?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install dingtalk-calendar」即可一键安装,无需额外配置。
Dingtalk Calendar 是免费的吗?
是的,Dingtalk Calendar 完全免费(开源免费),可自由下载、安装和使用。
Dingtalk Calendar 支持哪些平台?
Dingtalk Calendar 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Dingtalk Calendar?
由 JavaZhengwu(@javazhengwu)开发并维护,当前版本 v1.0.2。
推荐 Skills