Skip to main content
Glama
NotoriousArnav

EventHorizon MCP Server

get_event

Retrieve detailed information about a specific event using its unique ID to access event data from the EventHorizon platform.

Instructions

Get detailed information about a specific event by its ID.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
event_idYesThe ID of the event to retrieve

Implementation Reference

  • The async handler function that executes the 'get_event' tool: fetches the event using apiClient.getEvent, formats it, and returns the response or 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
        };
      }
    }
  • Zod input schema defining the 'event_id' parameter for the 'get_event' tool.
    {
      event_id: z.number().describe('The ID of the event to retrieve')
    },
  • src/index.ts:86-106 (registration)
    Registration of the 'get_event' tool on the MCP server using server.tool().
    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
          };
        }
      }
    );
  • Helper function used by the handler to format the event data into a readable string.
    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'}`;
    }
  • API client method called by the tool handler to fetch event details via HTTP GET request.
    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)}`);
      }
    }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NotoriousArnav/EventHorizon-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server