Add project note
add_project_noteAdds a note to a project's Notes tab.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| title | No | ||
| project_id | Yes | The project's numeric id (list_projects). |
add_project_noteAdds a note to a project's Notes tab.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| title | No | ||
| project_id | Yes | The project's numeric id (list_projects). |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=true, openWorld=true and non-idempotent, so the safety profile is carried by structured data. The description adds only the 'Notes tab' destination and says nothing about permissions, whether the note is append-only, or whether a title is required — adequate but thin for a mutation.
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?
A single efficient sentence with zero padding and the resource front-loaded. Its brevity is close to under-specification rather than verbosity, but structurally it is sound.
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 destructive, non-idempotent write with no output schema and one-third parameter coverage, the description should say what is created/returned and note that the target project must exist. Neither is present, leaving real gaps an agent must guess at.
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 coverage is only 33%: project_id is documented in the schema and echoed nowhere in the description, while text (1-10000 chars) and the optional title (max 200) are undocumented in both. The description fails to compensate for the coverage gap by explaining what text should contain or that title is optional.
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 (adds) and resource (a note on a project) plus where it lands ('Notes tab'), which distinguishes it from the read-side sibling list_project_notes. It stops short of explicitly naming that sibling, so it is clear but not maximally differentiating.
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?
There is no guidance on when to use this versus list_project_notes or other create_* siblings, no prerequisites (e.g. needing a valid project_id from list_projects), and no exclusions. Usage is only inferable from the verb itself.
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.