Read OpenProject work package
openproject_get_work_packageRead a work package, including its lock_version for a later edit.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
openproject_get_work_packageRead a work package, including its lock_version for a later edit.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
| 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 readOnlyHint=true and destructiveHint=false, so the safety profile is covered without the description. The description adds a real behavioral fact beyond that: the response carries lock_version, needed as input to a later edit. It says nothing about not-found behavior, permissions, or error cases, so it clears the (lower) annotated bar without being rich.
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?
One short front-loaded sentence: verb and resource first, secondary detail (lock_version) second. No filler, though the trailing 'for a later edit' is slightly elliptical phrasing rather than crisp instruction.
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?
An output schema exists, so return values need not be explained, and annotations carry the read-only safety profile. What remains missing is any clarification of the id parameter and any note on failure modes for a read of a specific resource, leaving the definition adequate but thin.
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?
Schema description coverage is 0% and the single parameter is a bare untyped 'id' with no description. The description does not clarify whether the id is a work package ID, a global identifier, or a project-scoped identifier, so it fails to compensate for the coverage gap. It only weakly implies the id identifies a work package.
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 (work package), which is enough to separate it from openproject_create_work_package and openproject_update_work_package. It does not, however, explicitly distinguish itself from openproject_list_work_packages or openproject_get_wiki_page, so sibling differentiation is only partial.
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 phrase 'for a later edit' implies the intended workflow (fetch before mutating, presumably to feed openproject_update_work_package), which is genuinely useful implied usage. But no explicit when-to-use condition, no named alternative, and no statement of what to do instead if you only need a list, so this is inferred rather than stated.
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.