Skip to main content
Glama

Plan to assign a ChurchTools person or a name to an event service

ct_assign_event_service

Assign one ChurchTools event service assignment to a person or name via a preview plan; choose personId or name, not both.

Instructions

Writes nothing: returns a plan that assigns one service assignment of an event (ct_get_event) to a ChurchTools person (personId) or to a name; give exactly one. For a helper without a ChurchTools account, ct_set_external_event_service is the alternative. ChurchTools gives the filled assignment a new id; ct_get_event shows it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoThe assignee's name, 2-255 characters
commentNoUp to 255 characters
eventIdYesThe event's id
personIdNoThe ChurchTools person's id
isAcceptedNotrue when the assignee already accepted
eventServiceIdYesThe id of one assignment in the event's eventServices (ct_get_event), not the serviceId

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing the plan-based contract ('writes nothing'), the new id ChurchTools assigns, and how to observe the result via ct_get_event. It does not reconcile the tension with readOnlyHint=false or state that the plan must be applied by ct_execute_plan, which is the one behavioral detail an agent still needs.

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?

Front-loads the key fact ('Writes nothing') and packs three useful clauses without filler. The semicolon-chained phrasing ('assigns one service assignment of an event ... to a ChurchTools person ... or to a name') is slightly dense to parse but nothing is wasted.

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

Completeness4/5

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

For a 6-parameter tool with no output schema, the description covers the return shape (a plan), the exclusivity of two optional params, and the sibling alternative. The notable omission is ct_execute_plan, the tool that actually applies the returned plan, which the agent needs to close the loop.

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 the baseline is 3, but the description adds semantics the schema lacks: personId and name are mutually exclusive and exactly one is required, and eventServiceId is clarified as one assignment inside the event's eventServices rather than a serviceId.

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 concrete effect (returns a plan assigning one event service assignment to a ChurchTools person or a name) and names the sibling it is not (ct_set_external_event_service). The agent can distinguish it from ct_get_event and ct_execute_plan without opening a schema.

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

Usage Guidelines5/5

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

Explicitly routes the agent: use the personId/name pair here, and use ct_set_external_event_service when the helper has no ChurchTools account. It also states the exclusivity rule ('give exactly one'), so the branch decision is fully specified.

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