A compliance lint for AI and scraping law

Lint your app against the world's AI and scraping laws.

Your coding agent declares what the app does and where it will run. LexLint returns findings: which obligations apply in each jurisdiction, with citations and freshness dates. It catches the basics early. It is not legal review.

https://mcp.lexlint.org/mcp Connect your agent → See a full run →
# your agent, before shipping lint_app_profile( activities=["crawls_web", "generates_content"], jurisdictions=["us", "eu", "kr"] )
WARNeuTDM opt-outs are enforceable rights reservationsDSM Directive Art. 4(3) · as of 2026-07-27
WARNeuGPAI training-data policy obligations may applyAI Act Art. 53 · as of 2026-07-27
INFOkrGenerated-content labeling duties phase inAI Framework Act · as of 2026-06-30
0 errors, 2 warnings, 1 info: review the warnings below # findings are research summaries, not legal advice

The same deal your linter makes.

A linter catches the bugs that are cheap to find and expensive to ship. It does not prove your program correct, and nobody mistakes a clean run for a QA sign-off. LexLint makes the same honest deal about law.

What it is

  • An early warning on the basics, while the code is still cheap to change
  • Jurisdiction-aware: the same app profile lints differently in the US, the EU, and South Korea
  • Cited: every finding carries its source and an as-of date
  • Honest about gaps: a jurisdiction without current data is a WARN, never a silent pass

What it is not

  • Not legal advice, and not a substitute for qualified counsel
  • Not a certification: the passing state is "no basic issues found," never "compliant"
  • Not an authorization to crawl or access any system
  • Not exhaustive: it lints the basics, the way a linter lints syntax and smells

Four tools, one job

lint_app_profile
The lint. Takes the activities your app performs and the jurisdictions it will operate in; returns findings with severity, citation, as-of date, and a staleness flag.
get_ai_law
One jurisdiction's AI-law entries, as tracked in the UnGovr corpus.
get_scraping_law
The scraping and access legality summary for a jurisdiction: robots.txt legal weight, TDM opt-out status, and a per-scenario access matrix.
resolve_domain_jurisdiction
Maps a domain to the jurisdiction whose law governs its operator, so your agent knows which law to lint against. Never guesses from server location.

The data underneath

Findings come from the UnGovr legal-data corpus: AI and scraping law tracked across every country, US states, and the EU, maintained continuously. LexLint consumes it through the same public API any developer can use, with your own UnGovr key. Every finding carries its citation and an as-of date, and links to a LexLint law note you can hand to counsel.

Get a free API key at https://www.ungovr.org/open-data/api-keys and see the documentation to connect Claude Code, Codex, or any MCP-compatible agent.