list_projects
list_projectsList the caller's projects with status and URL.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
list_projectsList the caller's projects with status and URL.
| 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?
The readOnlyHint annotation already establishes this is a safe read operation. The description adds that the response includes status and URL fields, but otherwise gives no additional behavioral detail such as pagination, ordering, or whether archived projects are included. It provides some value beyond annotations but not rich context.
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 sentence, no filler, and the core action and scope are front-loaded. Every word carries meaning: verb, subject, scope, and output fields.
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, parameterless read-only list tool, the description is largely complete: it identifies the resource, scope, and returned fields. It doesn't cover edge behaviors like ordering or empty results, but those are minor for this tool's complexity.
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?
The tool has zero parameters, so there is nothing for the description to document. The baseline for a zero-parameter tool is 4; the description naturally adds no parameter detail, and none is needed.
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?
The description states a specific verb ('List'), resource ('the caller's projects'), and output scope ('with status and URL'). It clearly distinguishes from sibling tools like get_project (single project) and list_skills/list_env (different resource types).
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 'the caller's projects' makes the context clear: use when you need the caller's own project list with status and URL. It doesn't explicitly name alternatives or exclusions, but the scope is unambiguous enough for an agent to select it appropriately.
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.