Inspiration

Kurdish families and communities often live across several countries and use several calendar systems. Planning Nawroz can involve searching an event list, translating the date across calendars, checking multiple local clocks, and manually rebuilding the result in a message. We wanted to make that coordination easier without taking the final decision away from the person.

What it does

Kurdish Calendar Agent lets a browser agent complete one coherent planning workflow:

  1. Find Nawroz in the calendar’s real event data.
  2. Convert March 21 across Gregorian, Kurdish Bashur, Kurdish Rojhalat, Persian, and Hijri calendars.
  3. Compare candidate meeting times for Erbil, London, Toronto, or other IANA time zones.
  4. Open March 21 in the visible calendar so the person can verify the selected date and events.
  5. Stage an editable event plan containing the conversions, local times, and notes.

The plan remains a private, unsaved draft. No tool can publish, save, send, share, or book anything. The person reviews the details, edits the draft, and explicitly chooses whether to copy it.

Why WebMCP is a strong fit

Without WebMCP, an agent must scrape labels, infer calendar state, guess which controls to click, and reconstruct structured date and time-zone information from the page. Those steps are brittle and difficult to verify.

WebMCP exposes the calendar’s real capabilities as five explicit, schema-validated browser tools. The agent receives structured event records, calendar conversions, and local-time comparisons, while UI-affecting tools update the same calendar the person sees. This creates a reliable collaboration loop: the agent performs repetitive research and coordination, and the human verifies and controls the final action.

What people and agents can do together

A person can make one request—“Plan Nawroz 2026 for my family in Erbil, London, and Toronto”—instead of manually combining an event search, five calendar systems, daylight-saving-aware time-zone calculations, calendar navigation, and message drafting.

The agent does the structured work and visibly opens the selected day. The person validates the result in context, adjusts the notes, and decides whether to copy it. The workflow is more capable than ordinary page automation while remaining human-controlled.

How we built it

The application registers five imperative tools with document.modelContext.registerTool():

  • kurdish_calendar_find_events
  • kurdish_calendar_convert_date
  • kurdish_calendar_compare_global_times
  • kurdish_calendar_open_date
  • kurdish_calendar_stage_event_plan

Each tool uses a strict JSON input schema, structured output, concise text output, and honest behavior annotations. Registrations share an AbortSignal; a partial registration failure aborts the complete set. Event search uses the same data as the visible calendar. open_date updates the real calendar UI, while stage_event_plan opens the real editable review panel.

The implementation uses Next.js, React, TypeScript, Tailwind CSS, Vitest, and the WebMCP API. The public site is deployed on Vercel.

Existing project and challenge-period work

Kurdish Calendar, its localization, date-conversion utilities, event data, and public website existed before the challenge.

During the challenge, we meaningfully extended it with native WebMCP tool contracts and implementations, lifecycle-safe tool registration and cleanup, agent-driven calendar navigation, international time-zone comparison and ranking, an editable private event-plan review panel, explicit human-control safeguards, updated 2026 event data, and automated tests plus WebMCP-enabled browser verification.

The public repository’s dated commit history and pull requests distinguish the challenge work from the pre-existing product.

Challenges

The hardest part was designing a workflow that genuinely belonged in a calendar instead of exposing tools only for novelty. We reduced the initial toolset to five actions that all contribute directly to one user goal. We also had to handle calendar conversions, daylight-saving-aware time zones, browser lifecycle cleanup, visible UI synchronization, multilingual RTL layouts, and server/client date hydration consistently.

Accomplishments

  • A complete five-tool WebMCP workflow on a real deployed product.
  • Visible calendar navigation rather than hidden tool-only output.
  • Calendar conversion across five displayed systems.
  • DST-aware comparison across international locations.
  • A private, editable plan with explicit human approval before copying.
  • English, Kurdish, Arabic, and Persian support.
  • Automated tests and production browser verification with no page errors or horizontal overflow.

What we learned

The strongest WebMCP tools are not generic wrappers around buttons. They expose stable product semantics that an agent can compose while preserving visible context and human control. Fewer coherent tools produced a better experience than a larger disconnected tool catalog.

What's next

We plan to add user-selected cities, reusable family time-zone groups, richer event filtering, export formats, and more regional calendar data. Saving, sending, or sharing will remain explicit human actions rather than autonomous tool behavior.

Built With

Share this project:

Updates

Submission history