delete_task
Destructive — deletes a task. Only call when the user explicitly asks to delete.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | No | ||
| error | No | ||
| message | No | ||
| upgrade_url | No |
Destructive — deletes a task. Only call when the user explicitly asks to delete.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
| Name | Required | Description | Default |
|---|---|---|---|
| ok | No | ||
| error | No | ||
| message | No | ||
| upgrade_url | No |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the destructive nature is covered by structured metadata. The description reinforces that and adds an important invocation guardrail ('only call when the user explicitly asks to delete'), but it does not disclose additional behavioral details such as what happens with a non-existent task_id. This is acceptable given the annotations and idempotentHint=true.
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?
The description is two short sentences with zero filler. The destructive warning and the core action are front-loaded, and the usage restriction is stated immediately afterward.
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 destructive operation, the description covers the essential safety rule and the action. With output schema and annotations present, it does not need to describe return values or safety hints. A minor gap is the lack of any guidance on task_id semantics or error behavior when the task does not exist.
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 description does not explain task_id at all. The property name is self-explanatory enough to avoid a score of 1, but the description fails to compensate for the missing schema documentation, so an agent must infer the meaning and format of task_id from its name alone.
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 the exact verb 'deletes' and resource 'task', making the operation unambiguous. It also distinguishes the tool from non-destructive task-related siblings like create_task and update_task by explicitly flagging it as destructive.
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 gives an explicit condition for use: only call when the user explicitly asks to delete. It clearly implies not to call this tool in other situations, though it does not name alternative tools such as update_task_state or create_task as fallbacks.
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.
Most tools map cleanly to distinct resource+action pairs: projects, tasks, skills, user rules, memory, and messaging are all clearly separated. The main ambiguity is update_task versus update_task_state, since update_task can also change state and plan_status, though the descriptions do point to the narrow intended use.
The naming is largely consistent verb_noun snake_case: create_project, update_skill, delete_task, list_projects, get_context, save_turn. Minor deviations include recent_messages lacking a verb, remove_user_rule versus delete_* style, and singular user_rule in mutations versus plural user_rules in listing.
With 27 tools, the server is over the typical well-scoped MCP range, even though it covers several domains. Some consolidation is possible, such as folding update_task_state into update_task and reducing the overlapping retrieval/search tools.
The tool set provides strong lifecycle coverage for projects, tasks, skills, and user rules, plus memory retrieval, agent messaging, and onboarding help. Minor gaps exist, like no standalone get_task or list_tasks and no explicit inbox listing, but get_project and get_context largely cover those needs.