Skip to main content
Glama
NotoriousArnav

EventHorizon MCP Server

manage_registration

Approve, waitlist, or cancel event registrations as an organizer to manage attendee participation.

Instructions

Manage a registration (approve, waitlist, or cancel). Only available to the event organizer.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
registration_idYesThe ID of the registration to manage
actionYesAction to take on the registration

Implementation Reference

  • src/index.ts:279-300 (registration)
    MCP tool registration for 'manage_registration', including description, input schema, and inline handler function that delegates to API client.
    server.tool( 'manage_registration', 'Manage a registration (approve, waitlist, or cancel). Only available to the event organizer.', { registration_id: z.number().describe('The ID of the registration to manage'), action: z.enum(['approve', 'waitlist', 'cancel']).describe('Action to take on the registration') }, async ({ registration_id, action }) => { try { const apiClient = getClient(); const registration = await apiClient.manageRegistration(registration_id, action); return { content: [{ type: 'text', text: `Registration ${action}d successfully!\n\n${formatRegistration(registration)}` }] }; } catch (error) { return { content: [{ type: 'text', text: `Error: ${error instanceof Error ? error.message : String(error)}` }], isError: true }; } } );
  • Core handler logic in API client: performs HTTP POST request to backend API endpoint `/api/registrations/{id}/manage/` with action.
    async manageRegistration(registrationId: number, action: 'approve' | 'waitlist' | 'cancel'): Promise<Registration> { try { const response: AxiosResponse<Registration> = await this.client.post(`/api/registrations/${registrationId}/manage/`, { action }); return response.data; } catch (error) { throw new Error(`Failed to manage registration ${registrationId}: ${getErrorMessage(error)}`); } }
  • Zod input schema defining parameters for the tool: registration_id (number) and action (enum: approve, waitlist, cancel).
    { registration_id: z.number().describe('The ID of the registration to manage'), action: z.enum(['approve', 'waitlist', 'cancel']).describe('Action to take on the registration') },
  • Helper function to format registration data for display in tool responses.
    // Helper to format registration for display function formatRegistration(reg: Registration): string { const eventInfo = typeof reg.event === 'object' ? reg.event.title : `Event ID: ${reg.event}`; const userInfo = typeof reg.user === 'object' ? reg.user.username : `User ID: ${reg.user}`; return `Registration (ID: ${reg.id}) Event: ${eventInfo} User: ${userInfo} Status: ${reg.status} Registered at: ${reg.registered_at}`; }

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