# Function handleGetParliamentaryQuestions

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

  Handles the get_parliamentary_questions MCP tool request.

  Retrieves European Parliament questions (written and oral) submitted by MEPs, with optional single-question lookup by docId or list filtering by type, author, topic, status, and date range.

  #### Parameters

  - args: unknown

    Raw tool arguments, validated against GetParliamentaryQuestionsSchema

  #### Returns Promise<ToolResult>

  MCP tool result containing either a single question record or a paginated list of parliamentary questions

  #### Throws

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

  #### Example

      // List answered written questions on climate policy
      const result = await handleGetParliamentaryQuestions({
        type: 'WRITTEN',
        status: 'ANSWERED',
        topic: 'climate policy',
        limit: 20
      });
      // Returns up to 20 answered written questions matching the topic

      // Single question lookup
      const single = await handleGetParliamentaryQuestions({ docId: 'E-000001/2024' });
      // Returns the full record for the specified question

  #### 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

  - getParliamentaryQuestionsToolMetadata for MCP schema registration
  - handleGetVotingRecords for retrieving plenary voting data
  - Defined in tools/getParliamentaryQuestions.ts:61