# Function handleGetProcedureEvents

- handleGetProcedureEvents(args: unknown): Promise<ToolResult>

  Handles the get_procedure_events MCP tool request.

  Retrieves the chronological timeline of events (committee hearings, plenary debates, votes, and other milestones) linked to a specific EP legislative procedure, supporting precise legislative tracking and compliance monitoring.

  #### Parameters

  - args: unknown

    Raw tool arguments, validated against GetProcedureEventsSchema

  #### Returns Promise<ToolResult>

  MCP tool result containing the ordered list of events for the specified procedure

  #### Throws

  - If `args` fails schema validation (e.g., missing required `processId`)
  - If the European Parliament API is unreachable or returns an error response

  #### Example

      const result = await handleGetProcedureEvents({
        processId: '2023/0132(COD)',
        limit: 50,
        offset: 0
      });
      // Returns committee hearings, plenary debates, and votes for procedure 2023/0132(COD)

  #### Security

  - Input is validated with Zod before any API call.
  - Personal data in responses is minimised per GDPR Article 5(1)(c).
  - All requests are rate-limited and audit-logged per ISMS Policy AU-002.

  #### Since

  0.8.0

  #### See

  - getProcedureEventsToolMetadata for MCP schema registration
  - handleGetProcedures for retrieving the parent procedure record
  - Defined in tools/getProcedureEvents.ts:54