get_progress
Read only your completed published lessons. Premium API key required.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Read only your completed published lessons. Premium API key required.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description adds two useful facts beyond that: a premium API key is required, and results are scoped to completed *published* lessons (implying unpublished/incomplete items are excluded). It still says nothing about response shape or size, and there is no output schema to fill that gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the scope constraint is front-loaded ahead of the auth requirement. Minor wording issue: 'Read only your completed...' can be momentarily parsed as 'read-only' rather than 'read, only your', a small ambiguity in an otherwise tight string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and annotations covering safety, the description is nearly sufficient — but 'get_progress' invites a question about what is actually returned (count? percentage? list of lesson IDs?) and the description never answers it. The auth requirement is a plus, but return-value framing is a real omission for a zero-annotation-free return.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so per the rubric the baseline is 4. The description correctly does not invent or describe inputs, and there is nothing parameter-wise it needs to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (read) and resource scope (your completed published lessons), which distinguishes it from get_lesson/list_lessons that fetch arbitrary lessons. The 'completed' qualifier tells the agent this is progress-oriented rather than content retrieval, though it never uses the word 'progress' to tie back to the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is a prerequisite ('Premium API key required'), which is a gating condition rather than a when-to-use rule. It never says how this differs from get_lesson, list_lessons, or mark_lesson_complete, so the agent must infer selection from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.