European Parliament MCP Server v1.3.10
·
124 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Highlights
🚀 New MCP Tools
- detect_voting_anomalies: iterate plenary weeks across [from, to] for multi-week DOCEO baseline @copilot-swe-agent[bot] (#490)
- Out-of-band warmup scheduler for lifecycle-statistics cache @copilot-swe-agent[bot] (#489)
- Propagate AbortSignal through BaseEPClient.get() and typed EP client wrappers @copilot-swe-agent[bot] (#487)
🏛️ European Parliament Features
- Propagate AbortSignal through BaseEPClient.get() and typed EP client wrappers @copilot-swe-agent[bot] (#487)
🏗️ Infrastructure & Performance
- chore(deps): bump step-security/harden-runner from 2.19.3 to 2.19.4 @dependabot[bot] (#493)
- Add per-tool golden-snapshot fixtures for the 15 OSINT tools @copilot-swe-agent[bot] (#491)
- Add Stryker mutation testing, per-file OSINT coverage gates, and dedicated osint-qa CI workflow @copilot-swe-agent[bot] (#492)
- Out-of-band warmup scheduler for lifecycle-statistics cache @copilot-swe-agent[bot] (#489)
- chore(deps-dev): bump the development-dependencies group with 3 updates @dependabot[bot] (#481)
🔄 Code Quality & Refactoring
- Add per-tool golden-snapshot fixtures for the 15 OSINT tools @copilot-swe-agent[bot] (#491)
- detect_voting_anomalies: iterate plenary weeks across [from, to] for multi-week DOCEO baseline @copilot-swe-agent[bot] (#490)
- Out-of-band warmup scheduler for lifecycle-statistics cache @copilot-swe-agent[bot] (#489)
- Propagate AbortSignal through BaseEPClient.get() and typed EP client wrappers @copilot-swe-agent[bot] (#487)
🔒 Security & Compliance
- chore(deps): bump step-security/harden-runner from 2.19.3 to 2.19.4 @dependabot[bot] (#493)
📝 Documentation
- Add per-tool golden-snapshot fixtures for the 15 OSINT tools @copilot-swe-agent[bot] (#491)
- Add Stryker mutation testing, per-file OSINT coverage gates, and dedicated osint-qa CI workflow @copilot-swe-agent[bot] (#492)
- detect_voting_anomalies: iterate plenary weeks across [from, to] for multi-week DOCEO baseline @copilot-swe-agent[bot] (#490)
- Out-of-band warmup scheduler for lifecycle-statistics cache @copilot-swe-agent[bot] (#489)
- Propagate AbortSignal through BaseEPClient.get() and typed EP client wrappers @copilot-swe-agent[bot] (#487)
📦 Dependencies
- chore(deps): bump step-security/harden-runner from 2.19.3 to 2.19.4 @dependabot[bot] (#493)
- Add per-tool golden-snapshot fixtures for the 15 OSINT tools @copilot-swe-agent[bot] (#491)
- Add Stryker mutation testing, per-file OSINT coverage gates, and dedicated osint-qa CI workflow @copilot-swe-agent[bot] (#492)
- Out-of-band warmup scheduler for lifecycle-statistics cache @copilot-swe-agent[bot] (#489)
- chore(deps-dev): bump the development-dependencies group with 3 updates @dependabot[bot] (#481)
🧪 Test Coverage Improvements
- Add per-tool golden-snapshot fixtures for the 15 OSINT tools @copilot-swe-agent[bot] (#491)
- detect_voting_anomalies: iterate plenary weeks across [from, to] for multi-week DOCEO baseline @copilot-swe-agent[bot] (#490)
- Out-of-band warmup scheduler for lifecycle-statistics cache @copilot-swe-agent[bot] (#489)
- Propagate AbortSignal through BaseEPClient.get() and typed EP client wrappers @copilot-swe-agent[bot] (#487)
⚙️ Component Updates
- detect_voting_anomalies: iterate plenary weeks across [from, to] for multi-week DOCEO baseline @copilot-swe-agent[bot] (#490)
- Out-of-band warmup scheduler for lifecycle-statistics cache @copilot-swe-agent[bot] (#489)
- Propagate AbortSignal through BaseEPClient.get() and typed EP client wrappers @copilot-swe-agent[bot] (#487)
🏛️ European Parliament MCP Server Enhancements
Changes in this release continue to enhance the European Parliament MCP Server's capabilities for providing AI assistants with structured access to parliamentary datasets, including:
- Model Context Protocol (MCP) tools, resources, and prompts
- European Parliament API integration and data access
- Security-first architecture with GDPR compliance
- High-performance caching and rate limiting
- Comprehensive TypeScript typing and runtime validation
📊 Quality Metrics & Documentation
🔐 Security & Compliance
🛡️ Hack23 ISMS Compliance
This release maintains compliance with Hack23 AB's Information Security Management System (ISMS):
- ✅ ISO 27001:2022 - Information security management
- ✅ NIST CSF 2.0 - Cybersecurity framework
- ✅ CIS Controls v8.1 - Security best practices
- ✅ GDPR - EU data protection compliance
- ✅ SLSA Level 3 - Supply chain security with build provenance
💻 Technology Stack
- 🔌 Model Context Protocol - MCP SDK for AI integration
- ⚡ Node.js 25.x - Latest JavaScript runtime
- 🔷 TypeScript 6.0.2 - Strict typing with latest standards
- 🏛️ European Parliament API - Official open data access
- 🔒 Zod - Runtime schema validation
- 🌐 Undici - Fast HTTP/1.1 client
- 💾 LRU Cache - Efficient caching for API responses
- 🧪 Vitest - Fast unit testing with 80%+ coverage
🏛️ European Parliament Data Access
- 👥 MEPs - Current and historical member information
- 📊 Plenary - Sessions, votes, and attendance records
- 🏛️ Committees - Meetings, documents, and membership
- 📄 Documents - Legislative texts, reports, amendments
- ❓ Questions - Parliamentary questions and answers
🔍 Build Attestations & Verification
All artifacts in this release include cryptographic attestations proving build integrity. For npm packages, use npm's provenance tooling; for GitHub artifacts, use GitHub attestations:
# Primary: verify npm package provenance using npm signatures
npm audit signatures european-parliament-mcp-server@1.3.10
# Optional: inspect attached attestations in the npm registry
npm view european-parliament-mcp-server@1.3.10 dist.attestations
# Verify GitHub artifact attestations for this repository
gh attestation verify european-parliament-mcp-server@1.3.10 --owner Hack23 --repo European-Parliament-MCP-Server
# View all GitHub attestations
gh api /repos/Hack23/European-Parliament-MCP-Server/attestationsSLSA Level 3 Benefits:
- 🔐 Cryptographic proof of build integrity
- 🛡️ Protection against supply chain attacks
- 📋 Full build provenance transparency
- ✅ Independent verification capability
See ATTESTATIONS.md for complete verification guide.
🙏 Contributors
Thanks to @Copilot, @dependabot[bot], @pethers, copilot-swe-agent[bot] and dependabot[bot] for their contributions to this release!
📚 Additional Resources
- Documentation Portal: https://hack23.github.io/European-Parliament-MCP-Server/
- API Documentation: https://hack23.github.io/European-Parliament-MCP-Server/api/
- Test Coverage: https://hack23.github.io/European-Parliament-MCP-Server/coverage/
- SBOM: https://hack23.github.io/European-Parliament-MCP-Server/SBOM.md
- Security Policy: https://github.com/Hack23/European-Parliament-MCP-Server/blob/main/SECURITY.md
- Hack23 ISMS: https://github.com/Hack23/ISMS-PUBLIC
Full Changelog: v1.3.9...1.3.10