Skip to main content
Glama
earlyon-mcp

earlyon-mcp

by anaqi-blvl

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
EARLYON_TZNoTimezone used for "today" and output times.America/Toronto
EARLYON_COMP_IDNoWidget instance id of the calendar on the page.comp-mg88ldq7
EARLYON_DB_PATHNoSQLite file path for stored calendar data (default `earlyon.db`, or `/data/earlyon.db` in Docker).earlyon.db
EARLYON_API_BASENoSource override for the API base URL.
EARLYON_SITE_URLNoSource override for the site URL.
EARLYON_USER_AGENTNoSource override for the HTTP User-Agent.
EARLYON_BOOM_APP_IDNoSource override for the Boom app id.
EARLYON_HTTP_TIMEOUTNoSource override for the HTTP timeout.
EARLYON_CALENDAR_PAGENoSource override for the calendar page.
EARLYON_EXPECTED_NAMENoExpected calendar name used as a safety gate for refreshes.
EARLYON_REFRESH_HOURSNoBackground refresh interval in hours.3
EARLYON_MIN_MANUAL_REFRESH_MINNoMinimum gap in minutes for the `refresh_now` tool.10

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_eventsA

Programs happening on one day (time, type, venue) plus any closures that day.

get_weekC

A Monday-Sunday week of programs, grouped by day.

get_events_rangeB

Programs between two dates inclusive (past or future), sorted by time.

search_eventsC

Find occurrences of programs by name, place or topic.

get_event_detailsA

Full details for one occurrence: description text, links, venue, and the program's other upcoming dates.

list_program_typesB

The program categories (Morning Indoor, Wildwood Outdoor, Afternoon Indoor, Evening, ...) with counts.

get_closuresB

Closure notices (stat holidays, office/program closures) in a date range.

get_registrationsC

Special programs that require pre-registration (e.g. Infant Massage, ASQ Connection) with open/closed state.

get_recent_changesC

Upcoming programs that were added, removed (cancelled) or edited recently.

get_statusB

Data freshness and coverage (last refresh, earliest/latest dates, recent refresh outcomes).

refresh_nowA

Force a refresh from the website (rate limited; normally refreshes automatically every few hours).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 11 tools

Disambiguation4/5

Most tools are clearly distinct: search_events handles name/place/topic lookup, get_event_details handles a single occurrence, and the metadata tools (get_status, get_closures, get_registrations, get_recent_changes) each target a unique resource. The only mild overlap is the temporal-listing trio get_events (one day), get_week (one week), and get_events_range (arbitrary range), which an agent could plausibly confuse, though the descriptions make the granularity difference explicit.

Naming Consistency5/5

All 11 tools use snake_case verb_noun form (get_events, list_program_types, search_events, refresh_now, etc.). The get_/list_/search_/refresh_ prefixes map predictably to retrieval vs enumeration vs query vs action.

Tool Count5/5

Eleven tools is well within the sweet spot and each one covers a distinct retrieval shape (day, week, range, search, detail, metadata, maintenance). No tool feels redundant enough to remove.

Completeness4/5

The read surface is thorough for a scraped program-schedule domain: date-scoped listings, search, details, closures, registrations, change history, freshness status, and a manual refresh. Minor gaps remain — list_program_types returns categories with counts but there is no way to fetch events filtered by program type, and no venue/location listing tool.

Maintenance

ActivityMaintained
ResponsivenessNo issues