🏛️ European Parliament MCP Server
Model Context Protocol Server for European Parliament Open Data
🇪🇺 EU parliamentary intelligence for AI agents · 🕵️ 15 OSINT analytics tools · 🏛️ Full EP API v2 coverage · 🛡️ ISMS-aligned · 🔒 GDPR-by-design · 📦 SLSA Level 3
The canonical TypeScript MCP bridge between the European Parliament Open Data Portal and any MCP-aware AI client — Claude Desktop, VS Code, Cursor, GitHub Copilot. Powers the EU Parliament Monitor AI newsroom and is a sister project to Riksdagsmonitor in the Hack23 political-intelligence portfolio.
Model Context Protocol Server for European Parliament Open Data — providing AI assistants with structured access to MEPs, plenary sessions, committees, legislative documents, and parliamentary questions through a secure, type-safe TypeScript implementation.
MEP influence scoring (5-dimension model), Coalition cohesion & stress analysis, Party defection & anomaly detection, Cross-group comparative analysis, MEP/committee legislative scoring, Pipeline status & bottleneck detection, Committee workload & engagement analysis, MEP attendance patterns & trends, Country delegation voting & composition, Parliament-wide political landscape
📂 Repository • ✨ Features • 📚 Documentation • 📦 npm
  
📊 质量指标和文件
📋 概述
这 欧洲议会MCP服务器 实现 模型上下文协议(MCP) 为人工智能助理、IDE和其他MCP客户提供对欧洲议会开放数据集的结构化访问。通过安全、类型安全的TypeScript/Node.js实现访问有关欧洲议会议员、全体会议、委员会、立法文件和议会问题的信息。
🎯 主要特点
- 🔌 完整的MCP实施:63个工具(9个核心+3个高级+15个OSINT+8个阶段4+15个阶段5+13个提要)、9个资源和7个提示
- 🏛️ 完整的EP API v2覆盖范围:涵盖所有欧洲议会开放数据API端点
- 🕵️ OSINT情报:MEP影响评分、联盟分析、异常检测
- 🔒 安全第一:符合ISMS标准,GDPR就绪,SLSA 3级来源
- 🚀 高性能:<200ms API响应,智能缓存,速率限制
- 📊 类型安全:TypeScript严格模式+Zod运行时验证
- 🧪 测试良好:80%以上的代码覆盖率,1130+个单元测试,71个E2E测试用例
- 📚 完整文档:体系结构、TypeDoc API(HTML+Markdown)、安全指南
______________________________________________________________________
🌍 Hack23政治情报生态系统
此MCP服务器是 欧盟数据骨干网 的 黑客23的使命 利用人工智能生成的政治情报和实时问责分析扰乱议会新闻 --通过应用于公共立法数据的结构化开源情报(OSINT)技术提高民主透明度。
🎯 愿景:人工智能驱动的民主透明度
Hack23 AB版本 开源情报平台 这使每个公民、记者、研究人员和政策制定者都掌握了严格的、基于证据的政治分析。通过结合MCP服务器、代理人工智能新闻编辑室和开放的议会数据,我们生产出自动化的情报产品——联盟分析、投票模式解码、欧洲议会议员/议员影响力评分、立法管道预测——这些产品以前需要资金充足的游说组织或内部政策部门来生成。
*“将政治情报的获取民主化——过去需要一个分析师团队的事情现在可以由任何拥有人工智能助理的公民来完成。”*
投资组合是 无党派、完全开源(Apache-2.0),在 Hack23 ISMS 完全符合ISO 27001:2022/NIST CSF 2.0/CIS Controls v8.1标准,GDPR的设计和架构设计使其不能被用作党派影响的武器:平等对待所有政治团体,仅使用公共数据,没有用户帐户,没有广告,没有跟踪。
🧭 生态系统概览
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#6366F1","primaryTextColor":"#fff","primaryBorderColor":"#4F46E5","lineColor":"#94A3B8","secondaryColor":"#003399","tertiaryColor":"#00338D","background":"#0F172A"}}}%%
graph LR
subgraph SOURCES["📡 Primary Open-Data Sources"]
EP["🇪🇺 European Parliament
Open Data Portal v2
data.europarl.europa.eu"]
RD["🇸🇪 Riksdagen Open Data
data.riksdagen.se"]
REG["🇸🇪 Regeringskansliet
regeringen.se"]
IMF["💰 IMF / World Bank
economic context"]
end
subgraph MCP["🔌 MCP Servers"]
EPMCP["European-Parliament-
MCP-Server
63 tools · 9 resources
7 prompts · TS strict
(this repository)"]
RRMCP["riksdag-regering MCP
32+ tools"]
end
subgraph PRODUCTS["📰 AI-Driven Public Platforms"]
EUPM["🏛️ EU Parliament Monitor
euparliamentmonitor.com
8 unified gh-aw workflows
51-artifact analysis
14 languages"]
RM["🗳️ Riksdagsmonitor
riksdagsmonitor.com
11 agentic workflows
91 skills · 14 languages
Tidö coalition tracker"]
CIA["🕵️ Citizen Intelligence
Agency (CIA)
Java/Spring backend
15 subsystems · 1971–2024
3.5M votes · 109K docs"]
end
subgraph CITIZENS["👥 Citizens · Journalists · Researchers · NGOs"]
AUDIENCE["AI assistants · Dashboards · 14-language news · Intelligence briefings"]
end
EP --> EPMCP
RD --> RRMCP
REG --> RRMCP
EPMCP --> EUPM
RRMCP --> RM
RM |"15 CIA subsystems
nightly sync"| CIA
IMF -.->|"economic context"| EUPM
IMF -.->|"economic context"| RM
EUPM --> AUDIENCE
RM --> AUDIENCE
CIA --> AUDIENCE
EPMCP -.->|"AI assistants
Claude · Cursor · VS Code"| AUDIENCE
style EPMCP fill:#6366F1,stroke:#4F46E5,color:#fff,stroke-width:3px
style EP fill:#003399,stroke:#FFCC00,color:#fff
style RD fill:#00338D,stroke:#FECC00,color:#fff
style REG fill:#00338D,stroke:#FECC00,color:#fff
style EUPM fill:#003399,stroke:#FFCC00,color:#fff
style RM fill:#00338D,stroke:#FECC00,color:#fff
style CIA fill:#1B5E20,stroke:#43A047,color:#fff
style AUDIENCE fill:#7B1FA2,stroke:#9C27B0,color:#fff此MCP服务器的角色: 欧洲议会开放数据门户和任何支持MCP的AI客户端(Claude Desktop、VS Code、Cursor、GitHub Copilot)之间的规范、类型安全的TypeScript桥梁,以及为其提供动力的上游数据层 欧盟议会监督 新闻编辑室。每个工具都经过Zod验证、审计记录、GDPR意识和SLSA 3级认证。
🗂️ 投资组合比较矩阵
Project Scope Audience Links
🇪🇺 European-Parliament-MCP-Server
(this repo)
EU Parliament data layer for AI agents
62 MCP tools · 9 resources · 7 prompts · OSINT analytics
Source: data.europarl.europa.eu
Developers · AI assistants · Journalists · Researchers
📦 npm
💻 GitHub
🏛️ EU Parliament Monitor
Daily AI-generated EP intelligence in 14 languages
8 unified gh-aw workflows · 51-artifact analysis pipeline
Source: this MCP server (60+ tools) + IMF + World Bank
Citizens · Journalists · NGOs across all 27 EU member states
🌐 euparliamentmonitor.com
🧠 Intelligence Hub
📚 API Reference
💻 GitHub
🗳️ Riksdagsmonitor
Daily AI-generated Swedish parliamentary intelligence
11 agentic workflows · 91 skills · 50+ years of evidence (1971–2024) · Tidö coalition fragility tracker
Source: riksdag-regering MCP (32+ tools) + SCB + IMF + World Bank + CIA exports
Swedish citizens · Nordic journalists · Election researchers
🌐 riksdagsmonitor.com
🧠 Intelligence
📰 AI Newsroom
📊 Dashboard
💻 GitHub
🕵️ Citizen Intelligence Agency (CIA)
15-subsystem Java/Spring political-analytics backend
349 current MPs · 2,494 historical politicians · 3.5M+ votes · 109k+ documents · 45-rule risk engine
Source: data.riksdagen.se direct + Valmyndigheten + ESV
Hack23 platform consumers (Riksdagsmonitor) · OSINT analysts
🌐 hack23.github.io/cia
💻 GitHub
🇪🇺 欧盟议会监督-- euparliamentmonitor.com
欧洲议会政治情报平台 — *🧠 政治情报·🔍 彻底透明·🗳️ 民主问责制·🤖 人工智能生成14种语言的新闻*
EU Parliament Monitor turns the EP's own open data into auditable political intelligence — and publishes it as readable news in 14 languages, every day, fully sourced. An AI-driven newsroom that monitors plenary sessions, committee work, motions, propositions, urgency files and the forward calendar; produces Economist-style analytical articles backed by 51 structured analysis artifacts per run; and exposes every methodology, template and analysis tree publicly so any reader, journalist or NGO can verify the analysis behind the prose.
Powered by this repository — consumes the European-Parliament-MCP-Server (60+ EP data tools) plus IMF + World Bank for economic context, with built-in fallback to the EP Open Data Portal /api/v2/decision endpoint when MCP returns empty voting payloads.
📰 9 unified gh-aw (GitHub Agentic Workflows) pipelines — 8 article types (breaking, week-ahead, month-ahead, week-in-review, month-in-review, committee-reports, motions, propositions) running Stages A → E in a single 45-minute session, plus news-translate for 14-language flush translation
📚 17 published methodologies + 52 analysis templates + 19 tradecraft references — ICD-203 Key Judgments · Admiralty source grades · WEP probability bands · ACH · 5-framework political-threat model · 6-dimension threat landscape · electoral domain methodology (361-seat threshold) · IMF/World Bank indicator mappings
🌍 14 languages — EN · SV · DA · NO · FI · DE · FR · ES · NL · AR (RTL) · HE (RTL) · JA · KO · ZH — every page rendered with WCAG 2.1 AA accessibility, JSON-LD NewsArticle.isBasedOn provenance linking back to source artifacts, and hreflang alternates on every page
🛡️ Deterministic aggregator — agents author analysis Markdown only; TypeScript renders HTML deterministically (no AI-authored HTML, no template-prose leakage, fully reproducible)
📦 npm package euparliamentmonitor — published with npm provenance and SLSA Level 3 build attestations
🌐 Live News Site · 🧠 Political Intelligence Hub · 🗺️ Site Map (14 languages) · 📔 TypeDoc API · 📓 Coverage · 🎭 E2E Report · 📂 Repository · ✨ Features · 📚 Documentation
             
🗳️ 国会监察员- riksdagsmonitor.com
瑞典政治情报平台 — *🕵️ 政治情报·🔍 民主透明·🤖 人工智能生成新闻·📊 50多年的证据*
Riksdagsmonitor monitors Sweden's Riksdag (Parliament), the Government (Regeringskansliet) and public agencies (Myndigheter) with structured intelligence techniques — ACH, SWOT, PESTLE, STRIDE, political-risk scoring and OSINT/INTOP tradecraft — applied to 349 current MPs, 2,494 historical politicians (1971–2024), 3.5M+ votes and 109,000+ parliamentary documents.
An autonomous AI newsroom — 11 agentic workflows, Claude Opus, zero human editors — turns this evidence into publication-ready intelligence articles in 14 languages, every day. Front-loads the live Tidö Agreement coalition status (176/349 seats, fragility indicators, CIA risk alerts) and dives into 40 years of election-cycle intelligence (1994–2034), party performance (1990–2026, 8 parties), 15 committee networks, seasonal Z-score anomaly detection, ministry risk and a 45-rule × 349-MP live risk heat map.
📰 11 agentic workflows — committee reports · propositions · motions · interpellations · week-ahead · month-ahead · real-time monitor · evening analysis · weekly review · monthly review · translate (Mon–Fri + weekend cycles, all on UTC schedules)
🧠 91 skills across 12 categories + 24 Copilot agents (14 personas + 9 workflow specialists + shared developer instructions) — full catalog at SKILLS.md / AGENTS.md
📚 11 published methodologies + 23 templates (8 core T1–T8 + 15 extended/Tier-C) — AI-Driven Analysis Guide · OSINT Tradecraft Standards · Political Risk · Political SWOT · Political Threat Framework · Electoral Domain · Synthesis · Strategic Extensions (scenario / wildcard / long-horizon) · Style Guide
📊 5 flagship Chart.js / D3.js dashboards + CIA Intelligence Dashboard — Seasonal Activity (2002–2025 · Z-score anomaly) · 349-MP Politician Dashboard · Pre-Election Monitor · Party Performance (1990–2026) · Anomaly & Early Warning
🌍 14 languages — EN · SV · DA · NO · FI · DE · FR · ES · NL · AR (RTL) · HE (RTL) · JA · KO · ZH — daily refresh at 03:00 CET, WCAG 2.1 AA, CSP-hardened with Subresource Integrity (SRI) on all bundled assets
📦 npm package riksdagsmonitor — Theme System · Chart Factory · Resilient Data Loader · 12 dashboard modules · CIA intelligence modules — published with SLSA build provenance
🛡️ OpenSSF Best Practices Project #12069 · Risk level 🟢 LOW (5.52 / 10.0 — 99.7 % risk reduction) · ISO 27001:2022 · NIST CSF 2.0 · CIS Controls v8.1 · GDPR Art. 9(2)(e/g) for political opinions
🌐 Live Platform · 🕵️ Political Intelligence · 📰 AI Newsroom · 📊 Intelligence Dashboard · 🗺️ Sitemap · 📂 Repository · ✨ Features · 📚 Documentation
             
🕵️ 公民情报局(CIA)
政治透明度平台 --Riksdagsmonitor历史证据层背后的Java/Spring数据骨干
The Citizen Intelligence Agency is the Java/Spring Boot political-analytics backend that supplies 15 CIA subsystems (anomaly · coalition · committee · distribution · election · election-cycle · ministry · parties · party · percentile · politician · pre-election · risk · seasonal · voting) consumed nightly by Riksdagsmonitor. It is the primary historical-evidence layer for Swedish political activity with 50+ years of voting records (1971–2024), 2,494 historical politicians, 349 current MPs, 3.5M+ votes, 109,000+ documents, 8,740 committee documents, and a 45-rule transparency engine tracking 2,308 identified rule violations across 8 Riksdag-represented parties.
📂 Repository · 🌐 GitHub Pages · 📊 JSON Export Specs · ✨ Features · 📚 Documentation
         
🌍 在整个投资组合中共享
| 尺寸 | 覆盖范围 |
|---|---|
| 🌐 语言 | 14-英语·瑞典语·丹麦语·挪威语·芬兰语·德语·法语·西班牙语·荷兰语·阿拉伯语(RTL)·希伯来语(RTL)、日语·韩语·中文 |
| ♿ 无障碍 | WCAG 2.1 AA·键盘可导航·屏幕阅读器优化·4.5:1对比度·响应320 px→ 1440 px+ |
| 🔒 合规 | ISO 27001:2022·NIST CSF 2.0·CIS控制v8.1·GDPR·NIS2·欧盟CRA |
| 🛡️ 供应链 | SHA钉住GitHub操作· step-security/harden-runner ·Dependabot·CodeQL·秘密扫描·SLSA 3级·SPDX SBOM |
| 📜 许可证 | 整个产品组合中的Apache许可证2.0 |
| 🏢 操作员 | Hack23 AB (组织编号559534-7807)--瑞典网络安全与开源情报咨询公司 |
| 🛡️ 主义 | Hack23 ISMS-PUBLIC --完全文件化的信息安全管理系统 |
🔗 Hack23投资组合快速链接
- 🌐 直播平台 — euparliamentmonitor.com · riksdagsmonitor.com · · hack23.com
- 🧠 政治情报中心 — 欧盟议会 · 议会
- 📰 博客&公司 — Hack23博客 · 领英-Hack23 AB ·创始人 James Pether Sörling,CISSP,CISM
- 🤖 人工智能可读维基 — DeepWiki:欧洲议会MCP服务器 · DeepWiki:euparliamentmonitor · DeepWiki:riksdagsmonitor · DeepWiki:cia
______________________________________________________________________
🔐 安全与合规
______________________________________________________________________
🚀 快速开始
使用npx运行(无需安装)
npx -y european-parliament-mcp-server先决条件
- Node.js 26.x或更高版本
- npm 10.x或更高版本
安装
选项1:从npm安装(推荐)
# 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选项2:从源代码安装
# 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使用MCP客户端
Claude桌面配置(npm安装)
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"european-parliament": {
"command": "npx",
"args": ["european-parliament-mcp-server"],
"env": {
"EP_API_KEY": "your-api-key-if-needed"
}
}
}
}Claude桌面配置(源代码安装)
添加到您的 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"
}
}
}
}VS Code 扩展
在中配置 .vscode/mcp.json:
{
"servers": {
"european-parliament": {
"type": "stdio",
"command": "npx",
"args": ["-y", "european-parliament-mcp-server"]
}
}
}光标IDE配置
添加 ~/.cursor/mcp.json (或项目级别 .cursor/mcp.json):
{
"mcpServers": {
"european-parliament": {
"command": "npx",
"args": ["european-parliament-mcp-server"],
"env": {}
}
}
}自定义超时配置
使用 --timeout 以覆盖默认的60秒请求超时。这在以下情况下特别有用 copilot-mcp.json 或其他情况下 env 字段可能无法可靠地传播:
{
"args": ["european-parliament-mcp-server", "--timeout", "90000"]
}优先: --timeout CLI参数> EP_REQUEST_TIMEOUT_MS env-var>默认值(60000毫秒)。
注: 这procedures/feed和events/feed端点自动使用延长的120秒超时,因为这些EP API端点明显比其他端点慢。如果您在以下操作中遇到超时one-month考虑使用基于年份的查询(例如。,get_procedures({ year: 2026 }))作为一种更快的替代方案。
______________________________________________________________________
📚 文档
🌐 文档门户
📖 完整文档网站 -实时文档门户,包括:
- 📖 API参考(HTML) -TypeDoc生成的API文档,包含搜索、层次结构导航和完整类型信息
- 📖 API参考(降价) -环保型Markdown API文档
- 📊 覆盖范围报告 -测试覆盖率分析
- ✅ 测试报告 -单元和E2E测试结果
- 🔐 构建证明 -SLSA 3级物源
- 📦 软件物料清单 -软件物料清单
- 🗺️ 网站地图 -搜索引擎自动生成的站点地图
💡 备注:文档会自动生成,并在每次发布时通过以下方式提交 npm run docs:build生成的API文档
API文档是使用 TypeDoc 使用以下插件:
| 插件 | 目的 |
|---|---|
| 类型文档 | 核心HTML文档生成器 |
| typedoc插件标记 | 生成SEO友好的Markdown和HTML |
| typedoc插件mdn链接 | 将TypeScript内置类型链接到MDN文档 |
| typedoc插件zod | 将Zod模式定义呈现为可读的类型文档 |
在本地生成文档:
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)核心文件
- API使用指南 -完整的工具文档和示例
- 架构图 -C4模型图和数据流
- 故障排除指南 -常见问题和解决方案
- 开发者指南 -开发工作流程和贡献
- 部署指导 -Claude桌面、VS代码、Docker设置
- 性能指南 -优化策略
- 作为代码指南的文档 -文档是如何生成的
附加文档
- 建筑.md -完整的架构和设计文档
- 安全.md -安全策略和漏洞披露
- 安全\_ EADERS.md -API安全头实现
- docs/SBOM.md -软件物料清单文档
- 贡献.md -贡献指南
- 代码_OF_CONDUCT.md -社区行为准则
- -GitHub Copilot开发指南
- -自定义GitHub Copilot代理
- -可重复使用的技能模式
______________________________________________________________________
🏗️ 架构概述
graph TB
Client[MCP Client
Claude / VS Code / Cursor] -->|MCP Protocol stdio| Server[EP MCP Server
TypeScript/Node.js]
subgraph "MCP Server (src/)"
direction TB
Tools[🔧 61 Tools
getMEPs · analyzeCoalition
assessMepInfluence · …]
Resources["📦 9 Resources
ep://meps/\{mepId\}
ep://procedures/\{procedureId\} · …"]
Prompts[💬 7 Prompts
mep_briefing
coalition_analysis · …]
end
Server --> Tools
Server --> Resources
Server --> Prompts
subgraph "Infrastructure"
Cache[LRU Cache
500 entries · 15 min TTL]
RateLimiter[Rate Limiter
100 req/min]
AuditLog[Audit Logger
GDPR Article 30]
end
Tools --> EPClient[EuropeanParliamentClient
Facade → 8 sub-clients]
Resources --> EPClient
EPClient --> Cache
EPClient --> RateLimiter
EPClient --> AuditLog
EPClient -->|HTTPS/TLS 1.3| EPAPI[European Parliament
Open Data API v2
data.europarl.europa.eu]
style Server fill:#4CAF50,stroke:#2E7D32,color:#fff
style EPClient fill:#2196F3,stroke:#1565C0,color:#fff
style EPAPI fill:#9C27B0,stroke:#6A1B9A,color:#fff
style Cache fill:#FF9800,stroke:#E65100,color:#fff
style RateLimiter fill:#F44336,stroke:#B71C1C,color:#fff
style AuditLog fill:#607D8B,stroke:#37474F,color:#fff数据流: MCP客户端发送工具调用→ 服务器验证输入(Zod)→ EP客户端 检查缓存→ 未命中时,从EP API获取(速率受限)→ 缓存并返回响应 结构化JSON。根据GDPR第30条,所有个人数据访问都会被审计记录。
______________________________________________________________________
🔌 MCP工具(共63个)
63工具 按能力组织——首先是OSINT智能,然后是分析、数据访问、提要端点和参考工具。每个工具都包括Zod输入验证、缓存和速率限制。
🗺️ 政治情报覆盖图
graph TB
subgraph OSINT["🕵️ OSINT Intelligence — 15 Tools"]
direction LR
subgraph MEP["MEP Profiling"]
A1["assess_mep_influence"]
A2["comparative_intelligence"]
A3["network_analysis"]
A4["track_mep_attendance"]
end
subgraph COALITION["Coalition Dynamics"]
B1["analyze_coalition_dynamics"]
B2["compare_political_groups"]
B3["detect_voting_anomalies"]
B4["sentiment_tracker"]
end
subgraph STRATEGY["Strategic Warning"]
C1["early_warning_system"]
C2["generate_political_landscape"]
C3["correlate_intelligence"]
end
subgraph LEG_INTEL["Legislative Intelligence"]
D1["analyze_legislative_effectiveness"]
D2["monitor_legislative_pipeline"]
D3["analyze_committee_activity"]
D4["analyze_country_delegation"]
end
end
subgraph ANALYTICS["📊 Advanced Analysis — 4 Tools"]
E1["analyze_voting_patterns"]
E2["track_legislation"]
E3["generate_report"]
E4["get_all_generated_stats"]
end
subgraph DATA["📦 Core EP Data — 30 Tools"]
F1["👤 MEP Tools (7)"]
F2["🏛️ Plenary & Meeting (9)"]
F3["📄 Document Tools (7)"]
F4["⚖️ Legislative (4)"]
F5["🏢 Committee (2)"]
F6["🔧 Diagnostics (1)"]
end
subgraph FEEDS["📡 Real-Time Feeds — 13 Tools"]
G1["13 change monitoring endpoints"]
end
OSINT -->|"enriched by"| ANALYTICS
ANALYTICS -->|"queries"| DATA
DATA -->|"monitors"| FEEDS
style OSINT fill:#D32F2F,stroke:#B71C1C,color:#fff,stroke-width:2px
style ANALYTICS fill:#1565C0,stroke:#0D47A1,color:#fff,stroke-width:2px
style DATA fill:#2E7D32,stroke:#1B5E20,color:#fff,stroke-width:2px
style FEEDS fill:#FF8F00,stroke:#E65100,color:#000,stroke-width:2px
style MEP fill:#E53935,stroke:#C62828,color:#fff,stroke-width:2px
style COALITION fill:#E53935,stroke:#C62828,color:#fff,stroke-width:2px
style STRATEGY fill:#E53935,stroke:#C62828,color:#fff,stroke-width:2px
style LEG_INTEL fill:#E53935,stroke:#C62828,color:#fff,stroke-width:2px🎯 OSINT智能工作流程
graph LR
subgraph COLLECT["1️⃣ Collect"]
direction TB
C1["get_meps"]
C2["get_plenary_sessions"]
C3["get_voting_records"]
C4["get_procedures"]
C5["13 feed tools"]
end
subgraph ANALYZE["2️⃣ Analyze"]
direction TB
AN1["analyze_voting_patterns"]
AN2["track_legislation"]
AN3["generate_report"]
AN4["get_all_generated_stats"]
end
subgraph ENRICH["3️⃣ Enrich"]
direction TB
E1["assess_mep_influence"]
E2["analyze_coalition_dynamics"]
E3["detect_voting_anomalies"]
E4["network_analysis"]
E5["analyze_legislative_effectiveness"]
end
subgraph FUSE["4️⃣ Fuse & Alert"]
direction TB
F1["correlate_intelligence"]
F2["early_warning_system"]
F3["generate_political_landscape"]
F4["comparative_intelligence"]
F5["sentiment_tracker"]
end
COLLECT -->|"raw data"| ANALYZE
ANALYZE -->|"structured"| ENRICH
ENRICH -->|"intelligence"| FUSE
style COLLECT fill:#2E7D32,stroke:#1B5E20,color:#fff,stroke-width:2px
style ANALYZE fill:#1565C0,stroke:#0D47A1,color:#fff,stroke-width:2px
style ENRICH fill:#9C27B0,stroke:#7B1FA2,color:#fff,stroke-width:2px
style FUSE fill:#D32F2F,stroke:#B71C1C,color:#fff,stroke-width:2px🕵️ OSINT智能工具(15)
| 工具 | 说明 | 关键参数 | 输出 |
|---|---|---|---|
correlate_intelligence | 跨工具OSINT关联引擎——将影响、异常、联盟和网络信号融合为统一的情报警报 | mepIds(必需)、组、灵敏度级别 | 具有严重性和可信度的相关警报 |
assess_mep_influence | MEP影响评分(5维模型) | mepId(必填)、dateFrom、dateTo、included details | 影响记分卡 |
detect_voting_anomalies | 党派叛逃和异常检测 | mepId、groupId、灵敏度阈值 | 异常报告 |
analyze_coalition_dynamics | 联盟凝聚力和压力分析 | 组ID、日期来源、最小凝聚力 | 联盟指标 |
early_warning_system | 检测新出现的政治转变和联盟破裂 | 敏感性、重点区域 | 严重程度和稳定性评分的警告 |
comparative_intelligence | 跨维度交叉引用2-10个MEP活动 | mepIds(必需)、维度 | 排名概况、相关性矩阵、聚类分析 |
network_analysis | 通过委员会共同成员建立MEP关系网络 | mepId、analysis类型、深度 | 具有中心性得分的网络图 |
sentiment_tracker | 政治团体制度定位得分 | groupId、时间框架 | 定位得分和极化指数 |
generate_political_landscape | 全议会政治格局 | dateFrom,dateTo | 格局概述 |
compare_political_groups | 跨组比较分析 | 组ID(必填)、维度、日期来源 | 比较矩阵 |
analyze_legislative_effectiveness | MEP/委员会立法评分 | 主题类型(必填)、主题ID(必填)和日期起始日期 | 有效性评分 |
monitor_legislative_pipeline | 管道状态和瓶颈检测 | 委员会、状态、限制 | 管道状态 |
analyze_committee_activity | 委员会工作量和参与度分析 | committeeId(必填)、dateFrom、dateTo | 活动报告 |
track_mep_attendance | MEP出勤模式和趋势 | mepId、国家、组ID、日期发件人、日期收件人、限制 | 出勤报告 |
analyze_country_delegation | 国家代表团投票和组成 | 国家(必填),日期从,日期到 | 代表团分析 |
📊 高级分析工具(4)
| 工具 | 说明 | 关键参数 | 输出 |
|---|---|---|---|
get_all_generated_stats | 预先计算的EP活动统计数据(2004-2026),包括排名、预测、政治格局和 30个OSINT衍生的情报指标 包括三轴政治罗盘 | 年份From、yearTo、category、includePreventions | 统计对象 |
analyze_voting_patterns | 分析MEP投票行为 | mepId(必填)、dateFrom、compareWithGroup | 分析对象 |
track_legislation | 跟踪立法程序 | procedureId(必填) | 程序对象 |
generate_report | 生成分析报告 | reportType(必填)、subjectId、dateFrom | 报告对象 |
👤 MEP工具(7)
| 工具 | 描述 | 关键参数 | EP API端点 |
|---|---|---|---|
get_meps | 列出带过滤器的MEP | 国家、组、委员会、限制 | GET /meps |
get_mep_details | MEP详细信息 | id(必填) | GET /meps/{id} |
get_current_meps | 目前活跃的欧洲议会议员与国家和政治团体 | 限制,抵消 | GET /meps/show-current |
get_incoming_meps | 本学期新到的欧洲议会议员 | 限额,抵消 | GET /meps/show-incoming |
get_outgoing_meps | 本任期即将离任的欧洲议会议员 | 限额,抵消 | GET /meps/show-outgoing |
get_homonym_meps | 名称相同的MEP(消歧义) | 限制,偏移 | GET /meps/show-homonyms |
get_mep_declarations | MEP财务利益声明 | docId、年份、限额 | GET /meps-declarations, GET /meps-declarations/{id} |
🏛️ 全体会议和会议工具(9)
| 工具 | 描述 | 关键参数 | EP API端点 |
|---|---|---|---|
get_plenary_sessions | 按eventId列出全体会议/会议或单项会议 | 日期发件人、日期收件人、eventId、年份、地点 | GET /meetings, GET /meetings/{id} |
get_voting_records | 检索汇总投票记录(无每个MEP职位) | sessionId、主题、日期发件人 | GET /meetings/{id}/vote-results |
get_speeches | 全体会议发言和辩论稿 | 发言Id、年份、日期From、date To、limit | GET /speeches, GET /speeches/{id} |
get_events | EP活动(听证会、会议、研讨会) | eventId、年份、日期From、date To、limit | GET /events, GET /events/{id} |
get_meeting_activities | 与全体会议相关的活动 | sittingId(必填),限制 | GET /meetings/{id}/activities |
get_meeting_decisions | 全体会议作出的决定 | 会议ID(必填),限制 | GET /meetings/{id}/decisions |
get_meeting_foreseen_activities | 即将召开的会议的计划议程项目 | sittingId(必填),限制 | GET /meetings/{id}/foreseen-activities |
get_meeting_plenary_session_documents | 与特定会议相关的全体会议文件 | sittingId(必填)、限制、偏移 | GET /meetings/{id}/plenary-session-documents |
get_meeting_plenary_session_document_items | 特定全体会议的议程项目文件 | sittingId(必填)、限制、偏移 | GET /meetings/{id}/plenary-session-document-items |
🏢 委员会工具(2)
| 工具 | 描述 | 关键参数 | EP API端点 |
|---|---|---|---|
get_committee_info | 委员会/法人团体信息,或所有当前机构 | id、缩写、showCurrent | GET /corporate-bodies, GET /corporate-bodies/show-current |
get_committee_documents | 委员会文件和草案 | docId、年份、限制 | GET /committee-documents, GET /committee-documents/{id} |
📄 文档工具(7)
| 工具 | 描述 | 关键参数 | EP API端点 |
|---|---|---|---|
search_documents | 按docId | 关键字、docId、documentType、dateFrom搜索文档或获取单个文档 | GET /documents, GET /documents/{id} |
get_adopted_texts | 通过的立法文本和决议 | docId、年份、限制 | GET /adopted-texts, GET /adopted-texts/{id} |
get_plenary_documents | 全体会议立法文件 | docId、年份、限制 | GET /plenary-documents, GET /plenary-documents/{id} |
get_plenary_session_documents | 会议议程、会议纪要、投票列表 | docId、限制 | GET /plenary-session-documents, GET /plenary-session-documents/{id} |
get_plenary_session_document_items | 会话文档中的单个项目 | 限制、偏移 | GET /plenary-session-documents-items |
get_external_documents | 非EP文件(理事会、委员会) | docId、年份、限制 | GET /external-documents, GET /external-documents/{id} |
get_parliamentary_questions | 议会问答,或按docId类型、作者、主题、docId分类 | GET /parliamentary-questions, GET /parliamentary-questions/{id} |
⚖️ 立法程序工具(4)
| 工具 | 描述 | 关键参数 | EP API端点 |
|---|---|---|---|
get_procedures | 立法程序,或单个按流程ID | processId,年份,限制 | GET /procedures, GET /procedures/{id} |
get_procedure_events | 立法程序的时间线事件 | processId(必填),限制 | GET /procedures/{id}/events |
get_procedure_event_by_id | 与立法程序相关的特定事件 | processId(必需),eventId(必需的) | GET /procedures/{id}/events/{event-id} |
get_controlled_vocabularies | 标准化分类术语 | vocId,限制 | GET /controlled-vocabularies, GET /controlled-vocabularies/{id} |
📡 进给工具(13)
实时更改提要,用于监控所有EP API类别中最近更新的数据。根据 EP OpenAPI规范,饲料分为两组:
- 可配置窗口 (6个工具):接受
timeframe(today,one-day,one-week,one-month,custom)+可选startDate - 固定窗口 (7个工具):无参数——从服务器定义的默认窗口(通常为一个月)返回更新
关键行为: - 所有提要返回JSON-LDdata[],@context[],以及dataQualityWarnings[]- 空进料(EP API 404或实体错误)转换为空data[]带有警告,而非错误 -get_events_feed和get_procedures_feed始终使用最小120秒超时,因为这些端点一直很慢 - 固定窗口馈送可能非常慢(30-180秒),并且经常在身体响应中返回错误 - 对于可配置的提要,当timeframe是custom,startDate(YYYY-MM-DD)为必填项
可配置的窗口提要:
| 工具 | 描述 | 关键参数 | EP API端点 |
|---|---|---|---|
get_meps_feed | 最近更新的MEP | 时间范围,开始日期 | GET /meps/feed |
get_events_feed | 最近更新的事件 | 时间范围、开始日期、活动类型 | GET /events/feed |
get_procedures_feed | 最近更新的程序 | 时间范围、开始日期、流程类型 | GET /procedures/feed |
get_adopted_texts_feed | 最近更新的采用文本 | 时间框架、开始日期、工作类型 | GET /adopted-texts/feed |
get_mep_declarations_feed | 最近更新的MEP声明 | 时间范围、开始日期、工作类型 | GET /meps-declarations/feed |
get_external_documents_feed | 最近更新的外部文档 | 时间范围、开始日期、工作类型 | GET /external-documents/feed |
固定窗口馈送(无参数):
| 工具 | 描述 | 关键参数 | EP API端点 |
|---|---|---|---|
get_documents_feed | 最近更新的文件 | _(无)_ | GET /documents/feed |
get_plenary_documents_feed | 最近更新的全体会议文件 | _(无)_ | GET /plenary-documents/feed |
get_committee_documents_feed | 最近更新的委员会文件 | _(无)_ | GET /committee-documents/feed |
get_plenary_session_documents_feed | 最近更新的全体会议文件 | _(无)_ | GET /plenary-session-documents/feed |
get_parliamentary_questions_feed | 最近更新的问题 | _(无)_ | GET /parliamentary-questions/feed |
get_corporate_bodies_feed | 最近更新的法人团体 | _(无)_ | GET /corporate-bodies/feed |
get_controlled_vocabularies_feed | 最近更新的词汇表 | _(无)_ | GET /controlled-vocabularies/feed |
🔧 服务器诊断(1)
| 工具 | 说明 | 关键参数 | 输出 |
|---|---|---|---|
get_server_health | 服务器运行状况和提要可用性状态(无上游API调用) | _(无)_ | 健康对象 |
常见用例
研究特定的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"}跟踪立法:
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"}委员会分析:
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情报分析:
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 → {groupIds: ["EPP", "S&D"]}
4. Compare groups: compare_political_groups → {groupIds: ["EPP", "S&D", "Renew"]}
5. Pipeline status: monitor_legislative_pipeline → {committee: "ENVI"}
6. Country delegation: analyze_country_delegation → {country: "SE"}
7. Political landscape: generate_political_landscape → {}🎯 更多用例和示例→
📝 MCP提示
预构建的情报分析提示模板:
| 提示 | 描述 | 参数 |
|---|---|---|
mep_briefing | MEP综合情报简报 | mepId(必填),期间? |
coalition_analysis | 联盟动态和投票集团分析 | 政策领域?,期间? |
legislative_tracking | 立法程序跟踪报告 | procedureId?委员会? |
political_group_comparison | 多维组比较 | 组? |
committee_activity_report | 委员会工作量和参与度 | committeeId(必填) |
voting_pattern_analysis | 投票模式趋势检测 | 主题?我? |
country_delegation_analysis | 国家代表团的组成和活动 | 国家(必填),期间? |
📦 MCP资源
通过EP资源URI直接访问数据:
| 资源URI | 描述 |
|---|---|
ep://meps | 所有现任欧洲议会议员名单 |
ep://meps/{mepId} | 个人MEP简介 |
ep://committees/{committeeId} | 委员会信息 |
ep://plenary-sessions | 最近的全体会议 |
ep://votes/{sessionId} | 会议的投票记录 |
ep://political-groups | 政治团体名单 |
ep://procedures/{procedureId} | 立法程序细节 |
ep://plenary/{plenaryId} | 单次全体会议详情 |
ep://documents/{documentId} | 立法文件详情 |
______________________________________________________________________
🗺️ 全球政治MCP服务器和OSINT覆盖范围
欧洲议会MCP服务器是不断发展的生态系统的一部分 政治和政府开放数据MCP服务器 使人工智能支持的OSINT能够对全球民主制度进行分析。以下是最全面的政治和政府MCP服务器目录。
🏛️ 议会和立法MCP服务器
| 国家/地区 | 服务器 | 数据源 | 覆盖范围 |
|---|---|---|---|
| 🇪🇺 欧洲联盟 | 欧洲议会MCP服务器 | data.europarl.europa.eu | 欧洲议会议员、投票、立法、委员会、问题-- 63工具 (15盎司) |
| 🇺🇸 美国 | Congress.gov API MCP服务器 | congress.gov | 法案、成员、投票、委员会(TypeScript,v3 API) |
| 🇺🇸 美国 | 国会MCP | congress.gov | 实时国会数据——法案、选票、议员 |
| 🇺🇸 美国 | Congress.gov MCP | 国会.gov | 非官方国会.gov API访问 |
| 🇬🇧 英国 | 议会MCP | parliament.uk | 议事录、议员、辩论、分组 |
| 🇳🇱 荷兰 | OpenTK MCP | tweed ekamer.nl | 荷兰议会(Tweed Kamer)文件 |
| 🇵🇱 波兰 | 波兰议会MCP | sejm.gov.pl | 成员、投票、委员会 |
| 🇵🇱 波兰 | 瑟姆MCP | api.sejm.gov.pl | 议会数据+立法 |
| 🇮🇱 以色列 | 以色列议会MCP服务器 | knesset.gov.il | 以色列议会API |
| 🇧🇷 巴西 | 参议 BR MCP | senado.leg.br | 联邦参议院-成员、提案、投票 |
📊 政府开放数据MCP服务器
| 国家/地区 | 服务器 | 数据源 | 覆盖范围 |
|---|---|---|---|
| 🇺🇸 美国 | 美国支出MCP | usaspending.gov | 联邦支出数据 |
| 🇺🇸 美国 | 公开人口普查MCP | census.gov | 人口与统计(自然语言) |
| 🇺🇸 美国 | Data.gov MCP服务器 | data.gov | 联邦数据集目录 |
| 🇺🇸 美国 | CMS Data.gov MCP | data.cms.gov | 医疗保健数据--搜索/筛选/分页 |
| 🇺🇸 美国 | 爱德华·麦克普 | sec.gov | 美国证券交易委员会文件——年度报告、内幕数据 |
| 🇺🇸 美国 | NPS MCP | nps.gov | 国家公园管理局API |
| 🇸🇪 瑞典 | SCB MCP服务器 | scb.se | 瑞典官方统计数据 |
| 🇸🇪 瑞典 | 学校MCP | skolverket.se | 瑞典国家教育署 |
| 🇫🇷 法国 | data.gouv.fr MCP | data.gov.fr | 国家开放数据平台 |
| 🇫🇷 法国 | 数据采集MCP服务器 | data.gov.fr | 公司和组织搜索 |
| 🇬🇧 英国 | 规划数据MCP | planning.data.gov.uk | 规划和土地利用数据 |
| 🇬🇧 英国 | 房地产价格MCP | landregistry.data.gov.uk | 房价搜索 |
| 🇳🇱 荷兰 | CBS开放数据MCP | cbs.nl | 荷兰统计局 |
| 🇮🇱 以色列 | 数据.gov.il MCP | data.gov.il | 国家CKAN数据门户 |
| 🇮🇱 以色列 | 以色列数据政府MCP | data.gov.il | 替代实现+可视化 |
| 🇮🇱 以色列 | 以色列统计MCP | cbs.gov.il | CPI与经济时间序列 |
| 🇮🇱 以色列 | 预算关键MCP | open-budget.org.il | 州预算、合同、拨款 |
| 🇹🇷 火鸡 | MCP 法案 | mevzuat.gov.tr | 立法体系——搜索/检索法律 |
| 🇭🇰 香港 | 香港数据网.HK MCP | data.gov.hk | 香港开放数据门户网站 |
| 🇲🇾 马来西亚 | Data.gov.my MCP | data.gov.my | 国家数据门户 |
| 🇮🇳 印度 | MCP中的Data.gov.in | data.gov.in | 语义搜索+数据集访问 |
| 🇸🇬 新加坡 | Gahmen MCP服务器 | data.gov.sg | 政府数据集+CKAN搜索 |
| 🇸🇬 新加坡 | 新加坡数据MCP | data.gov.sg | 多个服务器(停车、健康、数据集) |
| 🇦🇺 澳大利亚 | ABS MCP服务器 | abs.gov.au | 统计局 |
🌍 多门户和通用MCP服务器
| 范围 | 服务器 | 平台 | 覆盖范围 |
|---|---|---|---|
| 🌐 全球(CKAN) | CKAN MCP服务器 | CKAN门户 | 用于任何基于CKAN的开放数据门户的通用服务器 |
| 🌐 全球(苏格拉底) | OpenGov MCP服务器 | 索克拉塔门户 | 城市/县/州/联邦索克拉塔供电门户 |
🕵️ OSINT情报能力比较
| 能力 | 🇪🇺 欧盟议会MCP🇺🇸 Congress.gov MCP | 🇬🇧 英国议会MCP🇸🇪 议会MCP | ||
|---|---|---|---|---|
| 成员分析 | ✅ 5维影响模型 | ✅ 基本配置文件 | ✅ 基本配置文件 | ✅ 基本概况 |
| 投票分析 | ✅ 异常检测+模式 | ✅ 唱名表决 | ✅ 部门记录 | ✅ 投票记录 |
| 联盟动态 | ✅ 内聚力和应力分析 | ❌ | ❌ | ❌ |
| 委员会情报 | ✅ 工作量和参与度指标 | ✅ 委员会数据 | ✅ 委员会数据 | ❌ |
| 立法管道 | ✅ 瓶颈检测+预测 | ✅ 账单跟踪 | ✅ 账单跟踪 | ✅ 账单跟踪 |
| 国家代表团分析 | ✅ 国家凝聚力指标 | N/A | N/A | N/A |
| 政治格局 | ✅ 全议会态势感知 | ❌ | ❌ | ❌ |
| 考勤跟踪 | ✅ 趋势检测+参与度评分 | ❌ | ❌ | ❌ |
| GDPR合规性 | ✅ 隐私优先设计 | N/A | N/A | ✅ |
| MCP提示和资源 | ✅ 7个提示+9个资源 | ❌ | ❌ | ❌ |
| 工具计数 | 63工具 | ~5个工具 | ~5个刀具 | ~4个刀具 |
💡 欧洲议会MCP服务器提供最全面的OSINT情报功能 任何政治MCP服务器 63种专用工具 包括联盟压力分析、投票异常检测、跨工具情报关联、政治格局生成和预先计算的纵向统计等高级分析。它是唯一一个内置MCP提示、资源和5维MEP影响评分模型的政治MCP服务器。
______________________________________________________________________
🏛️ 欧洲议会数据集
完整的EP API v2覆盖范围
全部55 欧洲议会开放数据API v2 端点已完全覆盖——41个核心数据端点、13个馈送端点和1个可选端点(/procedures/{id}/events/{event-id}):
| 类别 | 端点 | MCP工具 |
|---|---|---|
| 欧洲议会议员 | /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文件 | /meps-declarations, /meps-declarations/{id} | get_mep_declarations |
| 法人团体 | /corporate-bodies, /corporate-bodies/{id}, /corporate-bodies/show-current | get_committee_info |
| 事件 | /events, /events/{id} | get_events |
| 会议 | /meetings, /meetings/{id}, /meetings/{id}/activities, /meetings/{id}/decisions, /meetings/{id}/foreseen-activities, /meetings/{id}/vote-results, /meetings/{id}/plenary-session-documents, /meetings/{id}/plenary-session-document-items | get_plenary_sessions, get_meeting_activities, get_meeting_decisions, get_meeting_foreseen_activities, get_voting_records, get_meeting_plenary_session_documents, get_meeting_plenary_session_document_items |
| 演讲稿 | /speeches, /speeches/{id} | get_speeches |
| 程序 | /procedures, /procedures/{id}, /procedures/{id}/events, /procedures/{id}/events/{event-id} | get_procedures, get_procedure_events, get_procedure_event_by_id |
| 文件 | /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 |
| 问题 | /parliamentary-questions, /parliamentary-questions/{id} | get_parliamentary_questions |
| 外部文件 | /external-documents, /external-documents/{id} | get_external_documents |
| 词汇 | /controlled-vocabularies, /controlled-vocabularies/{id} | get_controlled_vocabularies |
| 馈送端点 | /meps/feed, /events/feed, /procedures/feed, /adopted-texts/feed, /meps-declarations/feed, /documents/feed, /plenary-documents/feed, /committee-documents/feed, /plenary-session-documents/feed, /external-documents/feed, /parliamentary-questions/feed, /corporate-bodies/feed, /controlled-vocabularies/feed | get_meps_feed, get_events_feed, get_procedures_feed, get_adopted_texts_feed, get_mep_declarations_feed, get_documents_feed, get_plenary_documents_feed, get_committee_documents_feed, get_plenary_session_documents_feed, get_external_documents_feed, get_parliamentary_questions_feed, get_corporate_bodies_feed, get_controlled_vocabularies_feed |
数据源
- API: https://data.europarl.europa.eu/api/v2/
- 文档: https://data.europarl.europa.eu/en/developer-corner
- 格式:JSON-LD、RDF/XML、Turtle
- 许可证:欧洲议会开放数据许可证
______________________________________________________________________
🔒 安全与合规
ISMS合规性
该项目与 Hack23 AB的信息安全管理系统(ISMS):
- ✅ ISO 27001:2022 -信息安全管理
- ✅ NIST脑脊液2.0 -网络安全框架
- ✅ CIS控件v8.1 -安全最佳实践
- ✅ GDPR 数据保护 -欧盟数据保护合规性
安全功能
- 🔐 认证:API密钥+OAuth 2.0(计划中)
- 🛡️ 输入验证:所有输入的Zod模式
- ⚡ 速率限制:每分钟100个请求
- 🔒 安全标头:CSP、HSTS、X-Frame-Options等。
- 📝 审计日志:记录所有数据访问
- 🔍 漏洞扫描:CodeQL、Dependabot、OSSF记分卡
供应链安全
该项目实现 SLSA 3级 顺从:
- ✅ 建立来源 -构建完整性的加密证明
- ✅ 证明 -所有工件都经过加密签名
- ✅ 验证 -
gh attestation verify --owner Hack23 --repo European-Parliament-MCP-Server - ✅ npm来源 -发布时注明出处,以确保包装的完整性
- ✅ 软件物料清单 -SPDX格式软件物料清单
- ✅ 依赖性审查 -自动漏洞扫描
- ✅ 许可证合规 -只允许使用MIT、Apache-2.0、BSD、ISC
看 ATTESTATIONS.md 用于验证说明和安全好处。
📋 项目分类
每 Hack23开源政策:
| 财产 | 价值 |
|---|---|
| CRA分类 |  非商业开源软件 |
| 保密性 |  |
| 正直 |  |
| 可用性 |  |
看 CRA-ASSESSMENT.md 获取完整的《欧盟网络弹性法案》合规性评估。
______________________________________________________________________
🧪 发展
设置开发环境
# 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文档
📚 开发者文档
- JSDoc覆盖报告 -对所有源文件的JSDoc文档覆盖率进行详细分析
- JSDoc快速参考 -编写全面JSDoc评论的快速参考指南
- JSDoc覆盖范围摘要 -文件状况和优先事项执行摘要
- JSDoc覆盖率可视化 -用图表和图形直观地表示文档覆盖范围
🏗️ 建筑与设计
- 架构文档 -系统架构和设计模式
- 数据模型 -数据结构和类型定义
- API使用指南 -MCP服务器API使用指南
- EP政治格局 - 📊 所有EP统计数据(2004–2026)、政治罗盘、联盟动态和OSINT情报指标的综合美人鱼可视化-所有年份均根据EP API v2进行验证
🧪 测试与质量
🔒 安全与合规
📦 部署和运营
测试
# 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集成测试:何时 EP_INTEGRATION_TESTS=true,集成测试套件针对真实的欧洲议会API端点验证46个MCP工具(参见 集成_测试.md 完整的62工具覆盖指南)。所有工具都返回真实数据,不使用模拟或占位符数据。API实时测试在默认情况下被禁用,以遵守速率限制(100 req/min)。
代码质量
# 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______________________________________________________________________
🛠️ 故障排除
API费率限制
症状: 请求返回 429 Too Many Requests 或意外减速。
欧洲议会开放数据API强制执行费率限制。MCP服务器 自动应用令牌桶速率限制器(每分钟100个请求)。
解决:
# Reduce concurrency — don't call multiple tools in parallel bursts
# Use the built-in cache — repeated identical requests are served from LRU cache
# Add a delay between bulk operations:
# e.g., call get_meps, wait 1 s, then call get_mep_details
# Check current cache stats (if using programmatic access):
const stats = epClient.getCacheStats();
console.log(`Cache hit rate: ${stats.hitRate}%`);连接问题
症状: ECONNREFUSED, ETIMEDOUT,或 Network error 从工具。
解决:
- 验证EP API可达性:
curl https://data.europarl.europa.eu/api/v2/meps?limit=1 - 检查防火墙/代理设置——服务器出站连接到
data.europarl.europa.eu:443 - 启用重试(默认:启用)--客户端以指数回退方式重试瞬态故障
- 在上查看API状态https://data.europarl.europa.eu/en/developer-corner
安装问题
症状: npm install 失败,或 node dist/index.js 引发导入错误。
解决:
# Ensure Node.js 26+ is installed
node --version # Must be >= 26.0.0
# Clear npm cache and reinstall
npm cache clean --force
rm -rf node_modules package-lock.json
npm install
# Rebuild TypeScript output
npm run build
# Verify the package starts correctly
node dist/index.js --version症状: MCP客户端显示“找不到服务器”或未列出任何工具。
解决:
- 确认
commandMCP客户端配置中的路径指向正确的二进制文件 - 对于
npx:确保european-parliament-mcp-server在你的npm注册表中 - 对于
node:使用绝对路径dist/index.js - 检查MCP客户端日志——大多数客户端(Claude Desktop、VS Code)记录连接错误
集成测试失败
症状: 集成测试失败 EP_INTEGRATION_TESTS must be set.
集成测试在默认情况下被禁用,以遵守API速率限制。
# Enable integration tests explicitly:
EP_INTEGRATION_TESTS=true npm run test:integration
# Capture fresh fixtures for offline testing:
EP_INTEGRATION_TESTS=true EP_SAVE_FIXTURES=true npm run test:integrationTypes/Build错误
症状: tsc 在提取最新更改后报告类型错误。
# Regenerate all types
npm run type-check
# Check for mismatched Node types
npm install # updates @types/node
# Ensure tsconfig is correct
cat tsconfig.json获取帮助
______________________________________________________________________
🤝 贡献
我们欢迎捐款!请看 贡献.md 有关以下内容的详细信息:
- 行为准则
- 开发流程
- 拉取请求指南
- 编码标准
- 测试要求
GitHub复制集成
此存储库包括GitHub Copilot的自定义代理和技能:
- 代理:用于开发、测试、安全和文档的专业人工智能助手
- 技能:MCP开发、安全、测试和性能的可重用模式
- 看 和
发布过程
我们跟随 语义化版本 并使用自动发布管理:
版本类型:
- 专业 (x.0.0):中断更改(例如,API不兼容的更改)
- 次要的 (0.x.0):新功能,向后兼容(例如,新的MCP工具)
- 补丁 (0.0.x):错误修复、安全更新、向后兼容
自动发布工作流程:
- 在特征分支中开发特征
- 使用描述性标题创建PR 约定式提交
- 标签会根据更改的文件自动应用
- 合并到main后,会自动创建发布草稿
- 审阅并发布发布(自动创建git标签)
发行说明包括:
- 按特征区域对变更进行分类
- 安全徽章(OpenSSF记分卡,SLSA)
- 技术栈和兼容性
- ISMS合规状态
- 完整更新日志链接
有关详细的工作流文档,请参阅 .
______________________________________________________________________
🤖 AI颠覆智能和未来路线图
📰 新闻已死。智慧万岁。 当世界各地的新闻编辑室竞相用GPT驱动的头条工厂取代记者时——大量生产 *“欧盟今天做的10件事”* 以幻觉的速度,我们走了一条不同的道路。而不是自动化新闻 *股票代码*我们建造了一个 政治情报平台 事实上 *理解* 欧洲议会在做什么。中断的新闻生成产生噪音; 深度政治情报 产生信号。任何聊天机器人都可以总结新闻稿。一段时间 62个MCP工具, 15台OSINT分析仪和a 5维影响模型 告诉你 *欧洲议会议员悄悄促成了一项修正案,该修正案改变了重塑一个行业的指令* --三个月前,报纸上就刊登了通知。 这不是新闻机器人。这是议会情报基础设施。
🏗️ 代理架构概述
该存储库由一个全面的人工智能增强开发生态系统提供支持-- 14名专业的Copilot代理商, 41种可重复使用的技能,以及 11个CI/CD工作流程 --协同工作,维护、分析和改进现有最先进的政治MCP服务器。
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#6366F1', 'primaryTextColor': '#fff', 'primaryBorderColor': '#4F46E5', 'lineColor': '#94A3B8', 'secondaryColor': '#F59E0B', 'tertiaryColor': '#10B981', 'background': '#0F172A', 'mainBkg': '#1E293B', 'nodeBorder': '#475569'}}}%%
graph TB
subgraph AGENTS["🤖 14 Copilot Agents"]
style AGENTS fill:#1E1B4B,stroke:#6366F1,color:#E0E7FF
A1["🎯 product-task-agent"]
A2["📝 documentation-writer"]
A3["🔧 frontend-specialist"]
A4["🔌 api-integration-engineer"]
A5["⚙️ mcp-developer"]
A6["🛡️ security-specialist"]
A7["🧪 test-engineer"]
A8["🕵️ intelligence-operative"]
A9["🏛️ european-parliament-specialist"]
A10["📊 performance-optimizer"]
A11["📋 isms-compliance-auditor"]
A12["💼 business-development-specialist"]
A13["📣 marketing-specialist"]
A14["🧩 zod-schema-architect"]
end
subgraph SKILLS["🎯 41 Reusable Skills"]
style SKILLS fill:#1C1917,stroke:#F59E0B,color:#FEF3C7
S1["🔧 10 Core Dev Skills"]
S2["🛡️ 6 Security Skills"]
S3["⚙️ 4 DevOps Skills"]
S4["🔍 10 Intel & OSINT Skills"]
S5["💼 2 Business Skills"]
S6["🤖 3 AI & MCP Gateway Skills"]
S7["📋 6 ISMS Compliance Skills"]
end
subgraph WORKFLOWS["⚙️ 11 CI/CD Workflows"]
style WORKFLOWS fill:#022C22,stroke:#10B981,color:#D1FAE5
W1["🧪 test-and-report"]
W2["🔍 codeql"]
W3["📦 release"]
W4["🌐 integration-tests"]
W5["📋 sbom-generation"]
W6["🔒 slsa-provenance"]
W7["📊 scorecard"]
W8["🔎 dependency-review"]
W9["🏷️ labeler"]
W10["⚙️ setup-labels"]
W11["🤖 copilot-setup-steps"]
end
subgraph TOOLS["🔌 62 MCP Tools"]
style TOOLS fill:#172554,stroke:#3B82F6,color:#DBEAFE
T1["🕵️ 15 OSINT Intelligence"]
T2["📊 3 Advanced Analysis + 1 Diagnostics"]
T3["👤 7 MEP Data"]
T4["🏛️ 9 Plenary & Meeting"]
T5["📄 12 Document, Committee & Legislative"]
end
AGENTS --> SKILLS
AGENTS --> TOOLS
SKILLS --> WORKFLOWS
WORKFLOWS --> TOOLS📅 未来高级路线图:2026-2037
自 62个MCP工具 今天到a 转型民主情报平台 为所有195个议会系统提供服务,这得益于人工智能模型世代的不懈发展。
第五阶段:高级情报(2026-2027)
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#6366F1', 'primaryTextColor': '#fff', 'primaryBorderColor': '#4F46E5', 'lineColor': '#94A3B8', 'secondaryColor': '#22D3EE', 'tertiaryColor': '#10B981'}}}%%
timeline
title 2026–2027 · Advanced Intelligence Era
section Q1–Q2 2026
Agentic News Generation : Opus 4.6–4.7
: AI-generated parliamentary briefings
: Automated committee intelligence reports
: Real-time vote analysis summaries
section Q3–Q4 2026
Deep Analysis Pipelines : Opus 4.8–4.9
: Cross-institutional correlation engine
: MEP behavioral prediction models
: Legislative outcome forecasting
section Q1–Q2 2027
Predictive Analytics : Opus 5.0–5.1
: Coalition formation prediction
: Amendment survival probability
: Policy impact pre-assessment
section Q3–Q4 2027
Multi-source Intelligence : Opus 5.2–5.3
: EUR-Lex deep integration
: Council position analysis
: Commission proposal tracking第六阶段:AGI时代与转型民主(2034-2037)
*场景:通过Amazon Bedrock或后续平台提供AGI或近AGI系统*
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#A855F7', 'primaryTextColor': '#fff', 'lineColor': '#C084FC', 'secondaryColor': '#F59E0B', 'tertiaryColor': '#EC4899'}}}%%
mindmap
root((🌐 AGI Era\n2034–2037))
🤖 AGI-Enhanced Intelligence
Autonomous real-time analysis
All 195 parliamentary systems
Every legislative session globally
Sub-second pattern detection
Universal language support
All UN official languages
Regional dialects & legal terminology
Real-time translation & summarization
📊 Predictive Governance
Policy impact prediction
Before legislation is proposed
Economic modeling integration
Social impact forecasting
Democratic health monitoring
Voter engagement indices
Institutional resilience scores
Democratic backsliding alerts
⚖️ Ethical AI Governance
Human oversight maintained
Regardless of AI capability level
Escalation protocols for critical decisions
Transparency reports on AI judgments
Bias detection & correction
Multi-cultural fairness auditing
Political neutrality verification
Algorithmic accountability logs
🛡️ Democratic Safeguards
Anti-weaponization architecture
Platform prevents manipulation
Disinformation detection layer
Foreign influence monitoring
Sovereignty protection
EU data sovereignty enforced
Quantum-resistant encryption
Air-gapped government deployments🧬 人工智能模型演化策略
假设: 到2037年(或直到继任者范式),人类小作品每2.3个月更新一次。主要版本每年升级一次。竞争对手(OpenAI、谷歌、Meta、欧盟主权人工智能)在每次发布时都会进行评估。架构必须适应潜在的范式转变(量子人工智能、神经形态计算)。
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#6366F1', 'primaryTextColor': '#fff', 'primaryBorderColor': '#4F46E5', 'lineColor': '#94A3B8', 'secondaryColor': '#F59E0B', 'tertiaryColor': '#10B981'}}}%%
gantt
title AI Model Evolution & Platform Capability Growth
dateFormat YYYY
axisFormat %Y
todayMarker off
section AI Models
Opus 4.6–4.9 :a1, 2026, 2027
Opus 5.x :a2, 2027, 2028
Opus 6.x Multimodal :a3, 2028, 2029
Opus 7.x Autonomous :a4, 2029, 2030
Opus 8.x Near-Expert :a5, 2030, 2031
Opus 9–10.x Pre-AGI :a6, 2031, 2034
AGI / Post-AGI :a7, 2034, 2037
section Platform Phases
Phase 5 Advanced Intel :p5, 2026, 2028
Phase 5b Predictive :p5b, 2028, 2030
Phase 5c Autonomous :p5c, 2030, 2031
Phase 6 Pre-AGI Global :p6a, 2031, 2034
Phase 6 AGI Transformative :p6b, 2034, 2037📊 工作流计数和能力预测
基线: 今天有11个GitHub操作工作流。预计增长包括人工智能生成的工作流程、预定的情报管道、多环境部署链和自动化OSINT处理——见 未来_工作流.md 详细的扩张计划。
| 年份 | 总工作流程 | 人工智能模型 | 关键能力 | 工具 |
|---|---|---|---|---|
| 2026 | 44–50 | 作品4.6–4.9 | 🤖 代理新闻生成,人工智能撰写简报 | 46→55 |
| 2027 | 50–55 | 作品5.x | 📈 预测分析、联盟预测 | 55→65 |
| 2028 | 55–65 | 作品6.x | 🎥 多模态内容、视频/语音分析 | 65→80 |
| 2029 | 65–75 | 作品7.x | ⚡ 自主流水线,自优化CI/CD | 80→90 |
| 2030 | 75–85 | 作品8.x | 🧠 近专家分析,领域专家AI | 90→100 |
| 2031–2033 | 85–100 | 作品9–10.x/AGI前 | 🌍 全球覆盖,所有欧盟国家议会 | 100→120 |
| 2034–2037 | 100–120+ | AGI/AGI后 | 🌐 转型平台,195个议会 | 120个→200+ |
🔮 战略考虑
| 支柱 | 描述 | 保障 |
|---|---|---|
| 🤖 自主分析 | AGI为所有195个议会系统提供实时政治情报 | 人类分析师审查高风险评估 |
| 🌐 通用语言 | 每种联合国语言都得到了法律术语的精确支持 | 每次发布都进行了多文化公平审计 |
| 📊 预测性治理 | 政策影响预测 *之前* 建议立法 | 强制要求置信区间和不确定性量化 |
| ⚖️ 伦理人工智能治理 | 无论人工智能能力水平如何,都保持人为监督 | ISMS一致的升级协议、透明度报告 |
| 🛡️ 民主保障 | 平台架构防止武器化或操纵 | 季度红队演习,主权优先数据政策 |
🗺️ 扩展路线图可视化
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#6366F1', 'primaryTextColor': '#fff', 'lineColor': '#94A3B8'}}}%%
graph LR
subgraph Y2026["2026"]
style Y2026 fill:#1E40AF,stroke:#3B82F6,color:#DBEAFE
Y26["🤖 Opus 4.6–4.9\n44–50 workflows\nAgentic news gen"]
end
subgraph Y2027["2027"]
style Y2027 fill:#1E3A8A,stroke:#3B82F6,color:#DBEAFE
Y27["📈 Opus 5.x\n50–55 workflows\nPredictive analytics"]
end
subgraph Y2028["2028"]
style Y2028 fill:#312E81,stroke:#6366F1,color:#E0E7FF
Y28["🎥 Opus 6.x\n55–65 workflows\nMulti-modal content"]
end
subgraph Y2029["2029"]
style Y2029 fill:#4C1D95,stroke:#8B5CF6,color:#EDE9FE
Y29["⚡ Opus 7.x\n65–75 workflows\nAutonomous pipeline"]
end
subgraph Y2030["2030"]
style Y2030 fill:#581C87,stroke:#A855F7,color:#F3E8FF
Y30["🧠 Opus 8.x\n75–85 workflows\nNear-expert analysis"]
end
subgraph Y2031_33["2031–33"]
style Y2031_33 fill:#701A75,stroke:#D946EF,color:#FAE8FF
Y31["🌍 Pre-AGI\n85–100 workflows\nGlobal coverage"]
end
subgraph Y2034_37["2034–37"]
style Y2034_37 fill:#831843,stroke:#EC4899,color:#FCE7F3
Y34["🌐 AGI Era\n100–120+ workflows\nTransformative platform"]
end
Y26 --> Y27 --> Y28 --> Y29 --> Y30 --> Y31 --> Y34📚 未来架构文档
如需深入了解特定的进化轨迹,请参阅:
| 文档 | 焦点 | 链接 |
|---|---|---|
| 📊 EP政治格局 | OSINT情报仪表板(2004-2026)——席位组成、碎片化、政治指南针、联盟动态、衍生指标;根据EP API v2验证的所有年份 | EP_POLITICAL_LANDSCAPE.md |
| 🧠 未来思维导图 | 能力扩展愿景、人工智能分析、OSINT进化 | 期货_地图.md |
| ⚙️ 未来的工作流程 | CI/CD演进,人工智能增强管道,2027-2037年路线图 | 未来_工作流.md |
| 🏛️ 未来建筑 | 平台架构演进、AWS部署、联盟 | 期货_房地产.md |
| 🛡️ 未来安全 | 安全成熟度路线图,量子就绪加密 | FUTURE_SECURITY_ARCHITECTURE.md |
| 📊 未来数据模型 | 增强的数据结构、图形数据库、时态模型 | 未来_日期_时间.md |
| 💼 未来SWOT | 战略定位、竞争分析、市场演变 | FUTURE_SWOT.md |
______________________________________________________________________
📜 许可证
该项目根据 Apache许可证2.0 -看 许可证.md 了解详情。
______________________________________________________________________
🔗 链接
项目资源
Hack23生态系统
- 🏢 Hack23 AB --瑞典网络安全和开源情报咨询公司(博客 · 领英)
- 🛡️ Hack23 ISMS-PUBLIC --公共ISO 27001:2022/NIST CSF 2.0/CIS Controls v8.1信息安全管理系统
欧洲议会
MCP协议
MCP注册表
- --npm注册表
政治和政府MCP服务器
- Congress.gov API MCP服务器 --美国国会数据(TypeScript)
- 英国议会MCP --英国议事录,议员,辩论
- 国会 & 政府 MCP --瑞典议会数据
- 波兰议会MCP --波兰议会数据
- OpenTK MCP --荷兰议会(Tweed Kamer)文件
- 以色列议会MCP --以色列议会数据
- CKAN MCP服务器 --通用CKAN门户访问
- OpenGov MCP服务器 --Socrata供电门户
Hack23 ISMS
______________________________________________________________________
🙏 致谢
- 欧洲议会 提供开放数据访问
- 模型上下文协议 MCP规范团队
- Hack23 AB ISMS政策和安全标准
- OpenSSF 供应链安全工具
- 贡献者 谁帮助改进这个项目
______________________________________________________________________
Built with ❤️ by Hack23 AB
Demonstrating security excellence through transparent open source
