Skip to main content
Glama

init_recurring_meeting_occurrence

DestructiveIdempotent

Converts a virtual recurring-meeting occurrence into a real standalone Meeting using its exact start timestamp, enabling standalone editing and management.

Instructions

Materialize a virtual recurring-meeting occurrence into a real, standalone Meeting.

Requires OpenProject 17.4+.

start_time: the occurrence's exact start time (ISO 8601, matching a start_time value from list_recurring_meeting_occurrences); occurrences have no numeric id, they are addressed by this timestamp. On success, result is a full Meeting (use its id with get_meeting/ update_meeting/delete_meeting), not an occurrence. A cancelled occurrence is restored and its content reset to the template. If the series template is still a draft, this first sets it to open, which stays even if the init fails; on 17.6 and later OpenProject creates further occurrences automatically only once the template is open. On OpenProject 17.4 and 17.5, initializing an occurrence that already exists fails with a server error instead of returning it; 17.6 and later return the existing occurrence.

Input Schema

NameRequiredDescriptionDefault
confirmNofalse: preview only, nothing changes. true: applies it; get the user's approval of the preview first.
start_timeYes
recurring_meeting_idYesRecurring meeting series id, from list_recurring_meetings.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.4

TDQS

A4.6/5.0
Behavior5/5

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

With destructiveHint=true and idempotentHint=true already present, the description still adds essential context: a cancelled occurrence is restored and its content reset to the template, a draft template is forced open and stays open even if init fails, and repeated init behaves differently on 17.4/17.5 (server error) vs 17.6+ (returns existing). This is exactly the side-effect disclosure an agent needs for a destructive, open-world mutation.

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?

The core action is front-loaded in one sentence, followed by tightly scoped caveats on start_time, return value, and version behavior. The version-specific error nuance in the final paragraph is lengthy but earns its place because it prevents a misread of a server error as a failure.

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 mutation tool with no output schema and an open-world annotation, the description covers the return value ('result is a full Meeting'), downstream id usage, side effects on template state, and version-dependent failure modes. An agent has enough to call it correctly and interpret the outcome.

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 67% and start_time has no schema description, but the description fully compensates: ISO 8601 format, must match a start_time from list_recurring_meeting_occurrences, and the key insight that occurrences have no numeric id and are addressed by timestamp. recurring_meeting_id and confirm are covered by the schema, so the remaining gap is small.

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?

The first sentence names a specific verb ('Materialize') and resource ('virtual recurring-meeting occurrence into a real, standalone Meeting'), and the distinction between an occurrence and the resulting Meeting is made explicit. This clearly separates the tool from list_recurring_meeting_occurrences and cancel_recurring_meeting_occurrence.

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?

It gives strong operational context: OpenProject 17.4+ prerequisite, start_time must match a value from list_recurring_meeting_occurrences, and the output feeds get_meeting/update_meeting/delete_meeting. It does not explicitly say when-not to use it versus cancel_recurring_meeting_occurrence or update_recurring_meeting, so it falls short of full when/when-not routing.

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