AI Incident Law
Public-record corpus of AI litigation, regulation, and enforcement, anchored to EveryAILaw.
README
AI Incident Law
When an AI system causes harm, the legal and regulatory fallout ends up scattered across dockets, tribunal orders, and agency actions with no common index. AI Incident Law is an open, searchable corpus of those public matters, queryable by both humans and agents.
It ships as a standalone, dependency-free single-page application over a curated dataset of public matters involving AI-related incidents, failures, and resulting legal or regulatory action.
Who this is for
Compliance teams, legal counsel, AI governance leads, and researchers tracking how AI failures turn into legal and regulatory action.
What problem it solves
AI incidents and their legal consequences are scattered across public records with no structured, searchable index. AI Incident Law is an open corpus of public AI-related matters, queryable by humans and agents.
Canonical URL
https://aiincidentlaw.org/
Install as an MCP server
Configure your MCP-aware agent client (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"ai-incident-law": {
"command": "npx",
"args": ["-y", "ai-incident-law"]
}
}
}
This pulls the ai-incident-law npm package on first run and exposes eight tools for querying the corpus by case attributes, anchored obligations, and verification freshness. See docs/legal-graph.html for a cross-graph example pairing this with the EveryAILaw MCP.
Part of the PAICE legal graph
AI Incident Law is one component of the PAICE legal graph (with EveryAILaw, PubLedge, and Obligation First). It is intentionally open: code under MIT, dataset under CC BY 4.0, commercial use permitted with attribution. The open siblings are funded by EveryAILaw Pro, the graph's single restricted layer; openness here is a deliberate PBC-charter choice. The canonical model is in the PAICE Foundation INTENT. Attribution: "AI Incident Law, PAICE.work PBC, CC BY 4.0".
Repo layout
index.htmlis the application shell.styles.cssis the local stylesheet.app.jshandles local search, filtering, and rendering.data/data.jsonis the canonical dataset for maintainers.data.jsis a generated browser bundle consumed byindex.html.api/v1/of/contains the generated Obligation-First binding for included public matters.mcp.jsonconfigures the local read-only MCP stdio server..well-known/mcp.jsonadvertises public MCP and static query endpoints.agents.jsonandrobots.txtadvertise agent-facing discovery metadata.scripts/mcp-server.jsexposes query tools for MCP clients.scripts/build-data.mjsnormalizes source data and regeneratesdata.js.scripts/build-obligation-first.mjsgenerates Obligation-First authorities, proceedings, allegations, and determinations.scripts/validate-data.mjsvalidates record shape, duplicate identifiers, and URL conventions.
Runtime properties
The shipped app still has no runtime dependencies:
- No framework
- No CDN
- No API calls
- No analytics
- No persistent browser storage
The footer displays the dataset freshness date from generated_at in the canonical JSON bundle. generated_at is derived automatically at build time from the newest record last_verified_date / last_checked_date, so the public freshness stamp tracks the data and never lags behind it.
Open index.html directly in a browser or host the folder on any static file server. Public-record links are outbound links and load only when selected.
Maintainer workflow
The repo uses Node.js only for maintainer tooling. There are no install-time dependencies.
npm run build:data
npm run build:of
npm run validate:data
npm run test:url-policy
npm run eval:url-policy
npm run test:mcp
npm run test:discovery
Or run the combined build and check:
npm run build
npm run check
To see which records are overdue for re-verification:
npm run report:staleness
To preview over a local static server:
npm run serve
Then open the local server in your browser.
Data conventions
data/data.jsonis the source of truth.data.jsis generated and should not be edited by hand.generated_atis derived by the build from the newest recordlast_verified_date/last_checked_date; do not hand-edit it. Validation fails if it lags behind the newest record date.- Source URLs are normalized to
https://bare domains during the build step. - Validation fails on duplicate record identifiers and malformed URL-field structure.
public_record_linkmust contain exactly one primary URL.secondary_source_linksandbest_available_sourcesare semicolon-delimited URL lists.- URL normalization is intentionally narrow: insecure HTTP scheme input is rewritten to
https://, leadingwww.is stripped, surrounding whitespace is trimmed, and the URL parser serializes the final value. - URL validation rejects appended prose, empty list entries, protocol-relative URLs, non-HTTP schemes, credentials, backslashes, encoded backslashes, embedded whitespace, control characters, and unsafe raw delimiters.
- URL-policy evals run malformed-source fixtures through the real build and validation scripts in temporary directories.
- Included records are exported to Obligation-First as
of:Proceeding,of:Allegation, and, when no longer pending,of:Determinationrecords. reviewandglobalrecords are editorial queues and are not exported to Obligation-First.
MCP access
AI Incident Law includes a zero-dependency, read-only MCP stdio server for local agent queries:
node scripts/mcp-server.js
MCP clients can use mcp.json. The public site advertises static discovery at https://aiincidentlaw.org/.well-known/mcp.json.
Advertised tools:
list_datasetslist_recordsget_recordsearch_recordslist_authoritiesget_authorityget_obligation_first_recordget_staleness_report
Repository metadata
- CONTRIBUTING.md documents the expected edit and review flow.
- SECURITY.md documents private security reporting expectations.
- ROADMAP.md captures near-term maintenance and curation priorities.
- docs/data-schema.md documents the dataset structure and field intent.
- validate.yml runs the build and validation pipeline on pushes and pull requests.
- LICENSE applies the MIT license to the software in this repository.
- DATA_LICENSE applies CC BY 4.0 to the dataset and generated data bundle.
Licensing
- Code and maintainer tooling are licensed under MIT.
This includes
index.html,styles.css,app.js,package.json, andscripts/. - Data is licensed under CC BY 4.0.
This includes
data/data.jsonand the generateddata.js. - If you reuse the dataset, provide attribution and indicate changes where applicable.
Attribution
Preferred dataset attribution:
AI Incident Law, PAICE.work PBC, CC BY 4.0.
Source project: https://aiincidentlaw.org/
If you publish an adapted version of the dataset, indicate that changes were made and retain a link to the CC BY 4.0 license:
https://creativecommons.org/licenses/by/4.0/
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。