European Parliament MCP Server API - v1.4.23
    Preparing search index...

    Sub-client for committee/corporate-body EP API endpoints.

    Hierarchy (View Summary)

    Index
    baseURL: string

    European Parliament API base URL.

    cache: LRUCache<string, Record<string, unknown>>

    LRU cache for API responses.

    enableRetry: boolean

    Enable automatic retry on transient failures.

    maxResponseBytes: number

    Maximum allowed response body size in bytes.

    maxRetries: number

    Maximum number of retry attempts.

    rateLimiter: RateLimiter

    Token bucket rate limiter.

    timeoutMs: number

    Request timeout in milliseconds.

    • Parameters

      • summary: MembershipRoleSummary
      • roleCode: string

      Returns void

    • Parameters

      • apiData: Record<string, unknown>
      • committeeAbbreviation: string

      Returns string[]

    • Parameters

      • meps: unknown[]
      • organizationCandidates: string[]
      • OptionalabortSignal: AbortSignal

      Returns Promise<
          {
              memberIds: Set<string>;
              memberships: CommitteeMembership[];
              viceChairIds: Set<string>;
              chairId?: string;
          },
      >

    • Evicts a single cache entry matching the given endpoint and params. Sub-clients use this when they detect that a successfully-fetched payload is a content-pending sentinel that must not be served from cache for the remainder of the TTL — eviction lets availability recover as soon as the upstream document is enriched.

      Parameters

      • endpoint: string

        API endpoint path (same value passed to get)

      • Optionalparams: Record<string, unknown>

        Optional query parameters (same value passed to get)

      Returns void

    • Parameters

      • details: Record<string, unknown>
      • organizationCandidates: string[]

      Returns MembershipRoleSummary

    • Attempts a direct corporate-body lookup by ID.

      Parameters

      • bodyId: string
      • OptionalabortSignal: AbortSignal
      • includeMemberships: boolean = true

      Returns Promise<Committee | null>

    • Executes a cached, rate-limited GET request to the EP API.

      Type Parameters

      • T extends Record<string, unknown>

        Expected response type (extends Record<string, unknown>)

      Parameters

      • endpoint: string

        API endpoint path (relative to baseURL)

      • Optionalparams: Record<string, unknown>

        Optional query parameters

      • OptionalminimumTimeoutMs: number

        Optional per-request minimum timeout in milliseconds. When provided, the effective timeout is Math.max(minimumTimeoutMs, this.timeoutMs), so the global timeout (set via --timeout or EP_REQUEST_TIMEOUT_MS) can still extend it beyond the per-endpoint minimum. Use for known slow EP API endpoints such as procedures/feed.

      • OptionalabortSignal: AbortSignal

        Optional caller-provided cancellation signal. When already aborted on entry the request is rejected immediately before consuming a rate-limiter token (so a cancelled fan-out does not starve the bucket). When aborted mid-flight, the underlying fetch is cancelled and the rejection is surfaced as APIError(..., 0, { cause }).

      Returns Promise<T>

      Promise resolving to the typed API response

      On HTTP errors, network failures, parse failures, or cancellation (statusCode 0). Aborts are NOT retried.

    • Returns cache statistics for monitoring and debugging.

      Returns { hitRate: number; hits: number; maxSize: number; misses: number; size: number }

      { size, maxSize, hitRate, hits, misses }

    • Retrieves committee (corporate body) information by ID or abbreviation.

      EP API Endpoint: GET /corporate-bodies/{body-id} or GET /corporate-bodies

      Parameters

      • params: {
            abbreviation?: string;
            abortSignal?: AbortSignal;
            id?: string;
            includeMemberships?: boolean;
        }

        id or abbreviation of the committee, with optional abortSignal

      Returns Promise<Committee>

      Committee information

      Audit logged per GDPR Article 30

    • Retrieves recently updated corporate bodies via the feed endpoint. EP API Endpoint: GET /corporate-bodies/feed

      Fixed-window feed — no timeframe parameter per OpenAPI spec. Extended timeout applied (120 s minimum).

      Parameters

      • options: { abortSignal?: AbortSignal } = {}

      Returns Promise<JSONLDResponse<Record<string, unknown>>>

    • Returns a single EP Corporate Body by ID. EP API Endpoint: GET /corporate-bodies/{body-id}

      Parameters

      • bodyId: string
      • options: { abortSignal?: AbortSignal; includeMemberships?: boolean } = {}

      Returns Promise<Committee>

    • Parameters

      • mep: Record<string, unknown>
      • organizationCandidates: string[]
      • OptionalabortSignal: AbortSignal
      • inferMemberFromRoster: boolean = false

      Returns Promise<MEPMembershipSummary>

    • Parameters

      • summary: MembershipRoleSummary

      Returns boolean

    • Parameters

      • organizationCandidates: string[]
      • OptionalabortSignal: AbortSignal

      Returns Promise<CommitteeMembershipSummary>

    • Parameters

      • mepId: string
      • organizationCandidates: string[]
      • OptionalabortSignal: AbortSignal

      Returns Promise<MembershipRoleSummary>

    • Parameters

      • membership: Record<string, unknown>
      • organizationCandidates: string[]

      Returns boolean

    • Resolves a committee by trying direct lookup then list search.

      Parameters

      • searchTerm: string
      • OptionalabortSignal: AbortSignal
      • includeMemberships: boolean = true

      Returns Promise<Committee>

      If committee not found

    • Parameters

      • mepId: string
      • organizationCandidates: string[]
      • OptionalabortSignal: AbortSignal

      Returns Promise<MEPMembershipSummary>

    • Parameters

      • mepId: string
      • organizationCandidates: string[]
      • OptionalabortSignal: AbortSignal

      Returns Promise<MEPMembershipSummary>

    • Searches the corporate-bodies list for a matching committee.

      Parameters

      • searchTerm: string
      • OptionalabortSignal: AbortSignal
      • includeMemberships: boolean = true

      Returns Promise<Committee | null>