Platform Overview
The European Parliament MCP Server is an open-source TypeScript/Node.js implementation of the Model Context Protocol (MCP) designed to give AI assistants structured, programmatic access to European Parliament open datasets. It connects to the official European Parliament Open Data API (data.europarl.europa.eu) and exposes 9 purpose-built tools covering the full breadth of parliamentary activity.
The server achieves SLSA Level 3 supply chain security, maintains 80%+ test coverage with 268 unit tests and 23 E2E tests, and is fully compliant with ISO 27001:2022, NIST CSF 2.0, CIS Controls v8.1, and GDPR. Install via npm and start querying EU Parliament data through your AI assistant.
Key Features
๐ Full MCP Protocol Implementation
Complete Model Context Protocol implementation with 9 specialized tools, resource definitions, and tool schemas compatible with all MCP-enabled AI clients.
๐ช๐บ EU Parliament Data Access
Direct integration with the official European Parliament Open Data API for MEPs, sessions, voting, committees, documents, and questions.
๐ TypeScript Type Safety
Fully typed TypeScript codebase with strict mode enabled. All API contracts validated with Zod schemas for runtime type safety.
๐ก๏ธ SLSA Level 3 Security
Build provenance attestations, OpenSSF Scorecard validation, dependency security auditing, and automated vulnerability scanning.
๐งช High Test Coverage
268 unit tests and 23 E2E integration tests maintaining 80%+ code coverage with automated CI quality gates.
๐ Security Controls
Rate limiting, security headers, Zod input validation, audit logging, and dependency pinning for enterprise-grade security posture.
๐ฆ npm Distribution
Published to npm as european-parliament-mcp-server for simple installation and integration into existing AI workflows.
๐ ISMS Documentation
Complete ISMS documentation including threat model, security architecture, BCP, CRA assessment, and financial security plan.
๐ง Extensible Architecture
Modular TypeScript architecture enabling easy addition of new EU Parliament data endpoints and custom tool implementations.
MCP Tools
The server implements 9 specialized MCP tools providing comprehensive access to European Parliament data:
๐ค get_meps
Retrieve Member of European Parliament (MEP) profiles with optional filtering by country, political group, and committee. Returns full contact information, group affiliations, and committee memberships.
๐ get_plenary_sessions
Access plenary session records and agendas. Filter by date range to retrieve historical and upcoming session information including agenda items and outcomes.
๐ณ๏ธ get_voting_records
Query detailed voting records for any legislative vote. Retrieve individual MEP votes, vote totals by political group, and legislative context for accountability research.
๐ search_documents
Full-text search across the European Parliament document repository including reports, opinions, resolutions, and legislative texts. Filter by type, date, and committee origin.
๐๏ธ get_committee_info
Access detailed committee information including full membership lists, mandate descriptions, rapporteur assignments, and recent committee activities and opinions.
โ get_parliamentary_questions
Retrieve written and oral parliamentary questions submitted by MEPs along with official responses from the European Commission and Council of the EU.
๐ analyze_voting_patterns
Analyze voting patterns across political groups, countries, and legislative topics. Identify cohesion rates, cross-group alliances, and MEP voting consistency over time.
๐ track_legislation
Track legislative procedures from initial proposal through committee review, amendments, readings, and final vote. Monitor progress of specific dossiers and identify key decision points.
๐ generate_report
Generate structured AI-ready reports on parliamentary activity, MEP profiles, voting summaries, and political group analyses formatted for consumption by AI assistants and humans alike.
Security Features
The European Parliament MCP Server implements enterprise-grade security controls aligned with ISMS best practices:
๐ฆ Rate Limiting
- Configurable request rate limits per client
- Sliding window rate limiting algorithm
- Graceful throttling with informative error messages
- Protection against API quota exhaustion
โ Zod Validation
- Schema validation for all MCP tool inputs
- Type-safe API response parsing
- Strict mode TypeScript throughout
- Runtime type coercion and sanitization
๐ Security Headers
- Content Security Policy (CSP)
- HSTS for transport security
- X-Frame-Options and X-Content-Type-Options
- Dependency pinning and supply chain integrity
๐ Audit Logging
- Structured JSON audit logs for all tool invocations
- Request/response logging for debugging
- Error tracking and alerting
- GDPR-compliant data handling in logs
ISMS Compliance
The European Parliament MCP Server is fully aligned with the Hack23 ISMS framework and international security standards:
๐ ISO 27001:2022
Information Security Management System compliance with documented security controls, risk assessments, and continuous improvement processes.
๐บ๐ธ NIST CSF 2.0
Cybersecurity Framework alignment across all six functions: Govern, Identify, Protect, Detect, Respond, and Recover.
๐ CIS Controls v8.1
Implementation of prioritized CIS security controls for hardened configuration and continuous monitoring.
๐ช๐บ GDPR
General Data Protection Regulation compliance for processing publicly available European Parliament data with privacy-by-design principles.
Data Model Overview
The server provides structured access to the following European Parliament data domains:
MEP Data
Comprehensive MEP information enabling political analysis and accountability research:
- Profile: Name, nationality, date of birth, political biography
- Affiliation: Political group, national party, constituency
- Committees: Full and substitute member positions
- Contact: Official EU Parliament contact information
Plenary & Voting Data
Complete plenary session and voting record data for transparency and accountability:
- Sessions: Agenda, dates, location (Strasbourg/Brussels)
- Votes: Individual MEP votes, for/against/abstain tallies
- Context: Legislative dossier, committee recommendation, debate references
Documents & Questions
Access to the full parliamentary document repository and question archive:
- Documents: Reports, opinions, resolutions, amendments
- Questions: Written questions, oral questions, priority questions
- Responses: Official Commission and Council responses