Delete project
delete_projectDelete a project along with its documents and board.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project id (uuid). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes |
delete_projectDelete a project along with its documents and board.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project id (uuid). |
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply destructiveHint: true, so the destructive nature is known. The description adds valuable behavioral context: deleting a project also deletes its documents and board, a non-obvious side effect an agent should know before invoking.
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 concise sentence that puts the action and the destructive scope up front. There is no filler or repetition of schema-level details.
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 one-parameter tool with a UUID schema, an output schema, and destructiveHint annotation, the description is sufficient. It names the resource, the action, and the important cascade effect, leaving no material gap for correct invocation.
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 input schema already describes projectId as a requiredUUID, and schema description coverage is 100%. The tool description adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.
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 uses a specific verb ('Delete') and resource ('project'), and explicitly states the scope ('along with its documents and board'). This clearly distinguishes it from sibling tools like delete_document and delete_org.
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 description implies when to use this tool by identifying what it deletes, but it does not explicitly state when to choose it over alternatives such as delete_document or delete_org. The cascade behavior suggests whole-project deletion, but the guidance is left to inference.
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.
Every tool targets a distinct resource/action: board retrieval is split into JSON vs image with explicit cross-references, and drawing tools are separated from the generic update_board. Look-alikes like list_documents vs list_diagrams and publish_listing vs use_template are differentiated clearly.
Most tools follow a verb_noun pattern: create_project, list_documents, update_board, upsert_org_member. A few noun-only names like my_listings, project_file_counts and template_categories break the pattern, so naming is consistent but not uniform.
40 tools is well beyond the 25+ threshold for a single server, even though the domains are clustered into org/project/document/board/template areas. The large surface will make tool selection and onboarding heavier for an agent than necessary.
Core lifecycle coverage for org/project/document/board/template is mostly present, and update_board serves as a flexible escape hatch. However, the board API reads rectangle/diamond/ellipse/free-text drawings and groups/links but only offers explicit create/erase for strokes and arrows; paid template purchase/access is also left unclear.