Skip to main content
Glama

MK 完成单个任务点

mk_complete_unit

Marks an icourse163 learning task point as completed for videos, documents, rich text, or discussions using course, lesson, and unit IDs to update progress.

Instructions

上报一个任务点的学习完成。视频(ct=1)一次上报 videoTime=时长+50 即 100%;文档(ct=3)需 textPages(可传 contentId 自动取);富文本/讨论(ct=4/6)打开即完成。

Input Schema

NameRequiredDescriptionDefault
termIdYes
unitIdYes
courseIdYes
lessonIdYes
contentIdNoct=1 时为 videoId;ct=3 时用于自动取总页数
textPagesNoct=3 文档总页数;不传且给了 contentId 时自动获取
contentTypeYes1视频 3文档 4富文本 5测验 6讨论
durationSecondsNoct=1 视频时长(秒)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description must carry the full behavioral burden. It discloses the non-obvious completion logic per content type, which is genuinely valuable, but it omits permission/auth needs, whether the profile is idempotent, and failure behavior. Worse, it names a parameter `videoTime` that does not exist in the schema (which uses durationSeconds and sets additionalProperties:false), so an agent following it literally would fail validation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single dense sentence with no filler, and the core purpose is stated upfront before the per-type rules. The heavy use of abbreviations (ct, 时长) and a compressed clause structure make it slightly terse, but it is still readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters (5 required), no annotations, and no output schema, the definition should say more. It never explains the identifier parameters, what a successful response looks like, or what to do when a required value is missing, and its `videoTime` naming error creates a real risk of a rejected call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%, so the description needs to fill the gap: it explains contentType codes (ct=1/3/4/6), that textPages can be auto-derived from contentId, and the video duration rule. But four of the eight parameters (termId, unitId, courseId, lessonId) receive no explanation, and the `videoTime` reference conflicts with the schema's durationSeconds and the explicit 50% coverage of the other parameters, so it only partly compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and object: report that a single task point's learning is complete (上报一个任务点的学习完成). Combined with the title 'MK 完成单个任务点', an agent can easily distinguish this from mk_complete_course. However, it never explicitly names mk_complete_course as the whole-course alternative, so the differentiation is implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear per-type invocation guidance: for a video (ct=1), submit videoTime=duration+50 to reach 100%; for a document (ct=3), textPages is required unless a contentId is supplied, in which case the total is auto-fetched; for rich text or discussion (ct=4/6), completion happens simply by opening the item. No exclusion or when-not guidance relative to siblings is given, so it is not a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.