Skip to main content
Glama

indico_moderate_registration

Approve or reject a pending event registration, optionally with a rejection reason; the registrant is emailed either way.

Instructions

Approve or reject a pending registration. Indico emails the registrant either way.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYes
reasonNoRejection reason, kept in Indico
form_idYes
event_idYesIndico event id (the number in /event/<id>/)
instanceNoIndico instance: a configured name (see indico_list_instances) or its URL; an event link works too. Can be left out when only one instance is configured or a default is set.
send_reasonNoInclude the reason in the rejection email
registration_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare this is not read-only and not destructive, so the safety profile is partly covered. The description adds a genuinely valuable side effect not in the annotations: Indico emails the registrant regardless of approve or reject, which an agent must know before acting. It still omits whether the decision is reversible and what permissions are required.

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?

Two short sentences, zero filler, with the tool's action front-loaded and the side effect immediately following. Nothing is wasted or redundant with the title.

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?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. For a 7-parameter mutation tool the description is adequate, though it could note that the action is not easily undone and clarify how the reason parameter interacts with send_reason.

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

Parameters3/5

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

Schema coverage is 57%, with form_id and registration_id undocumented and instance/event_id only lightly described. The description mentions the action and the email consequence, hinting at the send_reason/reason coupling, but adds no syntax or format detail for the undocumented identifiers. This is the baseline expected when the schema carries most of the weight.

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 description gives a precise verb pair (approve/reject) and resource (pending registration), scoping the action to pending items only. This clearly separates it from sibling read tools like indico_list_registrations and indico_get_registration without needing to name them.

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

Usage Guidelines3/5

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

The word "pending" implicitly tells the agent this only applies to registrations awaiting moderation, which is useful routing context. However, there is no explicit statement of when this should be invoked versus when to just view a registration, and no prerequisites or alternate paths are mentioned.

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