Back to skills
extension
Category: OtherNo API key required

iCome(新奥定制钉钉)MCP 统一入口

iCome(新奥定制钉钉)MCP 统一入口。整合日历(日程/会议/忙闲/会议室)、待办(创建/查询/完成/评论/提醒)、通讯录(搜人/查部门/查同事)三个核心 MCP 服务。 场景:查日程、创建会议、约会议室、看忙闲、查待办、创建待办、完成待办、搜同事、查部门、查谁是谁。 首次使用需由用户提供 MCP URL,配置后自动持久化到工作区文件。

personAuthor: user_97ecbe73hubcommunity

iCome MCP 统一入口

iCome(新奥定制钉钉)日历、待办、通讯录三大 MCP 服务,共 44 个工具。

工具总览

📅 日历 (calendar) — 17 个工具

| 分类 | 工具 | 说明 | |------|------|------| | 查询 | list_calendars | 我的日历列表 | | 查询 | list_calendar_events | 查指定时段日程(最多100条) | | 查询 | get_calendar_detail | 查单个日程详情 | | 查询 | get_calendar_participants | 查日程参与人及响应状态 | | 查询 | query_busy_status | 查用户/会议室忙闲时段 | | 查询 | query_available_meeting_room | 查空闲会议室 | | 查询 | list_meeting_room_groups | 会议室分组列表 | | 查询 | list_suggested_event_times | 根据参与人忙闲推荐时间 | | 创建 | create_calendar_event | 创建日程(含参与人/会议室/循环) | | 修改 | update_calendar_event | 修改日程信息 | | 删除 | delete_calendar_event | 删除日程 | | 参与人 | add_calendar_participant | 添加参与人 | | 参与人 | remove_calendar_participant | 移除参与人 | | 响应 | respond | 设置响应(接受/拒绝/暂定) | | 会议室 | add_meeting_room | 预约会议室 | | 会议室 | delete_meeting_room | 取消会议室 | | 附件 | add_attachments | 添加附件(需钉盘fileId) |

✅ 待办 (todo) — 17 个工具

| 分类 | 工具 | 说明 | |------|------|------| | 查询 | get_user_todos_in_current_org | 我的待办列表(分页) | | 查询 | get_todo_detail | 查待办详情(推荐用这个) | | 查询 | query_todo_detail | ⚠️已测返回空,用 get_todo_detail | | 查询 | list_todo_comment | 待办评论列表 | | 创建 | create_personal_todo | 创建个人待办 | | 创建 | create_personal_sub_todo | 创建子待办 | | 修改 | update_todo_task | 修改待办(标题/优先级/截止/完成) | | 修改 | update_todo_done_status | 改完成状态 | | 删除 | delete_todo | 删除待办 | | 评论 | add_todo_comment | 添加评论 | | 评论 | delete_todo_comment | 删除评论 | | 执行人 | add_task_executors | 添加执行人 | | 执行人 | remove_task_executors | 移除执行人 | | 参与人 | add_task_participants | 添加参与人 | | 参与人 | remove_task_participants | 移除参与人 | | 提醒 | add_todo_reminder | 添加提醒 | | 提醒 | reset_todo_reminder | 重置提醒规则 |

👥 通讯录 (contact) — 10 个工具

| 分类 | 工具 | 说明 | |------|------|------| | 查人 | search_user_by_key_word | 搜组织成员(返回userId) | | 查人 | search_contact_by_key_word | 搜好友同事(返回详情含职位) | | 查人 | search_user_by_mobile | 手机号反查(受隐私策略限制) | | 查人 | get_user_info_by_user_ids | 批量查用户详情 | | 查人 | get_current_user_profile | 我的信息 | | 查部门 | search_dept_by_keyword | 搜部门 | | 查部门 | get_dept_info_by_dept_id | 部门详情(含人数) | | 查部门 | get_sub_depts_by_dept_id | 子部门列表 | | 查部门 | get_dept_members_by_deptId | 部门成员列表 | | 其他 | list_my_followings | 我的特别关注 |

⚠️ 铁律

调用任何工具前,先 schema 确认参数名和类型。 原因:不同工具名不一致(startDateTime vs startTime),类型也不一致(string vs number,SSO userId vs 钉钉UID)。

配置文件

icome-mcp-config.json(工作区根目录),不与 skill 打包:

{
  "ICOME_CALENDAR_URL": {"url": "https://mcp-gw.dingtalk.com/server/..."},
  "ICOME_TODO_URL":     {"url": "https://mcp-gw.dingtalk.com/server/..."},
  "ICOME_CONTACT_URL":  {"url": "https://mcp-gw.dingtalk.com/server/..."}
}

命令速查

# 查看某服务所有工具的完整参数(推荐开局先跑)
python3 /workspace/skills/icome-mcp/scripts/call_mcp.py describe --service <calendar|todo|contact>

# 查看单个工具的参数 schema
python3 /workspace/skills/icome-mcp/scripts/call_mcp.py schema --service <service> <工具名>

# 调用工具
python3 /workspace/skills/icome-mcp/scripts/call_mcp.py call --service <service> <工具名> --params '<JSON>'

参数规范

  • --params 外层单引号,内层 JSON 双引号--params '{"key":"value"}'
  • 时间格式因工具而异(用 schema 确认):
    • create_calendar_event → ISO-8601 "2026-05-16T10:00:00+08:00"
    • list_calendar_events → 毫秒时间戳(number) 1778774400000
    • query_available_meeting_room → 毫秒时间戳(string) "1778947200000"
    • query_busy_status → 毫秒时间戳(number) 1778774400000

典型示例

# 📅 日历
python3 /workspace/skills/icome-mcp/scripts/call_mcp.py call --service calendar list_calendar_events \
  --params '{"startTime":1778774400000,"endTime":1779033600000}'

python3 /workspace/skills/icome-mcp/scripts/call_mcp.py call --service calendar create_calendar_event \
  --params '{"summary":"项目评审","startDateTime":"2026-05-17T10:00:00+08:00","endDateTime":"2026-05-17T11:00:00+08:00","attendees":["10123979","10130014"],"location":"B座1F103"}'

# ✅ 待办
python3 /workspace/skills/icome-mcp/scripts/call_mcp.py call --service todo get_user_todos_in_current_org \
  --params '{"pageSize":"10","pageNum":"1"}'

python3 /workspace/skills/icome-mcp/scripts/call_mcp.py call --service todo create_personal_todo \
  --params '{"PersonalTodoCreateVO":{"subject":"完成周报","executorIds":["10123979"],"priority":30,"dueTime":1779000000000}}'

# 👥 通讯录
python3 /workspace/skills/icome-mcp/scripts/call_mcp.py call --service contact search_user_by_key_word \
  --params '{"keyWord":"振凯"}'

python3 /workspace/skills/icome-mcp/scripts/call_mcp.py call --service contact get_user_info_by_user_ids \
  --params '{"user_id_list":["10123979","10130014"]}'

典型工作流

场景1:约会议

  1. search_user_by_key_word 搜参与人 → 拿到 userId
  2. query_busy_status 查忙闲
  3. 可选:list_suggested_event_times 推荐时间
  4. 可选:query_available_meeting_room 找会议室
  5. create_calendar_event 创建日程

场景2:分配任务

  1. search_user_by_key_word 搜执行人
  2. create_personal_todo 创建待办,指定执行人
  3. 可选:add_todo_reminder 加提醒

场景3:查某人信息

  1. search_contact_by_key_word 搜人名 → 直接返回姓名+职位+userId
  2. 如需更多:get_user_info_by_user_ids 批量查详情

返回值判断

成功和失败都通过 stdout 输出 JSON,判断 "success" 字段:

  • "success": true → 成功,数据在 "result"
  • "success": false → 失败,"errorCode" + "errorMsg" 说明原因

首次配置

配置文件缺失时脚本会自动提示。引导用户去 钉钉 AI 能力中心 → MCP 广场 → 分别搜索"钉钉日历""钉钉待办""钉钉通讯录"→ 复制 StreamableHttp 地址。

⚠️ 已知坑位(2026-05-16 验证)

1. add_todo_reminder baseTime 只接受 dueTime/customTime

schema 未标注枚举值。"dueTime" ✅ / "customTime" ✅ / "DUE_DATE" ❌ → 500 错误

2. 待办 userId 入参出参不一致

  • 入参用 SSO userId(如 "10123979")✅
  • 出参返回钉钉内部 UID(如 "3753072880"
  • 操作执行人/参与人时继续用 SSO userId,不要手动转换
  • 但做 equals 匹配时需要知道两套 ID 不对等

3. query_available_meeting_room 时间格式

毫秒时间戳 string("1778947200000"),不是 ISO-8601

4. respond 组织者不能改自己

组织者对日程使用 respond 会报 300000 错误,这是行为正确的限制