Install
$ agentstack add skill-aws-samples-sample-lark-mcp-on-agentcore-lark-task ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
task (v2)
(authentication is handled automatically by the MCP server)
> 任务搜索技巧:先区分用户是否特地指定使用搜索 skill,以及是否真的提供了查询关键字(例如任务名称、关键词、片段描述)。如果用户特地指定使用搜索 skill,或明确给出了任务查询关键字,则目标是任务时优先使用 lark_task_search。如果用户没有特地指定使用搜索 skill,且意图里没有查询关键字,只有范围条件(例如"今年以来""已完成""由我创建""我关注的"),并且使用 lark_task_search 与 lark_task_get_related_tasks / lark_task_get_my_tasks 都能达到目的时,应优先使用列表型能力,而不是搜索型能力。其中,"与我相关 / 我关注的 / 由我创建"等优先考虑 lark_task_get_related_tasks;"我负责的 / 分配给我"的列表优先考虑 lark_task_get_my_tasks。不要把时间范围词(例如"今年以来")本身误当成 query 去走搜索。 > 任务搜索相关性提示:lark_task_search 当前不会自动判断搜索结果与搜索发起人的相关性。如果用户明确要求搜索"与我相关"的任务,必须先识别具体关系,获取当前用户的 open_id,并显式传入对应的 assignee(负责人)、creator(创建人)或 follower(关注人)过滤条件;不能只依赖 query 期待自动返回与当前用户相关的任务。 > 任务清单搜索技巧:任务清单也遵循同样的判断逻辑。先区分用户是否特地指定使用搜索 skill,以及是否真的提供了清单查询关键字(例如清单名称、关键词、片段描述)。如果用户特地指定使用搜索 skill,或明确给出了清单查询关键字,则优先使用 lark_task_tasklist_search。如果用户没有特地指定使用搜索 skill,且意图里没有查询关键字,只有范围条件(例如"由我创建的任务清单""今年以来创建的清单"),并且使用搜索或原生列取清单都能达到目的时,应优先使用原生 tasklists.list 接口列取清单(先 lark_discover(query="task.tasklists.list"),再 lark_invoke(tool_name="lark_task_tasklists_list", args={...})),再按 creator、created_at 等字段做本地筛选和分页控制。 > 意图区分补充:像"搜索飞书中今年以来我关注的任务"这类表达,虽然字面带有"搜索",但如果没有真正的查询关键字,且本质是在限定"与我相关 + 时间范围",则应优先走 lark_task_get_related_tasks;像"搜索飞书中由我创建的任务清单"这类表达,如果没有清单关键字,且本质是在限定"清单范围 + 创建者",则应优先走原生 tasklists.list 后筛选,而不是直接走搜索型 shortcut。 > 用户身份识别:在用户身份(user identity)场景下,如果用户提到了"我"(例如"分配给我"、"由我创建"),请默认获取当前登录用户的 open_id 作为对应的参数值。 > 术语理解 — 待办 disambiguation(必读): > - 用户提到「待办 / todo / 任务」时,先判断归属,不要默认走本 skill。 > - 走 minutes 的 lark_minutes_todo(禁止本 skill):上下文含 妙记 / 会议纪要 / minute_token / 妙记 URL(/minutes/);或「在某某妙记里新建/修改待办」「妙记 AI 待办」「会议录制里的待办」。详见 lark_get_skill(domain="minutes")。 > - 走本 skill(lark-task):任务清单、分配给我、项目待办、截止日期/提醒、子任务、任务清单成员;或 applink 含 client/todo/task?guid=;或明确说「飞书任务」「任务中心」「我的任务清单」。 > - 禁止:用户要在妙记里加待办时,不要通过 lark_invoke(tool_name="lark_task_tasklists_list")、lark_task_create() 或任何 task 工具去「找清单再放任务」。 > 友好输出:在输出任务(或清单)的执行结果给用户时,建议同时提取并输出工具返回结果中的 url 字段(任务链接),以便用户可以直接点击跳转查看详情。
> 创建/更新注意: > 1. 只有在设置了 due(截止时间)的情况下,才能设置 repeat_rule(重复规则)和 reminder(提醒时间)。 > 2. 若同时设置了 start(开始时间)和 due(截止时间),开始时间必须小于或等于截止时间。 > 3. 使用 tenantaccesstoken(应用身份)时,无法跨租户添加任务成员。
> 查询注意: > 1. 在输出任务详情时,如果需要渲染负责人、创建人等人员字段,除了展示 id (例如 open_id) 外,还必须通过其他方式(例如调用通讯录技能)尝试获取并展示这个人的真实名字,以便用户更容易识别。 > 2. 在输出清单详情时,如果需要渲染 owner、member、角色成员等人员字段,也必须像任务成员展示一样,除了展示 id 外,尽量解析并展示对应人员的真实名字。 > 3. 在输出任务或清单详情时,如果需要渲染创建时间、截止时间等字段,需要使用本地时区来渲染(格式为2006-01-02 15:04:05)。
> Task GUID 定义: > Task OpenAPI 中用于更新/操作任务的 guid 是任务的全局唯一标识(GUID),不是客户端展示的任务编号(例如 t104121 / suite_entity_num)。 > 对于 Feishu 的任务 applink(例如 .../client/todo/task?guid=...),必须使用 URL query 里的 guid 参数作为 task guid。
> 从任务清单定位并修改任务的最短路径: > 1. 已知任务清单 GUID 时直接使用,不要先搜索;已知任务清单 applink 时,取 URL query 中的 guid 作为 tasklist_guid。 > 2. 只有清单名称或关键词、没有 GUID/applink 时,才调用一次 lark_task_tasklist_search() 解析目标清单。 > 3. 按原生 API 规则先用 lark_discover(query="task.tasklists.tasks") 查 schema,再用 lark_invoke(tool_name="lark_task_tasklists_tasks", args={params: {"tasklist_guid":""}}) 拉取清单任务。 > 4. 从清单任务结果中取任务的 guid,直接传给 lark_task_update() 或 lark_task_complete();禁止传客户端展示编号(例如 t104121)。这两个工具也可直接接收包含 guid= 的任务 applink。 > 5. lark_task_update() 返回 updated_fields 和每个任务的服务端 confirmed 字段;lark_task_complete() 返回 status、completed_at、already_completed。这些字段已确认目标状态时,不要例行追加查询任务详情;仅在服务端未返回所需字段或用户明确要求完整复核时再查询详情。
| Shortcut | 说明 | |----------|------| | lark_get_skill(domain="task", section="create") | create a task | | lark_get_skill(domain="task", section="update") | update task attributes | | lark_get_skill(domain="task", section="set-ancestor") | set or clear a task ancestor | | lark_get_skill(domain="task", section="comment") | add a comment to a task | | lark_get_skill(domain="task", section="complete") | mark a task as complete | | lark_get_skill(domain="task", section="reopen") | reopen a completed task | | lark_get_skill(domain="task", section="assign") | assign or remove task members | | lark_get_skill(domain="task", section="followers") | manage task followers | | lark_get_skill(domain="task", section="reminder") | manage task reminders | | lark_get_skill(domain="task", section="get-my-tasks") | List tasks assigned to me | | lark_get_skill(domain="task", section="get-related-tasks") | list tasks related to me | | lark_get_skill(domain="task", section="search") | search tasks | | lark_get_skill(domain="task", section="upload-attachment") | upload a local file as an attachment to a task | | lark_get_skill(domain="task", section="tasklist-create") | create a tasklist and optionally add tasks | | lark_get_skill(domain="task", section="tasklist-search") | search tasklists | | lark_get_skill(domain="task", section="tasklist-task-add") | add tasks to a tasklist | | lark_get_skill(domain="task", section="tasklist-members") | manage tasklist members |
API Resources
lark_discover(query="task..") # 调用 API 前必须先查看参数结构
lark_invoke(tool_name="lark_task__", args={...}) # 调用 API
> 重要:使用原生 API 时,必须先通过 lark_discover 查看 params / data 参数结构,不要猜测字段格式。
tasks
create— 创建任务delete— 删除任务get— 获取任务详情list— 列取任务列表patch— 更新任务
tasklists
add_members— 添加清单成员create— 创建清单delete— 删除清单get— 获取清单详情list— 获取清单列表patch— 更新清单remove_members— 移除清单成员tasks— 获取清单任务列表
subtasks
create— 创建子任务list— 获取任务的子任务列表
members
add— 添加任务成员remove— 移除任务成员
sections
create— 创建自定义分组delete— 删除自定义分组get— 获取自定义分组详情list— 获取自定义分组列表patch— 更新自定义分组tasks— 获取自定义分组任务列表
custom_fields
create— 创建自定义字段get— 获取自定义字段详情patch— 更新自定义字段list— 获取自定义字段列表add— 将自定义字段加入资源remove— 将自定义字段移出资源
customfieldoptions
create— 创建自定义字段选项patch— 更新自定义字段选项
agent
update_agent_profile— 更新任务代理的主页内容数据。register_agent— 注册AI 智能体
agenttaskstep_info
append_task_steps— 写入任务记录。
权限表
| 方法 | 所需 scope | |------|-----------| | tasks.create | task:task:write | | tasks.delete | task:task:write | | tasks.get | task:task:read | | tasks.list | task:task:read | | tasks.patch | task:task:write | | tasklists.add_members | task:tasklist:write | | tasklists.create | task:tasklist:write | | tasklists.delete | task:tasklist:write | | tasklists.get | task:tasklist:read | | tasklists.list | task:tasklist:read | | tasklists.patch | task:tasklist:write | | tasklists.remove_members | task:tasklist:write | | tasklists.tasks | task:tasklist:read | | subtasks.create | task:task:write | | subtasks.list | task:task:read | | members.add | task:task:write | | members.remove | task:task:write | | sections.create | task:section:write | | sections.delete | task:section:write | | sections.get | task:section:read | | sections.list | task:section:read | | sections.patch | task:section:write | | sections.tasks | task:section:read | | custom_fields.create | task:custom_field:write | | custom_fields.get | task:custom_field:read | | custom_fields.patch | task:custom_field:write | | custom_fields.list | task:custom_field:read | | custom_fields.add | task:custom_field:write | | custom_fields.remove | task:custom_field:write | | custom_field_options.create | task:custom_field:write | | custom_field_options.patch | task:custom_field:write | | agent.update_agent_profile | task:task:write | | agent.register_agent | task:task:write | | agent_task_step_info.append_task_steps | task:task:write |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: aws-samples
- Source: aws-samples/sample-lark-mcp-on-agentcore
- License: MIT-0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.