Skip to main content
Glama

Export Exam Schedule (.ics)

export_exam_schedule_ics
Read-onlyIdempotent

Generate an iCalendar (.ics) document of ITU OBS final exams filtered by course codes; returns importable text without login.

Instructions

Build an iCalendar (.ics) document from the current public OBS final exam schedule (no login), filtered to the given course codes. Each exam is a single dated event in Europe/Istanbul time. An exam whose date or time is missing or unreadable is listed in 'skipped'; a code with no row is in 'not_found'; a branch whose schedule is not published yet is skipped with 'exam_schedule_not_published', which is not the same as having no exam. When only a start time is published the event has no end time ('end_time_unknown'). Returns the text in 'ics'; it does not write a file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
course_codesYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.2.1

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond annotations: documents the exact output field ('ics'), edge-case behaviors ('skipped', 'not_found', 'exam_schedule_not_published', 'end_time_unknown'), time zone, and crucially that it does not write a file. Annotations confirm read-only, but the description adds rich behavioral detail about error states and output semantics.

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-loaded with the main action and output, then lists edge cases efficiently. Two long sentences but no filler; every clause carries information about behavior or output.

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?

Covers output location ('ics'), non-file-writing behavior, time zone, and all major failure modes. For a read-only export tool with an output schema, this is complete enough that an agent could invoke it correctly without further guidance.

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 0%, so the description must compensate. It explains that course_codes filters the schedule, which is useful, but does not clarify format expectations (e.g., exact code format like 'CS101'). Baseline 3 is appropriate given some meaning is added but the parameter remains under-specified.

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 specific verb (Build) and a precise resource (iCalendar .ics from the public OBS final exam schedule), and scopes it as filtered by course codes. Clearly distinguishable from siblings like export_course_schedule_ics and get_public_exam_schedule.

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 description implies usage (no login required, public schedule) but does not explicitly state when to use this instead of get_public_exam_schedule or export_course_schedule_ics. The 'no login' hint gives context but no alternative 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