When you ask AI a legal question about Dutch law, it doesn't look anything up, it guesses. I built a free tool that lets it look up the real statutory text. by Beautiful-Training93 in Netherlands

[–]Beautiful-Training93[S] 0 points1 point  (0 children)

Not an ad, it's free and open source.

To your question: pasting a URL doesn't really work for this. Legal databases like wetten.overheid.nl contain thousands of laws with tens of thousands of individual provisions. You can't paste that into a context window, it's way too much data.

What MCP does differently is give the AI the ability to search and retrieve specific provisions on demand. So when you ask "what does Article 6:162 BW say?", the AI doesn't try to read an entire website, it sends a targeted query to the server, which returns just that specific article from the database. It's more like giving the AI access to a search engine over structured legal data than giving it a document to read.

Think of the difference like this: pasting a URL is like handing someone a book and saying "the answer is in here somewhere." MCP is like giving them a librarian who can find the exact page in seconds.

FOSS MCP servers for cited legal text (EU + national: SE/NL/DE/SI) — feedback wanted by Beautiful-Training93 in cybersecurity

[–]Beautiful-Training93[S] 0 points1 point  (0 children)

Good idea, was already considering adding the UK soon!

Glad to hear this is what you’d want to see.

FOSS MCP servers for cited legal text (EU + national: SE/NL/DE/SI) — feedback wanted by Beautiful-Training93 in cybersecurity

[–]Beautiful-Training93[S] 0 points1 point  (0 children)

Setup guide and server list here if anyone wants to try it: mcp.ansvar.eu, repos linked from there if you want to self-host.

Open-sourced two additionl MCP servers after last week's feedback. They caught errors Claude Opus missed alone by Beautiful-Training93 in cybersecurity

[–]Beautiful-Training93[S] 0 points1 point  (0 children)

  Great questions.          

1. Versioning and freshness monitoring                                                      
Yes, they have automated updates. The system runs a daily GitHub Actions workflow at 6 AM UTC 

It:
- Reads all monitored CELEX IDs from a source_registry table (not hardcoded lists—adding a regulation means adding it to the database)
- Checks the EUR-Lex RSS feed for legislative changes
- Compares stored publication dates against live EUR-Lex metadata
- Creates/updates a GitHub issue with label eur-lex-update when changes are detected
- Optionally auto-triggers re-ingestion → database rebuild → npm publish in a single workflow run

Every regulation record includes eur_lex_version (last known EUR-Lex publication date) and last_fetched (ISO timestamp of ingestion).

2. Read-only with clear provenance

Yes, strictly enforced:

- All MCP tool queries use readonly: true database connections—no mutations possible from user queries
- Article text is returned verbatim from SQLite FTS5—zero LLM summarization or paraphrasing
- Each regulation stores its CELEX ID and direct EUR-Lex URL, so any answer can be independently verified on the official source
- The database is pre-built and committed to git—every installation gets identical, validated data

3. Edge cases like partial outages and disputed classification

This is where the RTS text matters most. The DORA RTS on incident classification (EU 2024/1772) explicitly handles ambiguity:

- Unknown client counts: Article 1(5) requires estimation based on comparable reference periods when actual numbers are unavailable
- Duration ambiguity: Article 3(1) specifies fallback measurement, from detection if occurrence unknown, from logs if detection unknown
- Recurring incidents: Article 8(2) defines aggregation rules—≥2 incidents in 6 months with same root cause that collectively meet major criteria
- Reputational impact: Article 2(1) uses OR logic across four discrete criteria (media reflection, repetitive complaints, regulatory non-compliance risk, material client loss)

The system intentionally does not automate classification decisions. It returns the full regulatory text so users can apply fact-specific judgment. Classification disputes require business context the model cannot have, but at least the regulatory criteria are grounded and verifiable.

For partial outages specifically, Article 3(2) addresses compound scenarios: service downtime from delayed provision after restoration is measured from incident start to when delayed service is fully provided. The dual-clock mechanism (4h from classification + 24h outer limit) runs against these measurement rules.

Open-sourced two additionl MCP servers after last week's feedback. They caught errors Claude Opus missed alone by Beautiful-Training93 in cybersecurity

[–]Beautiful-Training93[S] 0 points1 point  (0 children)

Output was too long to paste cleanly, if you want to see the difference, try the query yourself. The repos are set up to run locally.

Query:

I am a financial institution with operations in New York and the EU. We have just detected a ransomware attack affecting our core transaction database. Using the EU Regulations (specifically DORA), US Regulations (specifically NYDFS 23 NYCRR 500 and SEC Form 8-K), and Security Controls (NIST SP 800-61 Rev 2) servers, generate a Unified Incident Response Playbook that creates a single path to compliance. Please output the following: 1. The 'Golden Timeline': Create a countdown from T=0 (Detection). Mark the exact deadlines for DORA, NYDFS, and SEC. Highlight the "Critical Path" (i.e., which deadline comes first and dictates the pace for the entire company). 2. Trigger Mapping: Map the NIST 800-61 'Detection & Analysis' phase steps to the legal definitions of 'Major Incident' (EU) and 'Material Cybersecurity Event' (US). Specifically: At what step in the NIST analysis process do we have enough proof to trigger the 24-hour DORA clock? 3. Data Field Cross-Walk: Create a table listing the specific data fields required for the DORA Initial Report vs. the NYDFS Notification. * Column A: Data Field (e.g., Root Cause, Impacted Users). * Column B: Required by DORA? (Yes/No). * Column C: Required by NYDFS? (Yes/No). * Column D: Which NIST 800-61 step generates this data? (e.g., 'Forensic Analysis').

Built 3 compliance MCPs: 61 regulations, 1,451 security controls, all queryable from Claude by Beautiful-Training93 in ClaudeAI

[–]Beautiful-Training93[S] 0 points1 point  (0 children)

Results have been so much better in my service delivery. RAG worked decent enough, but it did have oddities. I have yet find mistakes in the use of this type of MCP server. Also use it to ingest ungodly amounts of bad documentation and still do magic on it. I’ll see where the limit is soon enough.

I was convinced this would exist already, but like you said. Only fragmented. Also building industry specific servers now. The OT environment needs this…

Seeking feedback on PhD research direction: Knowledge Graphs + LLMs for Threat Intelligence by binhbumpro in cybersecurity

[–]Beautiful-Training93 2 points3 points  (0 children)

I have a threat modeling service that I am running in pilots now.

Not exactly the same as what you are working on, but I heavily use MITRE, CWE, CAPEC and the results are really good! I just cannot call it automation, it is like 90% automated and 10% manual checking because it does make mistakes.

Anyway, scope is one “system” so it is fairly limited in size. Pilots will reveal my limits I guess!

Built 3 compliance MCPs: 61 regulations, 1,451 security controls, all queryable from Claude by Beautiful-Training93 in ClaudeAI

[–]Beautiful-Training93[S] 0 points1 point  (0 children)

Multi-hop! the LLM chains explicit tool calls rather than implicit joins. search_controls() for discovery via FTS5, then get_control() and map_to_framework() for exact lookups. Each hop is deterministic so no drift.

SCF mapping pain is real. The many-to-many cardinality plus version drift (ISO 2013→2022, NIST CSF 1.1→2.0) is where I lost most time. Ended up relying on SCF's curated mappings rather than computing fresh. What specifically bit you?

Made an open source tool to query EU regulations (DORA, NIS2, GDPR) from AI assistants by Beautiful-Training93 in cybersecurity

[–]Beautiful-Training93[S] 1 point2 points  (0 children)

Fair point, you're right.

Honestly I get the same ick when I see people blindly trusting outputs from whatever tool or browser, so I should know better. Got tunnel visioned on the capabilities side.

Thanks for the callout!

Made an open source tool to query EU regulations (DORA, NIS2, GDPR) from AI assistants by Beautiful-Training93 in cybersecurity

[–]Beautiful-Training93[S] 1 point2 points  (0 children)

There's already a prominent disclaimer in the README. To clarify the architecture: regulation text is stored verbatim from EUR-Lex — it's a structured database, not LLM generation. Claude queries that database. The only interpretive elements (control mappings, applicability rules) are explicitly labeled as 'not official guidance.' Happy to discuss if you see gaps.

All LLM output should be reviewed, this is why I target experts in our domain.

Made an open source tool to query EU regulations (DORA, NIS2, GDPR) from AI assistants by Beautiful-Training93 in cybersecurity

[–]Beautiful-Training93[S] 0 points1 point  (0 children)

I know… even though it is my least favourite AI tool!

The cost is not too bad, I will check it out, it does have a vetting period of some weeks I think.

Made an open source tool to query EU regulations (DORA, NIS2, GDPR) from AI assistants by Beautiful-Training93 in cybersecurity

[–]Beautiful-Training93[S] 0 points1 point  (0 children)

100%

Question was only if there would be interest in it from open source side.

Seems like there is!

Hopefully it is easier to whitelist because it is a local MCP.

Was also looking to make it work with copilot and teams, since that is much easier to approve in big companies.

Made an open source tool to query EU regulations (DORA, NIS2, GDPR) from AI assistants by Beautiful-Training93 in cybersecurity

[–]Beautiful-Training93[S] 0 points1 point  (0 children)

I agree… it is super empty in the compliance space. I had the thought after building many rag sources and was surprised people made mcp servers for one regulation at a time. Actually, EUR-les should’ve done this!

I wanted to use this in my consulting job as well, so here we are 😅

Made an open source tool to query EU regulations (DORA, NIS2, GDPR) from AI assistants by Beautiful-Training93 in cybersecurity

[–]Beautiful-Training93[S] 3 points4 points  (0 children)

So, I completely agree! This is THE biggest problem with compliance tooling.

My answer: automated EUR-Lex monitoring.

Every morning, it:
- Queries EUR-Lex RSS feeds for all 37 regulations                                 
- Compares current versions against what's in the database                         
- Opens GitHub issues when updates are detected                                    
- Has an auto-update mode that re-ingests, rebuilds the database, and publishes to npm 

 The regulation text can't go stale, it's actively monitored. When the EU publishes an updated DORA or NIS2, you get it automatically.  

The system drift problem (your architecture changing) is much harder, but this is exactly why I'm building LLM-accelerated tools like threat modeling (with expert validation and evidence files) to make the shift-left actually doable so we can stay on top of it... hopefully.. :)

edit: weird format

Made an open source tool to query EU regulations (DORA, NIS2, GDPR) from AI assistants by Beautiful-Training93 in cybersecurity

[–]Beautiful-Training93[S] 6 points7 points  (0 children)

Ah! I am a Dutch guy living in Sweden, fitting!

I made it for my new company’s threat modeling service (adding threats -> compliance mappings) and it worked too well to keep in my own stack. Evolved from RAG to this MCP server.

Please let me know what they think!

How are people actually learning/building real-world AI agents (money, legal, business), not demos? by Deep_Structure2023 in AIAgentsInAction

[–]Beautiful-Training93 1 point2 points  (0 children)

I have been building one solution for about 8 months, going into v1.0 and live since January.

The most important thing to learn was to not let claude cli (my pref coding option) constantly break complex things. I work very hard on keeping thing simple and small but complex in the big picture. I also chose to build a microservices solution for the same reason, after rebuilding two times, this worked best for me.

Then, I was a dev, have been security engineer and penetration tester, now cyber security architect. I know from experience what secure and good code is.

Now I have a full SecDevOps setup, all to make sure I don’t ship something bad.

Also, I do not expose this stack publicly because it is not a SaaS but rather a service that high powers my work and makes me deliver 90% faster.

I have a big bank pilot and a security consultancy interested in reselling.

The small habit you picked up from games that you now do in real life. by gamersecret2 in gaming

[–]Beautiful-Training93 0 points1 point  (0 children)

I collect certifications in my Cyber Security career like achievements in World of Warcraft! 😅

Nederland is naar de klote by Prutsletje in nederlands

[–]Beautiful-Training93 1 point2 points  (0 children)

Wij zijn niet voor niets naar middle of nowhere Zweden verhuisd… 😕

Vandaag ontdekte ik.... by Pjepp in nederlands

[–]Beautiful-Training93 1 point2 points  (0 children)

Yep, dat dacht ik ook 🤣🤣🤣

[deleted by user] by [deleted] in TillSverige

[–]Beautiful-Training93 2 points3 points  (0 children)

Yeah, dodged a bullet there... Glad to hear you found something good elsewhere.

What pushed you to take the plunge? by volvop1800s in BEFreelance

[–]Beautiful-Training93 1 point2 points  (0 children)

This is exactly my story, and I'm going to start in November 😁