servers / european-parliament-mcp-server
European-Parliament-MCP-Server
communitystdiolocalverifiedhealthy
European Parliament MCP Server - Political intelligence for AI agents
01Tools · 63
How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.
| Tool | Risk | Side effects | Approval |
|---|---|---|---|
| get_mep_details Retrieve the complete EP API v2 profile for a Member of European Parliament, including biographical data, mandates, organizations, committee classifications, and leadership roles. Personal data access is logged for GDPR compliance. | read | false | unknown |
| get_meps Retrieve Members of European Parliament with optional filters (country, political group, committee, active status). Returns paginated results with MEP details including name, country, political group, committees, and contact information. | read | false | unknown |
| get_plenary_sessions Retrieve European Parliament plenary sessions/meetings. Supports single meeting lookup by eventId or list with year, date, and location filters. Returns session details including date, location, agenda items, voting records, and attendance statistics. | read | false | unknown |
| get_voting_records Retrieve voting records from European Parliament plenary sessions. Filter by session, topic, or date range. Returns aggregate vote counts (for/against/abstain) and final result. The EP API only provides aggregate vote tallies, not individual MEP positions. NOTE: The EP publishes roll-call voting data with a delay of several weeks, so queries for the most recent 1-2 months may return empty results — this is expected EP API behavior, not an error. | read | false | unknown |
| search_documents Search European Parliament legislative documents by keyword, or retrieve a single document by docId. Filter by document type (REPORT, RESOLUTION, DECISION, DIRECTIVE, REGULATION, OPINION), date range, and committee. Returns document metadata including title, authors, status, and PDF/XML links. | read | false | unknown |
| analyze_voting_patterns Analyze MEP voting behavior including voting alignment with political group, cross-party voting patterns, attendance rates, and topic-based voting analysis. Returns comprehensive voting statistics and patterns over a specified time period. | read | false | unknown |
| get_committee_info Retrieve detailed information about EP corporate bodies/committees. Query by ID, abbreviation, or set showCurrent=true for all current active bodies. Returns committee metadata plus roster leadership and membership derived from MEP membership relations when available, along with meeting schedules and areas of responsibility. | read | false | unknown |
| track_legislation Track European Parliament legislative procedure progress including current status, timeline of stages, committee assignments, amendments, voting records, and next steps. Provides comprehensive overview of legislation journey from proposal to adoption. | read | false | unknown |
| get_parliamentary_questions Retrieve European Parliament questions (written and oral) submitted by MEPs, or a single question by docId. Filter by question type, author, topic, status (pending/answered), and date range. Returns question text, answers if available, and metadata. | read | false | unknown |
| get_server_health Check server health and feed availability status. Returns server version, uptime, per-feed health status (ok/error/unknown), overall availability level (Full/Degraded/Sparse/Unavailable/Unknown), and a `lifecycleCache` block ({state: WARM|STALE|COLD, ageMs, corpusSize, lastRefreshErrorAt}) reporting the state of the corpus-wide lifecycle-statistics cache that feeds `monitor_legislative_pipeline`. Per-feed `lastProbedAt` and `lastAttempt` staleness timestamps are included only once a feed has been probed (absent for never-probed feeds). `Unknown` is reported when no feeds have been probed yet (cache empty) and must NOT be interpreted as an outage — consumers should attempt at least one feed probe before treating the server as down. Does not make upstream API calls — reports cached status from recent tool invocations. Use this to check which feeds are healthy before making data requests and to adapt data collection strategy. | read | false | unknown |
| generate_report Generate comprehensive analytical reports on European Parliament data. Supports MEP activity reports, committee performance reports, voting statistics, and legislation progress reports. Returns structured report with summary, sections, statistics, and recommendations. | read | false | unknown |
| assess_mep_influence Compute MEP influence score using a 5-dimension weighted model: Voting Activity (25%), Legislative Output (25%), Committee Engagement (20%), Parliamentary Oversight (15%), Coalition Building (15%). Returns overall score, rank, dimension breakdowns, and computed attributes including participation rate, loyalty score, diversity index, and leadership indicator. | read | false | unknown |
| analyze_legislative_effectiveness Analyze legislative effectiveness of an MEP or committee using real EP Open Data Portal sources. Computes reports authored, opinions delivered, amendments tabled/adopted, questions asked, and legislativeSuccessRate by fanning out /procedures, /adopted-texts, /plenary-session-documents-items, and /parliamentary-questions under independent 6s timeouts. For subjectType=COMMITTEE, aggregates per-MEP across the committee membership. | unknown | unknown | unknown |
| analyze_country_delegation Analyze a country's MEP delegation in the European Parliament — political group distribution, voting behavior, committee presence, and national cohesion. Reveals national interest patterns that cut across party lines. | unknown | unknown | unknown |
| analyze_coalition_dynamics Analyze political group coalition dynamics including cohesion rates, cross-party alliances, defection rates, and stress indicators. Computes parliamentary fragmentation index, effective number of parties, grand coalition viability, and opposition strength. Uses CIA Coalition Analysis methodology. | unknown | unknown | unknown |
| detect_voting_anomalies Detect unusual voting patterns including party defections, abstention spikes, week-over-week alignment shifts, and cross-party movement signals. Uses DOCEO RCV roll-call records and per-MEP rolling baselines (defection z ≥1.5, abstention z ≥1.5, WoW Δ ≥20pp, cross-party share ≥60%). Returns anomalies with evidenceVoteIds, severity classification (HIGH/MEDIUM/LOW), group stability score, defection trend, and risk level. | read | false | unknown |
| compare_political_groups Compare political groups across multiple dimensions: voting discipline, activity level, legislative output, attendance, and cohesion. Returns rankings, computed performance scores, seat share, effectiveness per member, parliamentary balance index, and competitive index. | read | false | unknown |
| monitor_legislative_pipeline Monitor legislative pipeline status with lifecycle-driven bottleneck detection and timeline forecasting. Tracks procedures through their authoritative event sequence (REFERRAL → COM_VOTE → EP_ADOPTION → SIGNATURE / REJECTION). Returns pipeline health score, throughput rate, bottleneck index (procedures with dwell ≥ 95th percentile of historical distribution), stalled procedure rate, legislative momentum, per-procedure lifecycleEvents, and a forecastBasis discriminator (HISTORICAL_MEDIAN | INSUFFICIENT_DATA | NOT_APPLICABLE — the last when every visible procedure is already completed). | read | false | unknown |
| analyze_committee_activity Analyze European Parliament committee workload, meeting frequency, document production, decisions adopted, legislative output, and member engagement. Fans out four EP sources in parallel with per-source timeouts and reports data availability per source. | unknown | unknown | unknown |
| network_analysis MEP relationship network mapping using committee co-membership and DOCEO roll-call vote similarity. Computes weighted-degree + Brandes betweenness centrality, deterministic label-propagation clusters with Newman modularity Q, and identifies cross-cluster brokers. Supports depth-bounded ego networks when mepId is supplied. | unknown | unknown | unknown |
| track_mep_attendance Track and analyze MEP attendance patterns across plenary sessions. Provides attendance rates, trends, and engagement categorization. Filter by individual MEP, country, or political group. | unknown | unknown | unknown |
| generate_political_landscape Generate a comprehensive political landscape overview of the European Parliament — group sizes, seat shares, coalition dynamics, bloc analysis, and power balance. Single-call situational awareness for strategic intelligence. | unknown | unknown | unknown |
| sentiment_tracker Track political group sentiment over a configurable time window. Combines current EP API MEP composition with DOCEO roll-call vote (RCV) cohesion / defection data aggregated across last_month (~30d), last_quarter (~90d) or last_year (~365d). Returns per-group sentiment scores (-1 to +1), IMPROVING/STABLE/DECLINING/VOLATILE trends derived from half-window and sub-window DOCEO cohesion deltas, polarization index (1 − seat-share-weighted mean cohesion), and consensus/divisive vote subjects. Falls back to seat-share proxy with confidenceLevel=LOW when DOCEO coverage is insufficient. | read | false | unknown |
| early_warning_system Detect emerging political shifts, coalition fracture signals, and unusual patterns. Generates warnings with severity levels (CRITICAL/HIGH/MEDIUM/LOW), computes stability score (0-100), trend indicators, and overall risk level. Configurable sensitivity and focus area. | unknown | unknown | unknown |
| comparative_intelligence Cross-reference 2-10 MEP activities across voting, committee, legislative, and attendance dimensions. Returns ranked profiles, correlation matrix, outlier detection, and cluster analysis for comprehensive comparative intelligence. | read | false | unknown |
| get_procedures Get European Parliament legislative procedures. Supports single procedure lookup by processId or paginated list. Note: The EP API /procedures endpoint does not support year filtering. Data source: European Parliament Open Data Portal. | read | false | unknown |
| correlate_intelligence Cross-tool OSINT intelligence correlation engine. Combines outputs from assess_mep_influence + detect_voting_anomalies (ELEVATED_ATTENTION alerts), early_warning_system + analyze_coalition_dynamics (COALITION_FRACTURE alerts), and optionally network_analysis + comparative_intelligence (COMPREHENSIVE_PROFILE alerts). Returns consolidated intelligence alerts with evidence chains and recommendations. | read | false | unknown |
| get_current_meps Get currently active Members of European Parliament (today's date). Returns only MEPs with active mandates. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_events Get European Parliament events including hearings, conferences, seminars, and institutional events. Supports single event lookup by eventId or paginated list. Note: The EP API /events endpoint has no date filtering — only pagination (limit/offset) is supported. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_speeches Get European Parliament plenary speeches and debate contributions. Supports single speech lookup by speechId or list with date range filtering (dateFrom/dateTo mapped to EP API sitting-date/sitting-date-end). Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_adopted_texts Get European Parliament adopted texts including legislative resolutions, positions, and non-legislative resolutions. Supports single document lookup by docId or list with year filter. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_meeting_activities Get activities linked to a specific EP plenary sitting (debates, votes, presentations). Requires a sitting ID. Note: this endpoint can be slower than decisions; use a smaller limit for faster responses. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_meeting_decisions Get decisions made in a specific EP plenary sitting. Returns adopted decisions and voting outcomes. Requires a sitting ID. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_homonym_meps Get homonym Members of European Parliament (MEPs with identical names) for the current parliamentary term. Useful for name disambiguation. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_mep_declarations Get MEP declarations of financial interests filed under the Rules of Procedure. Supports single declaration lookup by docId or list with year filter. Data source: European Parliament Open Data Portal. GDPR: Access is audit-logged. | read | false | unknown |
| get_plenary_documents Get European Parliament plenary documents. Supports single document lookup by docId or list with year filter. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_controlled_vocabularies Get European Parliament controlled vocabularies (standardized classification terms). Supports single vocabulary lookup by vocId. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_incoming_meps Get incoming Members of European Parliament for the current parliamentary term. Returns MEPs who are newly joining. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_outgoing_meps Get outgoing Members of European Parliament for the current parliamentary term. Returns MEPs who are leaving parliament. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_plenary_session_documents Get European Parliament plenary session documents (agendas, minutes, voting lists). Supports single document lookup by docId. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_meeting_foreseen_activities Get foreseen (planned) activities for a specific EP meeting/plenary sitting. Returns scheduled agenda items. Note: this endpoint can be slower than decisions; use a smaller limit for faster responses. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_committee_documents Get European Parliament committee documents. Supports single document lookup by docId or paginated list. Note: The EP API /committee-documents endpoint does not support year filtering. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_plenary_session_document_items Get European Parliament plenary session document items. Returns individual items within plenary session documents. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_external_documents Get external documents (non-EP documents such as Council positions, Commission proposals) from the European Parliament data portal. Supports single document lookup by docId or paginated list. Note: The EP API /external-documents endpoint does not support year filtering. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_procedure_events Get events linked to a specific EP legislative procedure (hearings, debates, votes). Returns the timeline of events for a procedure. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_meeting_plenary_session_documents Get plenary session documents for a specific EP meeting/plenary sitting. Returns session documents associated with the meeting. Note: this endpoint can be slower than decisions; use a smaller limit for faster responses. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_meeting_plenary_session_document_items Get plenary session document items for a specific EP meeting/plenary sitting. Returns individual agenda item documents for the meeting. Note: this endpoint can be slower than decisions; use a smaller limit for faster responses. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_all_generated_stats Retrieve precomputed European Parliament activity statistics (2004-2026) with monthly breakdowns, category rankings, percentile scores, statistical analysis, political landscape history (group composition, fragmentation index, coalition dynamics), analytical commentary, and trend-based predictions for 2027-2031. Data covers parliamentary terms EP6-EP10 including plenary sessions, legislative acts, roll-call votes, committee meetings, parliamentary questions, resolutions, speeches, adopted texts, procedures, events, documents, MEP turnover, and declarations. Static data refreshed weekly by agentic workflow; optional near-real-time DOCEO XML enrichment is bounded by a short timeout and omitted when unavailable. | read | false | unknown |
| get_meps_feed Get recently updated MEPs from the European Parliament feed. Returns MEPs published or updated during the specified timeframe. Data source: European Parliament Open Data Portal. NOTE: when the upstream returns more than 200 items (a known failure mode where delta-pagination falls back to a full-census dump) the response surfaces an OVERSIZED_PAYLOAD entry in dataQualityWarnings so consumers can detect the regression mechanically. | read | false | unknown |
| get_events_feed Get recently updated European Parliament events from the feed. Returns events published or updated during the specified timeframe. Data source: European Parliament Open Data Portal. NOTE: The EP API events/feed endpoint is significantly slower than other feeds, so this tool uses the global EP request timeout (default 60 seconds) and normalizes timeout/rate-limit/upstream failures into the feed envelope. For faster fallback browsing, use get_events with limit/offset. | read | false | unknown |
| get_procedures_feed Get recently updated European Parliament procedures from the feed. Returns procedures published or updated during the specified timeframe. Data source: European Parliament Open Data Portal. NOTE: The EP API procedures/feed endpoint is significantly slower than other feeds — "one-month" queries may take around 120 seconds and can still time out. If you see timeouts, increase the global timeout with --timeout or EP_REQUEST_TIMEOUT_MS. When no procedures were updated in the requested timeframe (common during parliamentary recess or low-activity periods), the response will have status:"unavailable" and empty items — this is expected behaviour, not an error. In that case, use get_procedures (with limit/offset) to browse a paginated list of procedures as a reliable fallback. ORDERING: Results are normalized before delivery — current-year procedures are promoted first, then items are sorted by dateLastActivity descending; ties preserve the original upstream order. This compensates for a known upstream pattern where the EP API returns historical-tail ordering instead of newest-first. The response also surfaces a STALENESS_WARNING entry in dataQualityWarnings whenever the upstream returns historical-tail ordering with no current-year items (a known degraded-upstream pattern), so consumers can detect the regression programmatically. | read | false | unknown |
| get_adopted_texts_feed Get recently updated European Parliament adopted texts from the feed. Returns adopted texts published or updated during the specified timeframe. Data source: European Parliament Open Data Portal. NOTE: When the EP /adopted-texts/feed endpoint returns no items from the current calendar year (a known degraded-upstream pattern), the response is automatically augmented with /adopted-texts?year={currentYear} so callers can still discover recent documents — a FRESHNESS_FALLBACK warning is surfaced in dataQualityWarnings whenever this happens. | read | false | unknown |
| get_mep_declarations_feed Get recently updated MEP declarations from the feed. Returns declarations published or updated during the specified timeframe. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_documents_feed Get recently updated documents from the EP Open Data Portal feed. This is a fixed-window feed — the upstream EP API always returns items updated within a server-defined default window (typically one month). For contract uniformity with sliding-window feed tools, the common feed parameters (timeframe, startDate, limit, offset) are accepted but informational-only — they are silently ignored. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_external_documents_feed Get recently updated external documents (non-EP documents) from the feed. Returns external documents published or updated during the specified timeframe. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_procedure_event_by_id Get a specific event linked to a legislative procedure. Returns a single event for the specified procedure and event identifiers. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_plenary_documents_feed Get recently updated plenary documents from the EP Open Data Portal feed. This is a fixed-window feed — the upstream EP API always returns items updated within a server-defined default window (typically one month). For contract uniformity with sliding-window feed tools, the common feed parameters (timeframe, startDate, limit, offset) are accepted but informational-only — they are silently ignored. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_committee_documents_feed Get recently updated committee documents from the EP Open Data Portal feed. This is a fixed-window feed — the upstream EP API always returns items updated within a server-defined default window (typically one month). For contract uniformity with sliding-window feed tools, the common feed parameters (timeframe, startDate, limit, offset) are accepted but informational-only — they are silently ignored. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_plenary_session_documents_feed Get recently updated plenary session documents from the EP Open Data Portal feed. This is a fixed-window feed — the upstream EP API always returns items updated within a server-defined default window (typically one month). For contract uniformity with sliding-window feed tools, the common feed parameters (timeframe, startDate, limit, offset) are accepted but informational-only — they are silently ignored. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_parliamentary_questions_feed Get recently updated parliamentary questions from the EP Open Data Portal feed. This is a fixed-window feed — the upstream EP API always returns items updated within a server-defined default window (typically one month). For contract uniformity with sliding-window feed tools, the common feed parameters (timeframe, startDate, limit, offset) are accepted but informational-only — they are silently ignored. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_corporate_bodies_feed Get recently updated corporate bodies from the EP Open Data Portal feed. This is a fixed-window feed — the upstream EP API always returns items updated within a server-defined default window (typically one month). For contract uniformity with sliding-window feed tools, the common feed parameters (timeframe, startDate, limit, offset) are accepted but informational-only — they are silently ignored. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_controlled_vocabularies_feed Get recently updated controlled vocabularies from the EP Open Data Portal feed. This is a fixed-window feed — the upstream EP API always returns items updated within a server-defined default window (typically one month). For contract uniformity with sliding-window feed tools, the common feed parameters (timeframe, startDate, limit, offset) are accepted but informational-only — they are silently ignored. Data source: European Parliament Open Data Portal. | read | false | unknown |
| get_latest_votes Retrieve the latest plenary votes from EP DOCEO XML documents. Provides near-real-time access to roll-call votes (individual MEP positions by political group) and vote results (aggregate tallies). This data source is fresher than the EP Open Data API which has a multi-week publication delay. Use for up-to-date political intelligence on voting patterns, coalition analysis, and group cohesion tracking. | read | false | unknown |
02Install & source
npx -y european-parliament-mcp-server
npx- repohttps://github.com/Hack23/European-Parliament-MCP-Server
- homepagehttps://hack23.com/european-parliament-mcp-docs.html
- licenseApache-2.0
- adoption19 stars · 7 forks
05Provenance & freshness
sourcesGitHub repo search [p4]
last_checked2026-07-16 13:10Z
next_check2026-07-17 06:17Z
cadenceevery 17h
verifiedtools_list:passed handshake:passed metadata:passed metadata:passed
index_statusindex — 8 unique facts >= 5
06Badge
Add the “as seen on MCPExplorer” badge to your README.
[](https://mcpexplorer.com/servers/european-parliament-mcp-server)
Next step
This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.
Explore loadouts →