Skip to main content
Glama

indico_schedule_contribution

Schedule an unscheduled contribution in an Indico event timetable at a given local start time, optionally inside a session block.

Instructions

Put an unscheduled contribution in the timetable at a given time.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
startYesLocal time in the event's timezone, ISO format without offset, e.g. 2026-10-05T14:30
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.
contribution_idYes
session_block_idNoPut it inside this session block; required if the contribution is in a session

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, non-destructive, open-world write, so the mutating nature is known. The description adds the 'unscheduled' state precondition, but omits conflict behavior (e.g., overlapping entries), whether scheduling is reversible, and any permission requirements — all relevant for a scheduling mutation.

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?

A single front-loaded sentence stating the action, the object, and the key input. No filler, no redundancy.

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

Completeness3/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 no explanation, and annotations cover the safety profile. What is missing is the relationship to sibling scheduling/move/unschedule tools and any conflict or permission caveats, leaving an agent to infer the workflow context.

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 description coverage is 80%, so the schema already documents start timezone/format, instance resolution, and the session_block_id requirement. The description adds nothing beyond the schema, so the baseline 3 applies.

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?

States a specific action (placing an unscheduled contribution on the timetable) with a specified time, which is a concrete verb+resource pair. It is reasonably distinguishable from sibling scheduling tools, though it never names or contrasts with indico_move_timetable_entry or indico_unschedule_timetable_entry, leaving the boundary between 'schedule new' and 'move existing' implicit.

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?

'Unscheduled contribution' implies the precondition that the contribution is not yet on the timetable, which is useful context. However, there is no explicit when-to-use guidance, no mention of the alternative (move_timetable_entry) for already-scheduled items, and no note about the session-block requirement beyond the schema.

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