get_event
Retrieve detailed information about a specific event using its unique ID to access event details, schedules, and related data.
Instructions
Get detailed information about a specific event by its ID.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | Yes | The ID of the event to retrieve |
Implementation Reference
- src/index.ts:92-105 (handler)The core handler function for the 'get_event' tool. It retrieves the event using the API client and returns a formatted text response or an error.async ({ event_id }) => { try { const apiClient = getClient(); const event = await apiClient.getEvent(event_id); return { content: [{ type: 'text', text: formatEvent(event) }] }; } catch (error) { return { content: [{ type: 'text', text: `Error: ${error instanceof Error ? error.message : String(error)}` }], isError: true }; } }
- src/index.ts:89-91 (schema)Zod input schema defining the required 'event_id' parameter as a number.{ event_id: z.number().describe('The ID of the event to retrieve') },
- src/index.ts:86-106 (registration)The server.tool() call that registers the 'get_event' MCP tool with its description, schema, and handler.server.tool( 'get_event', 'Get detailed information about a specific event by its ID.', { event_id: z.number().describe('The ID of the event to retrieve') }, async ({ event_id }) => { try { const apiClient = getClient(); const event = await apiClient.getEvent(event_id); return { content: [{ type: 'text', text: formatEvent(event) }] }; } catch (error) { return { content: [{ type: 'text', text: `Error: ${error instanceof Error ? error.message : String(error)}` }], isError: true }; } } );
- src/api-client.ts:121-128 (helper)API client method getEvent() used by the tool handler to fetch event details from the backend API.async getEvent(eventId: number): Promise<Event> { try { const response: AxiosResponse<Event> = await this.client.get(`/api/events/${eventId}/`); return response.data; } catch (error) { throw new Error(`Failed to get event ${eventId}: ${getErrorMessage(error)}`); } }
- src/index.ts:29-38 (helper)Utility function formatEvent() used to format the retrieved event data into a readable string for the tool response.function formatEvent(event: Event): string { return `Event: ${event.title} (ID: ${event.id}) Description: ${event.description} Location: ${event.location} Start: ${event.start_time} End: ${event.end_time} Capacity: ${event.capacity} Organizer: ${event.organizer.username} Registered: ${event.is_registered ? 'Yes' : 'No'}`; }