πŸ‡ͺπŸ‡Ί European Parliament MCP Server

AI-Powered European Parliament Data Access Platform

TypeScript/Node.js Model Context Protocol (MCP) server providing AI assistants with structured access to European Parliament open datasets. Achieve transparency in EU democratic processes through AI-augmented data analysis.

πŸ“‚ View on GitHub πŸ“¦ npm Package ✨ Features πŸ“š Documentation

🎯 Key Features

πŸ”Œ Full MCP Implementation

Complete implementation of the Model Context Protocol enabling seamless integration with Claude, ChatGPT, and other AI assistants. 9 specialized tools for comprehensive EU Parliament data access.

πŸ›οΈ EU Parliament Data Access

Direct access to MEP profiles, plenary sessions, voting records, committee information, and parliamentary questions via the official European Parliament Open Data API.

πŸ“˜ TypeScript & Zod Validation

Written in TypeScript with strict type safety and Zod schema validation for all API inputs and outputs. Rate limiting and security headers included out of the box.

πŸ›‘οΈ SLSA Level 3 Security

Supply chain security with SLSA Level 3 build provenance attestations, OpenSSF Scorecard validation, and comprehensive security scanning via GitHub Actions.

πŸ§ͺ High Test Coverage

268 unit tests and 23 E2E tests maintaining 80%+ code coverage. Automated CI/CD pipeline with security checks, dependency auditing, and quality gates.

πŸ”’ ISMS Compliance

Fully aligned with ISO 27001:2022, NIST CSF 2.0, CIS Controls v8.1, and GDPR. Complete ISMS documentation including threat models, security architecture, and CRA assessment.

πŸ”§ Available MCP Tools

πŸ‘€ get_meps

Retrieve Member of European Parliament (MEP) profiles with filtering by country, political group, and committee membership.

πŸ“… get_plenary_sessions

Access plenary session records, agendas, and proceedings with date-range filtering.

πŸ—³οΈ get_voting_records

Query detailed voting records including individual MEP votes, vote summaries, and legislative context.

πŸ” search_documents

Full-text search across parliamentary documents, reports, opinions, and legislative texts.

πŸ›οΈ get_committee_info

Access committee structures, membership, mandates, and recent activities.

❓ get_parliamentary_questions

Retrieve parliamentary questions with answers from MEPs and the European Commission.

πŸ“Š analyze_voting_patterns

Analyze voting patterns across political groups, countries, and legislative topics for deeper political intelligence.

πŸ“‹ track_legislation

Track legislative procedures from proposal through committee review to final vote.

πŸ“„ generate_report

Generate structured AI-ready reports on parliamentary activity, voting summaries, and MEP profiles.

πŸ“‘ Data Sources

πŸ‡ͺπŸ‡Ί MEPs & Representatives

Complete profiles of all Members of the European Parliament including political group, country, committees, and contact information sourced from the official EU Parliament Open Data API.

πŸ›οΈ Plenary Sessions

Full plenary session records including agendas, debate transcripts, and outcomes from the European Parliament's open data portal.

πŸ“ Committees & Documents

Committee membership, reports, and opinions alongside the full parliamentary document repository for research and analysis.

❓ Parliamentary Questions

Written and oral questions submitted by MEPs with official Commission and Council responses, enabling accountability tracking.

πŸ› οΈ Technology Stack

πŸ’» Runtime

TypeScript/Node.js β€” Type-safe implementation with full ES module support. Published to npm as european-parliament-mcp-server.

πŸ“¦ Protocol

Model Context Protocol (MCP) β€” Standard protocol for AI assistant integrations. Compatible with Claude, ChatGPT, and any MCP-compatible AI client.

πŸ”’ Security

SLSA Level 3 β€” Supply chain security with build provenance, reproducible builds, and security scanning. OpenSSF Scorecard validated. Rate limiting and Zod input validation.

πŸ›‘οΈ Security & Quality

European Parliament MCP Server demonstrates enterprise-grade security practices for AI integration middleware.

πŸš€ Getting Started

1️⃣ Install via npm

Install the package globally or as a project dependency. Requires Node.js 18+ and an MCP-compatible AI client.

πŸ“¦ View on npm

2️⃣ Configure AI Client

Add the MCP server to your AI client configuration (Claude Desktop, Continue, or any MCP-compatible client) to enable EU Parliament data queries.

πŸ“– Installation Guide

3️⃣ Query Parliament Data

Use natural language to query MEP profiles, voting records, plenary sessions, and more through your AI assistant. Fork and extend for custom workflows.

πŸ“‚ Repository

πŸ’Ό Use Cases

πŸ” Political Research

Academic and journalistic research on MEP voting patterns, political group alignment, and legislative activity using AI-powered analysis.

πŸ“Š Transparency & Accountability

Track MEP performance, attendance, and voting consistency to hold representatives accountable to their constituents and campaign promises.

🏒 Policy Analysis

Monitor legislative developments, committee activity, and policy trends relevant to specific industries or interest areas.

πŸŽ“ Education

Teaching tool for European politics courses, demonstrating how open government data can be democratized through AI integration.

🎯 Ready to Explore EU Parliament Data?

Integrate AI-powered access to European Parliament open datasets into your research, journalism, or policy analysis workflow.

πŸ“‚ View on GitHub πŸ“¦ npm Package πŸ“š Documentation ← Back to Projects