Skip to main content
Glama

Update event

nextcloud_update_event
Idempotent

Update a calendar event's summary, time, location, attendees, or description using its etag to prevent conflicting writes.

Instructions

Change one event's fields; the write is guarded by the event's etag.

PUT /remote.php/dav/calendars/{user}/{calendar}/{object}.ics

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "event_url": "<event_url>"
    },
    "name": "nextcloud_update_event"
  }
}

Input Schema

NameRequiredDescriptionDefault
endNo
startNo
summaryNo
locationNo
attendeesNo
event_urlYes
descriptionNo
send_invitationsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.0.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, so the safety profile is covered; the description adds genuinely new context with optimistic-concurrency guarding via the event's etag. However, it is silent on the most consequential behavior for an update tool: whether an omitted/null field leaves the existing value intact or clears it, and what send_invitations does to attendees.

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

Conciseness4/5

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

Two short lines, front-loaded with the operation and then the key behavioral trait. Nothing is padded, though the raw PUT path is of marginal value to an agent compared to a sentence about field-omission semantics.

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?

x

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

Parameters2/5

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

Schema description coverage is 0% across 8 parameters, so the description must carry the load and it names none of them — start, end, summary, location, attendees, description, send_invitations and event_url are all undocumented. The null-default semantics that dominate this schema (patch vs full replacement) are exactly the ambiguity the description fails to resolve.

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

Purpose4/5

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

"Change one event's fields" gives a specific verb (change) and resource (one event), and the singular framing implicitly separates it from create_event and the bulk delete/read calendar-object siblings. It stops short of naming an alternative explicitly, but an agent can identify the operation without opening the schema.

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

Usage Guidelines2/5

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

No statement of when to reach for this versus nextcloud_create_event or nextcloud_delete_calendar_object, and no prerequisites such as which calendar permissions are required. The etag guard is mentioned but never explained as something the caller must supply or fetch — the schema has no etag parameter at all, leaving the precondition opaque.

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

Deploy Server

Other Tools