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.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv4.0.0

TDQS

A4.7/5.0
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.

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