harbor_project
Fetch a single container-registry project by name or ID to inspect its settings, metadata, and configuration.
Instructions
[READ] Get one Harbor project by name or ID.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| target | No |
Fetch a single container-registry project by name or ID to inspect its settings, metadata, and configuration.
[READ] Get one Harbor project by name or ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| target | No |
Changes observed during successful MCP inspections.
v0.2.0Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true already declaring the safety profile, the description's "[READ]" prefix just repeats the annotation and adds no new behavioral context. It says nothing about what happens when the name is not found, whether "target" changes the lookup scope, or what object is returned.
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 sentence, front-loaded with the resource and the read nature of the call, with no wasted words. It is arguably too terse rather than bloated, so conciseness itself is fine.
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?
For a simple single-entity read with a readOnly annotation and no output schema, the definition is minimally viable, but it leaves an undocumented "target" parameter and the name-vs-ID ambiguity unresolved. An agent could call it, but not with full confidence about the second argument.
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%, so the description carries the full burden, yet it only hints that the name field might also accept an ID. The second parameter, "target" (nullable, default null), is completely unexplained in both schema and description.
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?
"Get one Harbor project" states a specific verb and resource, and "one" implicitly contrasts with the list-oriented sibling harbor_projects. The "by name or ID" phrase slightly muddies things since the schema's required field is only "name", but an agent can still tell what this tool retrieves.
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 [READ] tag implies a safe lookup, but there is no guidance on when to use this versus harbor_projects or harbor_project_summary, nor any stated preconditions such as project existence or permissions. The agent must infer the selection rule entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.