Skip to main content
Glama
PhilflowIO

dav-mcp

by PhilflowIO

delete_todo

Permanently delete a to-do from any CalDAV calendar using its URL and ETag, preventing conflicting changes. Irreversible, so only use upon explicit user request.

Instructions

Permanently delete a todo/task from the calendar. WARNING: This action cannot be undone — the todo is removed from the server immediately. Use only when the user explicitly requests deletion. Obtain the todo URL and etag from list_todos or todo_query first. The etag ensures no conflicting changes occurred since the todo was last retrieved.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
todo_urlYesFull URL of the todo to delete. Obtain from list_todos or todo_query response.
todo_etagYesETag of the todo for conflict detection. Obtain from the same response as the todo URL. Ensures no changes were made since retrieval.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden — and it fully delivers: irreversible deletion ('cannot be undone'), immediate server-side execution ('removed from the server immediately'), and safety gating ('only when the user explicitly requests'). It also discloses the etag conflict-detection behavior, giving the agent insight into a non-obvious constraint not present anywhere else.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tight three-sentence description, front-loaded with the most important facts: what the tool does and that it is irreversible. Every subsequent statement earns its place, covering when to invoke the tool and the prereq/conflict semantics. No filler or repetition of already-structured data.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, no-output-schema tool with two required parameters, everything an agent needs is present: the action, irreversibility trigger, sourcing workflow, and the conflict-check precondition. The minor absence of named alternatives is insufficient to make the agent misuse this tool, and the safety-critical aspects are fully covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3 — the schema already documents both parameters well. The description adds operational meaning beyond the schema by telling the agent how to obtain valid values ('from list_todos or todo_query first') and by explaining why the etag parameter matters (conflict detection), which reinforces conditional requirements.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('delete') and resource ('todo/task from the calendar'), making the operation unambiguous. It naturally differentiates from sibling tools targeting other resources (delete_event, delete_contact, delete_calendar) and from state-changing todo tools like create_todo and update_todo.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit trigger condition — 'Use only when the user explicitly requests deletion' — which guards against speculative destructive calls. It also prescribes the correct sequence: obtain todo_url and etag from list_todos or todo_query first. However, it does not name an alternative tool (e.g., update_todo) for cases where the user wants to modify rather than delete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PhilflowIO/dav-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server