CalEvents for agents
Public, read-only UC Berkeley campus event discovery. No auth. No write APIs.
Start here
- llms.txt: short agent overview
- llms-full.txt: expanded context
- openapi.json: static data API
- API catalog: linkset of every discovery file
- agent skills index
- MCP server card: browser tools and prompts, no remote MCP endpoint
- A2A agent card
- Homepage: WebMCP tools when supported
Data
URL workspace
Humans and agents share the same query string:
?q, ?date (today /
tomorrow / week / upcoming),
?category, ?topic, ?source,
?event. Read valid topic slugs from
events.json.topic_vocabulary.topics.
Browser WebMCP tools include get_ui_state,
apply_ui_state, and build_calevents_url.
apply_ui_state replaces the whole view unless you pass
mode: "merge". Pass event: null to close the
detail panel. Read view from get_ui_state to
see what the page shows, and read it again while
view.pending is true. A merge that races a visitor's
change returns applied: false, so read the state and
retry. Chip dismissal is search-only: pass dismiss to
search_berkeley_events. The page clears dismissed chips
whenever its URL changes. Search inputs such as
startDate, endDate, and
limit have no URL form.
WebMCP tools
These run only in a browser tab on the homepage, through
navigator.modelContext. An unknown category, source,
topic, or date preset is an error, and so is a date that is not
YYYY-MM-DD.
-
search_berkeley_events: ranked UI search path. It reads date words in the query when you pass no date. It returnsinterpretations(chips you candismiss),effectiveDateRange,relaxedandfallbackMessagewhen a filter was dropped, andtotalfor paging withoffset. get_event_by_idgenerate_event_icsget_cal_events_feed_statusget_ui_state/apply_ui_statebuild_calevents_urlget_event_directions-
list_filter_options: valid categories, sources, date presets, and topic slugs
Prompts
The MCP server card names four prompts:
whats-on-tonight: events tonight in Pacific timeis-feed-healthy: feed freshness and topic statusics-for-event: an .ics payload for one event idshare-this-event: a shareable deep link
Privacy
Recent searches stay in the visitor's browser storage. No tool or file exposes them to agents, and that is on purpose.
CRUD limits
Events and feed status are read-only. There is no create, update, or delete for campus events through CalEvents. Calendar export and directions URLs are derived reads.