DutyKit
EU business duties for AI agents: legal obligations with sources and pre-checks (DE, LU, EU)
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
EU & Nordic official open data: TED, sanctions, VIES, VAT rates, GLEIF, Safety Gate, ECB, PRH, Brreg
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
FINGRID_API_KEYต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"eu-nordic-open-data": {
"command": "npx",
"args": [
"-y",
"eu-nordic-open-data-mcp"
],
"env": {
"FINGRID_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add eu-nordic-open-data --env FINGRID_API_KEY='ใส่ค่าของคุณ' -- npx -y eu-nordic-open-data-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"eu-nordic-open-data": {
"command": "npx",
"args": [
"-y",
"eu-nordic-open-data-mcp"
],
"env": {
"FINGRID_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"eu-nordic-open-data": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"eu-nordic-open-data-mcp"
],
"env": {
"FINGRID_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
FINGRID_API_KEY envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub itulo ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.0) เข้า registry 6 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี DutyKit, Agent Data Tools: Company, compliance and checks, Agent Data Tools
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
EU business duties for AI agents: legal obligations with sources and pre-checks (DE, LU, EU)
38 tools: OFAC sanctions, counterparty checks, company, domain, email. 25 free calls.
641 agent tools: chain data, prices, sanctions, web, PDF. 25 free calls, then from $0.002.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
eu-nordic-open-data-mcp)13 production-ready Model Context Protocol (MCP) servers (@modelcontextprotocol/sdk over stdio) and 13 public hosted Apify Actors on the Apify Store (15 tools in total) built on official European Union, Finnish, Norwegian, French and UK government open-data APIs. The unified server (npx -y eu-nordic-open-data-mcp) exposes all 49 tools over stdio.
Every tool shares a single core library (src/lib/*) across its stdio MCP server (src/mcp-server.js) and Apify Actor (src/main.js), and enforces:
toiminimi) personal names & residential addresses in VIES VAT checks, c/o names & street addresses in PRH Trade Register records, natural-person contact points in TED procurement notices, and ship master names in Digitraffic port calls.LICENCE_REGISTER.md and licences.json.Independent Open-Source Suite: Not affiliated with or endorsed by the Publications Office of the EU, European Commission, ECB, ENISA, PRH, Fingrid, FMI, Fintraffic, GLEIF, Brønnøysundregistrene, DG TAXUD, Companies House or Insee. Uses no agency or EU logos.
| # | Tool Directory | Hosted Apify Actor | Official Upstream API | Keyless? | MCP Tools Exposed |
|---|---|---|---|---|---|
| 1 | tools/ted-tender-feed | itulo/ted-tender-feed | EU TED Search API v3 (api.ted.europa.eu/v3) | Yes | ted_search_tenders, ted_new_tenders_alert, ted_licence_info |
| 2 | tools/prh-company-events | itulo/prh-company-events | Finland PRH / YTJ Open Data v3 (avoindata.prh.fi) + Norway Brreg Enhetsregisteret (data.brreg.no, NLOD 2.0) | Yes | prh_company_events, prh_watch_companies, brreg_company_events, brreg_company_lookup, prh_licence_info |
| 3 | tools/eu-sanctions-screen | itulo/eu-sanctions-screen | European Commission DG FISMA Consolidated Financial Sanctions (FSF CSV 1.1) | Yes | eu_sanctions_screen, eu_sanctions_lookup, eu_sanctions_list_info |
| 4 | tools/fingrid-grid-signals | itulo/fingrid-grid-signals | Fingrid Open Data API (data.fingrid.fi/api) | Free key (FINGRID_API_KEY) | fingrid_grid_snapshot, fingrid_cheap_hours, fingrid_co2_intensity, fingrid_series, fingrid_dataset, fingrid_licence_info |
| 5 | tools/fmi-fingrid-nowcast | itulo/fmi-fingrid-nowcast | FMI WFS 2.0 Weather Forecasts + Fingrid Wind/Solar/Load | Keyless (weather_only) or FINGRID_API_KEY | fmi_fingrid_nowcast, fmi_station_weather, fmi_fingrid_licence_info |
| 6 | tools/fmi-weather-warnings-alerts | itulo/fmi-weather-warnings-alerts | FMI CAP 1.2 Severe Weather/Marine Alerts + WFS Observations & Mareographs | Yes | fmi_active_alerts, fmi_weather_observations, fmi_sea_level_observations, fmi_alerts_licence_info |
| 7 | tools/eu-vies-vat-validator | itulo/eu-vies-vat-validator | European Commission VIES VAT REST API (ec.europa.eu/taxation_customs/vies) | Yes | vies_validate_vat_batch, vies_member_state_status, vies_licence_info |
| 8 | tools/ecb-fx-rates-macro | itulo/ecb-fx-rates-macro | European Central Bank (ECB) SDMX 2.1 Data Portal (data-api.ecb.europa.eu) | Yes | ecb_fx_rates, ecb_policy_rates_and_inflation, ecb_convert_invoices, ecb_licence_info |
| 9 | tools/digitraffic-port-calls-marine | itulo/digitraffic-port-calls-marine | Fintraffic Digitraffic Marine Port Call API (meri.digitraffic.fi) | Yes | digitraffic_port_calls, digitraffic_port_congestion_summary, digitraffic_licence_info |
| 10 | tools/enisa-euvd-vulnerabilities | itulo/enisa-euvd-vulnerabilities | EU Agency for Cybersecurity (ENISA) European Vulnerability Database (euvd.enisa.europa.eu) | Yes | euvd_exploited_and_critical, euvd_search_vulnerabilities, euvd_lookup_by_id, euvd_licence_info |
| 11 | tools/gleif-lei-lookup | — (local MCP only) | GLEIF LEI API (api.gleif.org, CC0) incl. Level 2 direct/ultimate parent relationships | Yes | gleif_lei_lookup, gleif_search, gleif_ownership_chain, gleif_licence_info |
| 12 | tools/eu-vat-rates | — (local MCP only) | European Commission Taxes in Europe Database (TEDB) VAT retrieval web service (CC BY 4.0) | Yes | eu_vat_standard_rates, eu_vat_rates_lookup, eu_vat_rates_licence_info |
| 13 | tools/eu-safety-gate-alerts | itulo/eu-safety-gate-alerts | EU Safety Gate weekly reports (dangerous non-food products, CC0) | Yes | eu_safety_gate_alerts, eu_safety_gate_match, eu_safety_gate_reports, eu_safety_gate_licence_info |
| 14 | tools/uk-companies-house-kyb | itulo/uk-companies-house-kyb | UK Companies House Public Data API (your free key; company-level only, no officer/PSC names) + keyless GLEIF LEI & parent chain (CC0) | GLEIF modes keyless; Companies House needs a free key | — (Apify Actor only) |
| 15 | tools/france-sirene-company-search | itulo/france-sirene-company-search | Insee Sirene via API Recherche d'entreprises (recherche-entreprises.api.gouv.fr, Licence Ouverte 2.0); no sole traders; GDPR art. 21 marketing opt-outs excluded by default | Yes | — (Apify Actor only) |
@apify/actors-mcp-server)Add any combination of the 13 hosted actors (all 13 shown below) to your claude_desktop_config.json or .cursor/mcp.json:
{
"mcpServers": { "eu-nordic-open-data": { "command": "npx", "args": [ "-y", "@apify/actors-mcp-server", "--actors", "itulo/ted-tender-feed,itulo/prh-company-events,itulo/eu-sanctions-screen,itulo/fingrid-grid-signals,itulo/fmi-fingrid-nowcast,itulo/fmi-weather-warnings-alerts,itulo/eu-vies-vat-validator,itulo/ecb-fx-rates-macro,itulo/digitraffic-port-calls-marine,itulo/enisa-euvd-vulnerabilities,itulo/eu-safety-gate-alerts,itulo/uk-companies-house-kyb,itulo/france-sirene-company-search" ], "env": { "APIFY_TOKEN": "YOUR_APIFY_API_TOKEN" } } } }
examples/ contains importable n8n workflows (daily EU tender alert by CPV code to email or Slack, Finnish company events to Google Sheets, sanctions screening of a name list) and LangChain / LangGraph examples (MCP adapter agent over src/index.js, plus ApifyActorsTool with the hosted actor). See examples/README.md.
Clone the repository, install dependencies in any tool folder, and connect directly over stdio:
git clone https://github.com/itulo/eu-nordic-open-data-mcp.git
cd eu-nordic-open-data-mcp/tools/ted-tender-feed npm install npm test # Offline deterministic fixture unit tests (per tool; npm test at the repo root runs all 110 tests across 15 tools) npm run smoke # Live upstream API verification npm run mcp # Start stdio MCP server
Example local claude_desktop_config.json / .cursor/mcp.json:
{
"mcpServers": { "ted-tender-feed": { "command": "node", "args": ["/absolute/path/to/eu-nordic-open-data-mcp/tools/ted-tender-feed/src/mcp-server.js"] }, "eu-sanctions-screen": { "command": "node", "args": ["/absolute/path/to/eu-nordic-open-data-mcp/tools/eu-sanctions-screen/src/mcp-server.js"] }, "eu-vies-vat-validator": { "command": "node", "args": ["/absolute/path/to/eu-nordic-open-data-mcp/tools/eu-vies-vat-validator/src/mcp-server.js"] }, "ecb-fx-rates-macro": { "command": "node", "args": ["/absolute/path/to/eu-nordic-open-data-mcp/tools/ecb-fx-rates-macro/src/mcp-server.js"] }, "enisa-euvd-vulnerabilities": { "command": "node", "args": ["/absolute/path/to/eu-nordic-open-data-mcp/tools/enisa-euvd-vulnerabilities/src/mcp-server.js"] } } }
run-sync-get-dataset-items)Every actor can be called synchronously as a JSON REST endpoint:
curl -s -X POST \
"https://api.apify.com/v2/acts/itulo~ted-tender-feed/run-sync-get-dataset-items?token=${APIFY_TOKEN}" \ -H "Content-Type: application/json" \ -d '{"cpvCodes":["72000000"],"countries":["FIN","SWE"],"maxResults":5}'
LICENCE_REGISTER.md and licences.json (European Commission Decision 2011/833/EU, CC BY 4.0, CC0 1.0 (GLEIF, Safety Gate), NLOD 2.0 (Brreg), ECB Reuse Policy, and ENISA Legal Notice).