get_event
Retrieve a single calendar event with complete details by providing the event ID.
Instructions
Fetch a single calendar event with full detail.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | Yes | ||
| account | No | ||
| calendar | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/productivity_mcp/server.py:396-404 (handler)The MCP tool handler for 'get_event'. It is registered with @mcp.tool(), decorated with @_logged, and delegates to the calendar provider's get_event method, then converts the result to a dict.
@mcp.tool() @_logged def get_event( event_id: str, account: str | None = None, calendar: str | None = None, ) -> dict[str, Any]: """Fetch a single calendar event with full detail.""" return _calendar(account).get_event(calendar, event_id).to_dict() - Abstract method definition for get_event in CalendarProvider base class. Defines the interface: takes calendar (str|None) and event_id (str), returns a CalendarEvent.
@abstractmethod def get_event(self, calendar: str | None, event_id: str) -> CalendarEvent: ... - src/productivity_mcp/server.py:396-404 (registration)Tool registration via @mcp.tool() decorator on the get_event function in server.py. This is how the tool is registered with the MCP framework.
@mcp.tool() @_logged def get_event( event_id: str, account: str | None = None, calendar: str | None = None, ) -> dict[str, Any]: """Fetch a single calendar event with full detail.""" return _calendar(account).get_event(calendar, event_id).to_dict() - Google Calendar implementation of get_event. Calls the Google Calendar API events().get() and converts the raw result to a CalendarEvent.
def get_event(self, calendar: str | None, event_id: str) -> CalendarEvent: cal_id = self._resolve_calendar(calendar) raw = self._svc().events().get(calendarId=cal_id, eventId=event_id).execute() return self._to_event(raw, cal_id) - CalDAV implementation of get_event. Iterates over calendar events, parses iCal data, and finds the event by ID.
def get_event(self, calendar: str | None, event_id: str) -> CalendarEvent: cal = self._find_calendar(calendar) for item in cal.events(): for ev in _parse_ical(item.data, cal.name): if ev.id == event_id: return ev raise KeyError(f"Event {event_id} not found in calendar {cal.name}")