Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
Model Context Protocol server for European Parliament open data <p align="center"> <img src="https://hack23.com/icon-192.png" alt="Hack23 Logo" width="128" height="128"> </p> <h1 align="center">๐๏ธ European Parliament MCP Server</h1> <p align="center"> <strong>Model Context Protocol Server for European Parliament Open Data</strong><br> <em>Providing AI assistants with structured access to parliamentary datasets and OSINT Intelligence Capabilities</em> </p> <table> <tr> <td width= Capability contract not published. No trust telemetry is available yet. 3 GitHub stars reported by the source. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
european-parliament-mcp-server is best for mcp, model-context-protocol, european-parliament workflows where MCP compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB MCP, runtime-metrics, public facts pack
Model Context Protocol server for European Parliament open data <p align="center"> <img src="https://hack23.com/icon-192.png" alt="Hack23 Logo" width="128" height="128"> </p> <h1 align="center">๐๏ธ European Parliament MCP Server</h1> <p align="center"> <strong>Model Context Protocol Server for European Parliament Open Data</strong><br> <em>Providing AI assistants with structured access to parliamentary datasets and OSINT Intelligence Capabilities</em> </p> <table> <tr> <td width=
Public facts
5
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. 3 GitHub stars reported by the source. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 25, 2026
Vendor
Hack23
Artifacts
0
Benchmarks
0
Last release
0.7.2
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. 3 GitHub stars reported by the source. Last updated 2/25/2026.
Setup snapshot
git clone https://github.com/Hack23/European-Parliament-MCP-Server.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Hack23
Protocol compatibility
MCP
Adoption signal
3 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
# Install the package globally npm install -g european-parliament-mcp-server # Or install as a dependency in your project npm install european-parliament-mcp-server
bash
# Clone the repository git clone https://github.com/Hack23/European-Parliament-MCP-Server.git cd European-Parliament-MCP-Server # Install dependencies npm install # Build the project npm run build # Run tests npm test
json
{
"mcpServers": {
"european-parliament": {
"command": "npx",
"args": ["european-parliament-mcp-server"],
"env": {
"EP_API_KEY": "your-api-key-if-needed"
}
}
}
}json
{
"mcpServers": {
"european-parliament": {
"command": "node",
"args": ["/path/to/European-Parliament-MCP-Server/dist/index.js"],
"env": {
"EP_API_KEY": "your-api-key-if-needed"
}
}
}
}json
{
"servers": {
"european-parliament": {
"type": "stdio",
"command": "node",
"args": ["./dist/index.js"]
}
}
}bash
npm run docs # HTML API docs โ docs/api/ npm run docs:md # Markdown API docs โ docs/api-markdown/ npm run docs:build # Full documentation build (HTML + MD + coverage + test reports)
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
Model Context Protocol server for European Parliament open data <p align="center"> <img src="https://hack23.com/icon-192.png" alt="Hack23 Logo" width="128" height="128"> </p> <h1 align="center">๐๏ธ European Parliament MCP Server</h1> <p align="center"> <strong>Model Context Protocol Server for European Parliament Open Data</strong><br> <em>Providing AI assistants with structured access to parliamentary datasets and OSINT Intelligence Capabilities</em> </p> <table> <tr> <td width=
The European Parliament MCP Server implements the Model Context Protocol (MCP) to provide AI assistants, IDEs, and other MCP clients with structured access to European Parliament open datasets. Access information about MEPs, plenary sessions, committees, legislative documents, and parliamentary questions through a secure, type-safe TypeScript/Node.js implementation.
This MCP server is part of Hack23's mission to disrupt journalism with AI-generated news coverage and real-time analysis of democratic governments โ increasing transparency and accountability through open-source intelligence.
Hack23 builds open-source intelligence platforms that enable citizens, journalists, and researchers to monitor democratic institutions in real-time. By combining MCP servers, AI analysis, and open parliamentary data, we create automated intelligence products that were previously only available to well-funded lobbying organizations.
"Democratizing access to political intelligence โ what used to require a team of analysts can now be done by any citizen with an AI assistant."
# Install the package globally
npm install -g european-parliament-mcp-server
# Or install as a dependency in your project
npm install european-parliament-mcp-server
# Clone the repository
git clone https://github.com/Hack23/European-Parliament-MCP-Server.git
cd European-Parliament-MCP-Server
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test
Add to your claude_desktop_config.json:
{
"mcpServers": {
"european-parliament": {
"command": "npx",
"args": ["european-parliament-mcp-server"],
"env": {
"EP_API_KEY": "your-api-key-if-needed"
}
}
}
}
Add to your claude_desktop_config.json:
{
"mcpServers": {
"european-parliament": {
"command": "node",
"args": ["/path/to/European-Parliament-MCP-Server/dist/index.js"],
"env": {
"EP_API_KEY": "your-api-key-if-needed"
}
}
}
}
Configure in .vscode/mcp.json:
{
"servers": {
"european-parliament": {
"type": "stdio",
"command": "node",
"args": ["./dist/index.js"]
}
}
}
๐ Complete Documentation Site - Live documentation portal with:
๐ก Note: Documentation is automatically generated and committed with each release via
npm run docs:build
The API documentation is generated using TypeDoc with the following plugins:
| Plugin | Purpose | |--------|---------| | typedoc | Core HTML documentation generator | | typedoc-plugin-markdown | Generates SEO-friendly Markdown alongside HTML | | typedoc-plugin-mdn-links | Links TypeScript built-in types to MDN documentation | | typedoc-plugin-zod | Renders Zod schema definitions as readable type documentation |
Generate documentation locally:
npm run docs # HTML API docs โ docs/api/
npm run docs:md # Markdown API docs โ docs/api-markdown/
npm run docs:build # Full documentation build (HTML + MD + coverage + test reports)
| Tool | Description | Key Parameters | EP API Endpoint |
|------|-------------|----------------|-----------------|
| get_meps | List MEPs with filters | country, group, committee, limit | GET /meps |
| get_mep_details | Detailed MEP information | id (required) | GET /meps/{id} |
| get_plenary_sessions | List plenary sessions/meetings, or single by eventId | dateFrom, dateTo, eventId, limit | GET /meetings, GET /meetings/{id} |
| get_voting_records | Retrieve voting records | mepId, sessionId, topic, dateFrom | GET /meetings/{id}/vote-results |
| search_documents | Search documents or get single by docId | keyword, docId, documentType, dateFrom | GET /documents, GET /documents/{id} |
| get_committee_info | Committee/corporate body info, or all current bodies | id, abbreviation, showCurrent | GET /corporate-bodies, GET /corporate-bodies/show-current |
| get_parliamentary_questions | Parliamentary Q&A, or single by docId | type, author, topic, docId | GET /parliamentary-questions, GET /parliamentary-questions/{id} |
| Tool | Description | Key Parameters | Output |
|------|-------------|----------------|--------|
| analyze_voting_patterns | Analyze MEP voting behavior | mepId (required), dateFrom, compareWithGroup | Analysis object |
| track_legislation | Track legislative procedure | procedureId (required) | Procedure object |
| generate_report | Generate analytical reports | reportType (required), subjectId, dateFrom | Report object |
| Tool | Description | Key Parameters | Output |
|------|-------------|----------------|--------|
| assess_mep_influence | MEP influence scoring (5-dimension model) | mepId (required), dateFrom, dateTo | Influence scorecard |
| analyze_coalition_dynamics | Coalition cohesion & stress analysis | politicalGroups, dateFrom, dateTo | Coalition metrics |
| detect_voting_anomalies | Party defection & anomaly detection | mepId, politicalGroup, dateFrom | Anomaly report |
| compare_political_groups | Cross-group comparative analysis | groups (required), metrics, dateFrom | Comparison matrix |
| analyze_legislative_effectiveness | MEP/committee legislative scoring | subjectId (required), subjectType, dateFrom | Effectiveness score |
| monitor_legislative_pipeline | Pipeline status & bottleneck detection | committeeId, status, dateFrom | Pipeline status |
| analyze_committee_activity | Committee workload & engagement analysis | committeeId (required), dateFrom, dateTo | Activity report |
| track_mep_attendance | MEP attendance patterns & trends | mepId, country, groupId, dateFrom, dateTo, limit | Attendance report |
| analyze_country_delegation | Country delegation voting & composition | country (required), dateFrom, dateTo | Delegation analysis |
| generate_political_landscape | Parliament-wide political landscape | dateFrom, dateTo | Landscape overview |
| Tool | Description | Key Parameters | EP API Endpoint |
|------|-------------|----------------|-----------------|
| get_current_meps | All currently active MEPs | limit, offset | GET /meps/show-current |
| get_incoming_meps | Incoming MEPs for current term | limit, offset | GET /meps/show-incoming |
| get_outgoing_meps | Outgoing MEPs for current term | limit, offset | GET /meps/show-outgoing |
| get_homonym_meps | Homonym MEPs for current term | limit, offset | GET /meps/show-homonyms |
| get_speeches | Plenary speeches, or single by speechId | speechId, year, limit | GET /speeches, GET /speeches/{id} |
| get_procedures | Legislative procedures, or single by processId | processId, year, limit | GET /procedures, GET /procedures/{id} |
| get_events | EP events, or single by eventId | eventId, year, limit | GET /events, GET /events/{id} |
| get_meeting_activities | Activities linked to a meeting | sittingId (required), limit | GET /meetings/{id}/activities |
| get_meeting_decisions | Decisions in a meeting | sittingId (required), limit | GET /meetings/{id}/decisions |
| get_meeting_foreseen_activities | Foreseen activities for a meeting | sittingId (required), limit | GET /meetings/{id}/foreseen-activities |
| Tool | Description | Key Parameters | EP API Endpoint |
|------|-------------|----------------|-----------------|
| get_adopted_texts | Adopted texts, or single by docId | docId, year, limit | GET /adopted-texts, GET /adopted-texts/{id} |
| get_mep_declarations | MEP declarations, or single by docId | docId, year, limit | GET /meps-declarations, GET /meps-declarations/{id} |
| get_plenary_documents | Plenary documents, or single by docId | docId, year, limit | GET /plenary-documents, GET /plenary-documents/{id} |
| get_committee_documents | Committee documents, or single by docId | docId, year, limit | GET /committee-documents, GET /committee-documents/{id} |
| get_plenary_session_documents | Plenary session documents, or single by docId | docId, year, limit | GET /plenary-session-documents, GET /plenary-session-documents/{id} |
| get_plenary_session_document_items | Plenary session document items | limit, offset | GET /plenary-session-documents-items |
| get_external_documents | External documents, or single by docId | docId, limit | GET /external-documents, GET /external-documents/{id} |
| get_controlled_vocabularies | Controlled vocabularies, or single by vocId | vocId, limit | GET /controlled-vocabularies, GET /controlled-vocabularies/{id} |
| get_procedure_events | Events linked to a procedure | processId (required), limit | GET /procedures/{id}/events |
๐ Complete TypeDoc API documentation โ ยท Markdown API docs โ
Research a specific MEP:
1. Find MEP: get_meps โ {country: "SE"}
2. Get details: get_mep_details โ {id: "MEP-123"}
3. Analyze voting: analyze_voting_patterns โ {mepId: "MEP-123"}
4. Generate report: generate_report โ {reportType: "MEP_ACTIVITY", subjectId: "MEP-123"}
Track legislation:
1. Search documents: search_documents โ {keywords: "climate change"}
2. Track procedure: track_legislation โ {procedureId: "2024/0001(COD)"}
3. Get voting records: get_voting_records โ {topic: "climate"}
Committee analysis:
1. Get committee: get_committee_info โ {abbreviation: "ENVI"}
2. List members: get_meps โ {committee: "ENVI"}
3. Generate report: generate_report โ {reportType: "COMMITTEE_PERFORMANCE", subjectId: "COMM-ENVI"}
OSINT Intelligence analysis:
1. Score MEP influence: assess_mep_influence โ {mepId: "MEP-123"}
2. Detect anomalies: detect_voting_anomalies โ {mepId: "MEP-123"}
3. Analyze coalitions: analyze_coalition_dynamics โ {politicalGroups: ["EPP", "S&D"]}
4. Compare groups: compare_political_groups โ {groups: ["EPP", "S&D", "Renew"]}
5. Pipeline status: monitor_legislative_pipeline โ {committeeId: "ENVI"}
6. Country delegation: analyze_country_delegation โ {country: "SE"}
7. Political landscape: generate_political_landscape โ {}
๐ฏ More use cases and examples โ
Pre-built intelligence analysis prompt templates:
| Prompt | Description | Arguments |
|--------|-------------|-----------|
| mep_briefing | Comprehensive MEP intelligence briefing | mepId (required), period? |
| coalition_analysis | Coalition dynamics and voting bloc analysis | policyArea?, period? |
| legislative_tracking | Legislative procedure tracking report | procedureId?, committee? |
| political_group_comparison | Multi-dimensional group comparison | groups? |
| committee_activity_report | Committee workload and engagement | committeeId (required) |
| voting_pattern_analysis | Voting pattern trend detection | topic?, mepId? |
Direct data access via EP resource URIs:
| Resource URI | Description |
|-------------|-------------|
| ep://meps | List of all current MEPs |
| ep://meps/{mepId} | Individual MEP profile |
| ep://committees/{committeeId} | Committee information |
| ep://plenary-sessions | Recent plenary sessions |
| ep://votes/{sessionId} | Voting records for a session |
| ep://political-groups | Political group listing |
The European Parliament MCP Server is part of a growing ecosystem of political and government open data MCP servers enabling AI-powered OSINT analysis of democratic institutions worldwide. Below is the most comprehensive directory of political and government MCP servers available.
| Country | Server | Data Source | Coverage | |---------|--------|-------------|----------| | ๐ช๐บ European Union | European Parliament MCP Server | data.europarl.europa.eu | MEPs, votes, legislation, committees, questions โ 20 OSINT tools | | ๐บ๐ธ United States | Congress.gov API MCP Server | congress.gov | Bills, members, votes, committees (TypeScript, v3 API) | | ๐บ๐ธ United States | CongressMCP | congress.gov | Real-time Congress data โ bills, votes, members | | ๐บ๐ธ United States | Congress.gov MCP | congress.gov | Unofficial Congress.gov API access | | ๐ฌ๐ง United Kingdom | Parliament MCP | parliament.uk | Hansard, members, debates, divisions | | ๐ธ๐ช Sweden | Riksdag & Regering MCP | riksdagen.se | Swedish Parliament & Government data (used by riksdagsmonitor.com) | | ๐ณ๐ฑ Netherlands | OpenTK MCP | tweedekamer.nl | Dutch Parliament (Tweede Kamer) documents | | ๐ต๐ฑ Poland | Parliament of Poland MCP | sejm.gov.pl | Members, votes, committees | | ๐ต๐ฑ Poland | Sejm MCP | api.sejm.gov.pl | Parliament data + legislation | | ๐ฎ๐ฑ Israel | Knesset MCP Server | knesset.gov.il | Knesset parliament API | | ๐ง๐ท Brazil | Senado BR MCP | senado.leg.br | Federal Senate โ members, proposals, votes |
| Country | Server | Data Source | Coverage | |---------|--------|-------------|----------| | ๐บ๐ธ United States | USA Spending MCP | usaspending.gov | Federal spending data | | ๐บ๐ธ United States | Open Census MCP | census.gov | Demographics & statistics (natural language) | | ๐บ๐ธ United States | Data.gov MCP Server | data.gov | Federal dataset catalog | | ๐บ๐ธ United States | CMS Data.gov MCP | data.cms.gov | Healthcare data โ search/filter/pagination | | ๐บ๐ธ United States | SEC EDGAR MCP | sec.gov | SEC filings โ annual reports, insider data | | ๐บ๐ธ United States | NPS MCP | nps.gov | National Park Service API | | ๐ธ๐ช Sweden | SCB MCP Server | scb.se | Official Swedish statistics | | ๐ธ๐ช Sweden | Skolverket MCP | skolverket.se | Swedish National Agency for Education | | ๐ซ๐ท France | data.gouv.fr MCP | data.gouv.fr | National open data platform | | ๐ซ๐ท France | Data Gouv MCP Server | data.gouv.fr | Companies & organizations search | | ๐ฌ๐ง United Kingdom | Planning Data MCP | planning.data.gov.uk | Planning & land use data | | ๐ฌ๐ง United Kingdom | Property Prices MCP | landregistry.data.gov.uk | Housing price search | | ๐ณ๐ฑ Netherlands | CBS Open Data MCP | cbs.nl | Dutch statistics bureau | | ๐ฎ๐ฑ Israel | Data.gov.il MCP | data.gov.il | National CKAN data portal | | ๐ฎ๐ฑ Israel | DataGov Israel MCP | data.gov.il | Alternative implementation + visualization | | ๐ฎ๐ฑ Israel | Israel Statistics MCP | cbs.gov.il | CPI & economic time series | | ๐ฎ๐ฑ Israel | BudgetKey MCP | open-budget.org.il | State budget, contracts, grants | | ๐น๐ท Turkey | Mevzuat MCP | mevzuat.gov.tr | Legislation system โ search/retrieve laws | | ๐ญ๐ฐ Hong Kong | HK Data.gov.hk MCP | data.gov.hk | Hong Kong open data portal | | ๐ฒ๐พ Malaysia | Data.gov.my MCP | data.gov.my | National data portal | | ๐ฎ๐ณ India | Data.gov.in MCP | data.gov.in | Semantic search + dataset access | | ๐ธ๐ฌ Singapore | Gahmen MCP Server | data.gov.sg | Government datasets + CKAN search | | ๐ธ๐ฌ Singapore | Singapore Data MCPs | data.gov.sg | Multiple servers (parking, health, datasets) | | ๐ฆ๐บ Australia | ABS MCP Server | abs.gov.au | Bureau of Statistics (SDMX-ML) |
| Scope | Server | Platform | Coverage | |-------|--------|----------|----------| | ๐ Global (CKAN) | CKAN MCP Server | CKAN portals | Generic server for any CKAN-based open data portal | | ๐ Global (Socrata) | OpenGov MCP Server | Socrata portals | City/county/state/federal Socrata-powered portals |
| Capability | ๐ช๐บ EU Parliament MCP | ๐บ๐ธ Congress.gov MCP | ๐ฌ๐ง UK Parliament MCP | ๐ธ๐ช Riksdag MCP | |------------|----------------------|---------------------|----------------------|-----------------| | Member profiling | โ 5-dimension influence model | โ Basic profiles | โ Basic profiles | โ Basic profiles | | Voting analysis | โ Anomaly detection + patterns | โ Roll call votes | โ Division records | โ Vote records | | Coalition dynamics | โ Cohesion & stress analysis | โ | โ | โ | | Committee intelligence | โ Workload & engagement metrics | โ Committee data | โ Committee data | โ | | Legislative pipeline | โ Bottleneck detection + forecasting | โ Bill tracking | โ Bill tracking | โ Bill tracking | | Country delegation analysis | โ National cohesion metrics | N/A | N/A | N/A | | Political landscape | โ Parliament-wide situational awareness | โ | โ | โ | | Attendance tracking | โ Trend detection + engagement scoring | โ | โ | โ | | GDPR compliance | โ Privacy-first design | N/A | N/A | โ | | MCP prompts & resources | โ 6 prompts + 6 resources | โ | โ | โ | | OSINT tool count | 39 tools | ~5 tools | ~5 tools | ~4 tools |
๐ก The European Parliament MCP Server offers the most comprehensive OSINT intelligence capabilities of any political MCP server, with 39 specialized tools including advanced analytics like coalition stress analysis, voting anomaly detection, and political landscape generation. It is the only political MCP server with built-in MCP prompts, resources, and a 5-dimension MEP influence scoring model.
All European Parliament Open Data API v2 endpoint categories are fully covered:
| Category | Endpoints | MCP Tools |
|----------|-----------|-----------|
| MEPs | /meps, /meps/{id}, /meps/show-current, /meps/show-incoming, /meps/show-outgoing, /meps/show-homonyms | get_meps, get_mep_details, get_current_meps, get_incoming_meps, get_outgoing_meps, get_homonym_meps |
| MEP Documents | /meps-declarations, /meps-declarations/{id} | get_mep_declarations |
| Corporate Bodies | /corporate-bodies, /corporate-bodies/{id}, /corporate-bodies/show-current | get_committee_info |
| Events | /events, /events/{id} | get_events |
| Meetings | /meetings, /meetings/{id}, /meetings/{id}/activities, /meetings/{id}/decisions, /meetings/{id}/foreseen-activities, /meetings/{id}/vote-results | get_plenary_sessions, get_meeting_activities, get_meeting_decisions, get_meeting_foreseen_activities, get_voting_records |
| Speeches | /speeches, /speeches/{id} | get_speeches |
| Procedures | /procedures, /procedures/{id}, /procedures/{id}/events | get_procedures, get_procedure_events |
| Documents | /documents, /documents/{id}, /adopted-texts, /adopted-texts/{id}, /committee-documents, /committee-documents/{id}, /plenary-documents, /plenary-documents/{id}, /plenary-session-documents, /plenary-session-documents/{id}, /plenary-session-documents-items | search_documents, get_adopted_texts, get_committee_documents, get_plenary_documents, get_plenary_session_documents, get_plenary_session_document_items |
| Questions | /parliamentary-questions, /parliamentary-questions/{id} | get_parliamentary_questions |
| External Documents | /external-documents, /external-documents/{id} | get_external_documents |
| Vocabularies | /controlled-vocabularies, /controlled-vocabularies/{id} | get_controlled_vocabularies |
This project aligns with Hack23 AB's Information Security Management System (ISMS):
This project achieves SLSA Level 3 compliance:
gh attestation verify <artifact> --owner Hack23 --repo European-Parliament-MCP-ServerSee ATTESTATIONS.md for verification instructions and security benefits.
# Install dependencies
npm install
# Run in development mode with auto-reload
npm run dev
# Type checking
npm run type-check
# Linting
npm run lint
# Format code
npm run format
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
European-Parliament-MCP-Server/
โโโ src/ # Source code
โ โโโ server.ts # MCP server entry point
โ โโโ tools/ # MCP tool implementations
โ โโโ resources/ # MCP resource handlers
โ โโโ prompts/ # MCP prompt templates
โ โโโ clients/ # European Parliament API client
โ โโโ schemas/ # Zod validation schemas
โ โโโ types/ # TypeScript type definitions
โ โโโ utils/ # Utility functions
โโโ tests/ # Test files
โโโ .github/ # GitHub configuration
โ โโโ agents/ # Custom Copilot agents
โ โโโ skills/ # Reusable skill patterns
โ โโโ workflows/ # CI/CD workflows
โโโ docs/ # Additional documentation
# Unit tests
npm test
# Integration tests (requires EP_INTEGRATION_TESTS=true)
EP_INTEGRATION_TESTS=true npm run test:integration
# Integration tests with fixture capture
EP_INTEGRATION_TESTS=true EP_SAVE_FIXTURES=true npm run test:integration
# E2E tests
npm run test:e2e
# Coverage report
npm run test:coverage
# Watch mode
npm run test:watch
Integration Testing: When EP_INTEGRATION_TESTS=true, all 39 MCP tools are tested against the real European Parliament API endpoints. All tools return real data โ no mock or placeholder data is used. Live API tests are disabled by default to respect rate limits (100 req/15min). See INTEGRATION_TESTING.md for the complete guide.
# Lint code
npm run lint
# Fix linting issues
npm run lint:fix
# Check for unused dependencies
npm run knip
# Security audit
npm audit
# License compliance
npm run test:licenses
We welcome contributions! Please see CONTRIBUTING.md for details on:
This repository includes custom agents and skills for GitHub Copilot:
We follow Semantic Versioning and use automated release management:
Version Types:
Automated Release Workflow:
Release Notes Include:
For detailed workflow documentation, see .github/WORKFLOWS.md.
This project is licensed under the Apache License 2.0 - see LICENSE.md for details.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/mcp-hack23-european-parliament-mcp-server/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-hack23-european-parliament-mcp-server/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-hack23-european-parliament-mcp-server/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-hack23-european-parliament-mcp-server/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-hack23-european-parliament-mcp-server/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-hack23-european-parliament-mcp-server/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-hack23-european-parliament-mcp-server/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-hack23-european-parliament-mcp-server/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-hack23-european-parliament-mcp-server/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T02:55:53.294Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "model-context-protocol",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "european-parliament",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "open-data",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "api",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "typescript",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|unknown|profile capability:mcp|supported|profile capability:model-context-protocol|supported|profile capability:european-parliament|supported|profile capability:open-data|supported|profile capability:api|supported|profile capability:typescript|supported|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Hack23",
"href": "https://github.com/Hack23/European-Parliament-MCP-Server#readme",
"sourceUrl": "https://github.com/Hack23/European-Parliament-MCP-Server#readme",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T02:58:13.601Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-hack23-european-parliament-mcp-server/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-hack23-european-parliament-mcp-server/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T02:58:13.601Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "3 GitHub stars",
"href": "https://github.com/Hack23/European-Parliament-MCP-Server",
"sourceUrl": "https://github.com/Hack23/European-Parliament-MCP-Server",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T02:58:13.601Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-hack23-european-parliament-mcp-server/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-hack23-european-parliament-mcp-server/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub ยท GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to european-parliament-mcp-server and adjacent AI workflows.