{"id":"bf6ecf46-4386-4530-869d-5e6856efbc18","slug":"aipolicytracker","kind":"mcp","name":"aipolicytracker","summary":"Open, source-backed AI policy and regulatory intelligence tracker","owner":"8h45k4r","repoUrl":"https://github.com/8h45k4r/aipolicytracker","license":"Apache-2.0","licenseTier":"permissive","trust":"community","stars":2,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-09-10T14:04:13.000Z","addedAt":"2026-10-21T21:52:56.265Z","logoUrl":"https://avatars.githubusercontent.com/u/15045469?u=8b8f733151d0ae61a17d829bc39d9651991b8233&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["data-analytics"],"tags":["ai-governance","ai-policy","ai-regulation","civic-tech","inertiajs","laravel","open-data","policy-tracker"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-21T21:53:17.740Z","sample":false,"url":"https://conduits.dev/tools/aipolicytracker","language":"PHP","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"\n<!-- web -->\n[homepage]: https://aipolicytracker.org\n[policies]: https://aipolicytracker.org/policies\n[obligations]: https://aipolicytracker.org/obligations\n[updates]: https://aipolicytracker.org/updates\n[opendata]: https://aipolicytracker.org/open-data\n[openapi]: https://aipolicytracker.org/openapi.json\n[llms]: https://aipolicytracker.org/llms.txt\n[subscribe]: https://aipolicytracker.org/subscribe\n[corrections]: https://aipolicytracker.org/corrections\n[methodology]: https://aipolicytracker.org/methodology\n[independence]: https://aipolicytracker.org/independence\n[freshness]: https://aipolicytracker.org/freshness\n[funding]: https://aipolicytracker.org/funding\n<!-- github -->\n[issues]: https://github.com/8h45k4r/aipolicytracker/issues/new?template=bug_report.yml\n[correction]: https://github.com/8h45k4r/aipolicytracker/issues/new?template=policy_data_correction.yml\n[features]: https://github.com/8h45k4r/aipolicytracker/issues/new?template=feature_request.yml\n[newsource]: https://github.com/8h45k4r/aipolicytracker/issues/new?template=new_jurisdiction_or_source.yml\n[advisory]: https://github.com/8h45k4r/aipolicytracker/security/advisories/new\n<!-- repo docs -->\n[devguide]: docs/developer-guide.md\n[architecture]: docs/architecture.md\n[docsindex]: docs/README.md\n[contributing]: CONTRIBUTING.md\n[security]: SECURITY.md\n[agents]: AGENTS.md\n<!-- badges -->\n[ci-badge]: https://github.com/8h45k4r/aipolicytracker/actions/workflows/ci.yml/badge.svg\n[ci]: https://github.com/8h45k4r/aipolicytracker/actions/workflows/ci.yml\n[security-badge]: https://github.com/8h45k4r/aipolicytracker/actions/workflows/security.yml/badge.svg\n[security-runs]: https://github.com/8h45k4r/aipolicytracker/actions/workflows/security.yml\n[codeql-badge]: https://github.com/8h45k4r/aipolicytracker/actions/workflows/codeql.yml/badge.svg\n[codeql]: https://github.com/8h45k4r/aipolicytracker/actions/workflows/codeql.yml\n[data-badge]: https://github.com/8h45k4r/aipolicytracker/actions/workflows/validate-data.yml/badge.svg\n[data-runs]: https://github.com/8h45k4r/aipolicytracker/actions/workflows/validate-data.yml\n[code-licence]: https://img.shields.io/badge/code-Apache--2.0-blue?style=flat-square\n[data-licence]: https://img.shields.io/badge/data-CC%20BY%204.0-blue?style=flat-square\n[release]: https://img.shields.io/github/v/release/8h45k4r/aipolicytracker?style=flat-square&label=release\n[stars]: https://img.shields.io/github/stars/8h45k4r/aipolicytracker?style=flat-square\n[commit]: https://img.shields.io/github/last-commit/8h45k4r/aipolicytracker?style=flat-square\n\n<div align=\"center\">\n\n<a href=\"https://aipolicytracker.org\">\n  <picture>\n    <source media=\"(prefers-color-scheme: dark)\" srcset=\"public/brand/logo-on-dark.svg\">\n    <img src=\"public/brand/logo-on-light.svg\" alt=\"AIPolicyTracker\" width=\"320\">\n  </picture>\n</a>\n\n[![CI][ci-badge]][ci]\n[![Security][security-badge]][security-runs]\n[![CodeQL][codeql-badge]][codeql]\n[![Validate policy data][data-badge]][data-runs]\n<br>\n[![Code licence][code-licence]](LICENSE)\n[![Data licence][data-licence]](data/LICENSE)\n[![Release][release]](https://github.com/8h45k4r/aipolicytracker/releases)\n[![Last commit][commit]](https://github.com/8h45k4r/aipolicytracker/commits/main)\n[![Stars][stars]](https://github.com/8h45k4r/aipolicytracker/stargazers)\n\n### The open, source-backed record of the world's AI laws and the duties they create\n\n_Every record links its official source, says whether a named person has checked it, and has a permanent id you can cite._\n\n[__Open the tracker »__][homepage]\n<br>\n[Open data & API][opendata] ·\n[Report a correction][correction] ·\n[Report a bug][issues] ·\n[Request a feature][features] ·\n[Developer guide][devguide] ·\n[Architecture][architecture]\n\n</div>\n\n<details open=\"open\">\n<summary>Contents</summary>\n<ol>\n<li><a href=\"#about-the-project\">About the project</a></li>\n<li><a href=\"#whats-in-the-record\">What's in the record</a></li>\n<li><a href=\"#using-the-data\">Using the data</a></li>\n<li><a href=\"#mcp-server-for-ai-agents\">MCP server for AI agents</a></li>\n<li><a href=\"#running-it-locally\">Running it locally</a></li>\n<li><a href=\"#project-structure\">Project structure</a></li>\n<li><a href=\"#frequently-asked-questions\">Frequently asked questions</a></li>\n<li><a href=\"#contributing\">Contributing</a></li>\n<li><a href=\"#security\">Security</a></li>\n<li><a href=\"#citing\">Citing</a></li>\n<li><a href=\"#licence\">Licence</a></li>\n<li><a href=\"#who-runs-it\">Who runs it</a></li>\n<li><a href=\"#acknowledgements\">Acknowledgements</a></li>\n</ol>\n</details>\n\n## About the project\n\n[__AIPolicyTracker__][homepage] is an open tracker of AI laws, policies and the duties they create.\n\nIt covers 249 jurisdictions: 197 countries, including every UN member state, 5 supranational bodies, 31 states\nand provinces, 14 regions and cities, and 2 territories. It pays extra attention to the regions most trackers\nskip: South Asia, South-East Asia, Africa and Latin America. Laws are broken down into obligations, the\nobligations are linked to controls and evidence, and the whole dataset can be browsed, downloaded, queried\nthrough an API or read by AI agents.\n\n> [!IMPORTANT]\n> Nothing here is legal advice. Check the official source before you rely on a record. Each record says whether\n> a person has checked it against that source, and [how fast changes reach the record][freshness] is measured in public.\n\n### How it works\n\nThe records are plain YAML files in [`data/`](data), one per jurisdiction, instrument and control, each checked\nagainst a JSON Schema. Every deploy validates them and rebuilds the database from them, so a correction is a\nreviewable diff with its source attached. The site, the API, the feeds, the alerts and the MCP server all read\nthat one database.\n\n<details>\n<summary><b>Architecture at a glance</b></summary>\n<br>\n\n```mermaid\nflowchart LR\n  subgraph Source[\"Source of truth (this repository)\"]\n    YAML[\"data/*.yaml<br/>jurisdictions · instruments<br/>obligations · changes · controls\"]\n    Schema[\"data/schema/*.json\"]\n  end\n  subgraph App[\"Laravel application\"]\n    Import[\"policy:import<br/>(validate, then rebuild)\"]\n    DB[(\"PostgreSQL<br/>read model\")]\n    Web[\"Public site<br/>(Blade)\"]\n    API[\"REST API v1<br/>+ OpenAPI\"]\n    Feeds[\"RSS · iCal · sitemaps<br/>llms.txt · Markdown\"]\n    Jobs[\"Scheduler<br/>digest · alerts · syncs\"]\n  end\n  Agent[\"MCP server<br/>agent/server.mjs\"]\n  YAML --> Import\n  Schema --> Import\n  Import --> DB\n  DB --> Web\n  DB --> API\n  DB --> Feeds\n  DB --> Jobs\n  API --> Agent\n  People((Readers)) --> Web\n  Dev((Developers)) --> API\n  AI((AI assistants)) --> Agent\n```\n\nThe full design, components and decisions are in [`docs/architecture.md`][architecture].\n\n</details>\n\n## What's in the record\n\n| | Today | Where |\n|---|---|---|\n| Jurisdictions | 249 | [`data/jurisdictions/`](data/jurisdictions) |\n| Laws, regulations, strategies and guidance | 244, of which 184 are verified by a named reviewer | [`data/policies/`](data/policies) |\n| Obligations broken out of those instruments | 117, each citing its article or section | inside each instrument file |\n| Dated changes | 154 | [`data/changes/`](data/changes) |\n| Controls that meet the obligations | 26, each with the evidence it produces and references to standards such as ISO/IEC 42001 and the NIST AI RMF | [`data/controls/`](data/controls) |\n\nEvery policy, obligation, change and control has a permanent id (`AIPT-POL-0073`) that never changes or gets\nreused. `https://aipolicytracker.org/id/{id}` always resolves it, wherever the record lives.\n\nThe site also carries the AI Incident Database and the MIT AI Risk Repository, linked to the laws on record that\naddress each harm, plus an enforcement tracker, an AI economic transition tracker and a templates library\ngenerated from the records.\n\n## Using the data\n\n<details open>\n<summary><b>Browse and follow</b></summary>\n\n- [Laws and policies][policies], [obligations][obligations] and [what changed][updates]\n- A [weekly digest][subscribe], RSS feeds per jurisdiction, and calendar feeds of application dates\n- Every record has a \"Report a correction\" link; [`/corrections`][corrections] shows what happened to each report\n\n</details>\n\n<details>\n<summary><b>Download</b></summary>\n\n- CSV and NDJSON for jurisdictions, policies, obligations, controls, changes and deadlines, plus a full JSON\n  export, from the [open data page][opendata]\n- Each record as JSON (`/policies/{slug}.json`) or as a Markdown context file with a provenance block\n  (`/policies/{slug}.md`)\n\n</details>\n\n<details>\n<summary><b>Query the API</b></summary>\n\nA read-only REST API under `/api/v1`, described by an [OpenAPI document][openapi]:\n\n```bash\ncurl -s \"https://aipolicytracker.org/api/v1/policies?jurisdiction=eu&per_page=5\"\ncurl -s \"https://aipolicytracker.org/api/v1/obligations?category=transparency\"\ncurl -s \"https://aipolicytracker.org/api/v1/changes?since=2026-01-01\"\n```\n\nEndpoints cover jurisdictions, policies, obligations, controls, changes, deadlines (including which dates apply\nto one organisation), frameworks and crosswalks, incidents, risks, the transition tracker, enforcement,\nimplementation measures and templates.\n\n</details>\n\n<details>\n<summary><b>For AI assistants and search</b></summary>\n\n- [`/llms.txt`][llms] and `/llms-full.txt` describe the corpus, its caveats and how to cite it\n- The [MCP server](#mcp-server-for-ai-agents) below lets an assistant look records up instead of scraping pages\n\n</details>\n\nThe data is CC BY 4.0. Credit \"AIPolicyTracker\", link to the record you used, and cite its permanent id.\n\n## MCP server for AI agents\n\n[`agent/server.mjs`](agent) is a read-only [Model Context Protocol](https://modelcontextprotocol.io) server with no\ndependencies. It speaks JSON-RPC over stdio and calls the same public URLs a browser would, so an assistant can\nsearch policies, resolve permanent ids, read obligations, check which deadlines apply, and see how far the corpus\ncan be trusted before it quotes a record.\n\n<details>\n<summary><b>Add it to an MCP client</b></summary>\n\n```json\n{\n  \"mcpServers\": {\n    \"aipolicytracker\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/aipolicytracker/agent/server.mjs\"]\n    }\n  }\n}\n```\n\nSet `AIPOLICYTRACKER_BASE_URL` to point it at a local instance. The full tool list is in\n[`agent/README.md`](agent/README.md).\n\n</details>\n\n## Running it locally\n\nYou need PHP 8.3+ with the `pdo_sqlite`, `mbstring`, `intl`, `gd`, `zip`, `xml`, `fileinfo`, `iconv` and\n`bcmath` extensions (`composer check-platform-reqs` lists anything missing), Composer 2, and Node (the version in\n[`.nvmrc`](.nvmrc)). Nothing needs a network connection or an API key: the external datasets are committed, and\nthe built front end is in `public/build`.\n\n```bash\ngit clone https://github.com/8h45k4r/aipolicytracker.git && cd aipolicytracker\ncomposer install\ncp .env.example .env && php artisan key:generate\ntouch database/database.sqlite\nphp artisan migrate --seed\nphp artisan policy:import      # build the database from data/\nphp artisan external:import    # AI incidents and the MIT risk repository\nphp artisan serve              # then open http://127.0.0.1:8000\n```\n\n<details>\n<summary><b>Front end, tests and checks</b></summary>\n\nOnly to change the front end (`resources/js`, `resources/css`): run `npm ci` once and `npm run dev` in a second\nterminal. Without them the site uses the committed build in `public/build`.\n\nBefore you open a pull request:\n\n```bash\ncomposer lint                   # Laravel Pint\ncomposer test                   # the PHP suite (SQLite)\nnpm run lint && npm run build   # ESLint, then rebuild public/build if the front end changed\nphp artisan policy:validate     # the data files against their schemas and cross-references\n```\n\n</details>\n\n<details>\n<summary><b>Docker</b></summary>\n\nThe production image is built from the [`Dockerfile`](Dockerfile) and run with Docker Compose. See\n[`deploy/README-docker.md`](deploy/README-docker.md) for the compose setup, the scheduler, backups and automatic\ndeploys.\n\n</details>\n\nThe [developer guide][devguide] covers everything else: the test suites, artisan commands, CI and releases.\n\n## Project structure\n\n```text\ndata/            the records (YAML) and their JSON Schemas: the source of truth\napp/             Laravel application: importers, services, controllers, console commands\nresources/       Blade views, CSS and the React account screens\nroutes/          public site, API, admin and console routes (the scheduler is in routes/console.php)\ndatabase/        migrations and seeders\nagent/           the MCP server\ntests/           feature and unit tests (PHP), and tests/js for the front end\ndeploy/, docker/ the Docker image, compose files and runbooks\ndocs/            developer guide, architecture, modules, operations, reference and archive\n```\n\nThe [documentation index][docsindex] lists every guide.\n\n## Frequently asked questions\n\n<details>\n<summary><b>What is AIPolicyTracker?</b></summary>\n\nAn open, source-backed tracker of AI laws, regulations, strategies and guidance in 249 jurisdictions. It breaks\nlaws down into the obligations they create, links each obligation to the article it comes from, and records dated\nchanges, deadlines and the controls that meet the obligations.\n\n</details>\n\n<details>\n<summary><b>Is it free, and can I reuse the data?</b></summary>\n\nYes. The site, the API and the downloads are free. The data is CC BY 4.0: reuse it for any purpose, including\ncommercial use, if you credit \"AIPolicyTracker\" and link the record. The code is Apache 2.0.\n\n</details>\n\n<details>\n<summary><b>How do I know a record is accurate?</b></summary>\n\nEvery record links its official source and says whether a named reviewer has checked it against that source, and\nwhen. Records not yet checked say so. Mistakes and their fixes are public on the [corrections log][corrections], and\nthe [methodology][methodology] explains how records are made and verified. Nothing here is legal advice.\n\n</details>\n\n<details>\n<summary><b>Does it cover the EU AI Act?</b></summary>\n\nYes, with its obligations broken out article by article, its application dates (including later amendments), the\nimplementation measures it depends on, and the standards behind it.\n\n</details>\n\n<details>\n<summary><b>Can an AI assistant use it?</b></summary>\n\nYes. Point an MCP client at the [MCP server](#mcp-server-for-ai-agents), or read [`/llms.txt`][llms] and the\nMarkdown version of any record. Both carry the record's provenance, so an answer can cite its source.\n\n</details>\n\n<details>\n<summary><b>How do I report a mistake or suggest a law?</b></summary>\n\nUse \"Report a correction\" on the record's page, [open a correction issue][correction], or\n[suggest a new law or jurisdiction][newsource] with its official source.\n\n</details>\n\n## Contributing\n\nData corrections are the most useful contribution, and each needs an official source.\n\n- **A record is wrong or out of date:** use \"Report a correction\" on the record's page, or [open a correction][correction]\n- **A law or jurisdiction is missing:** [suggest it with its official source][newsource]\n- **Code:** read [`CONTRIBUTING.md`][contributing] and the [developer guide][devguide], then open a pull request\n  using the template. AI coding agents should read [`AGENTS.md`][agents] first.\n\n[`SOURCE_ATTRIBUTION.md`](SOURCE_ATTRIBUTION.md) lists which sources count, and\n[`GOVERNANCE.md`](GOVERNANCE.md) explains how decisions are made. Everyone taking part follows the\n[Code of Conduct](CODE_OF_CONDUCT.md).\n\n## Security\n\nPlease do not open a public issue for a security problem. Report it privately through\n[GitHub's advisory form][advisory] or by email, as described in [`SECURITY.md`][security].\n\n## Citing\n\nCite a record by its title, permanent id, record version and verification, as each page's \"Cite this record\"\nblock gives it:\n\n```text\nAIPolicyTracker (2026). \"<title>\" [AIPT-POL-0073, record version <n>, verified <date> by <reviewer>].\nhttps://aipolicytracker.org/id/AIPT-POL-0073 (accessed <date>).\n```\n\nTo cite the dataset as a whole, use [`CITATION.cff`](CITATION.cff); GitHub's \"Cite this repository\" button reads it.\n\n## Licence\n\n- **Code:** [Apache 2.0](LICENSE)\n- **Data:** [CC BY 4.0](data/LICENSE)\n- **Third-party data** keeps its own licence: incidents from the AI Incident Database (CC BY-SA 4.0) and the risk\n  taxonomy from the MIT AI Risk Repository (CC BY 4.0). See [`NOTICE`](NOTICE) and [`third_party/`](third_party).\n\n## Who runs it\n\nAIPolicyTracker is built and maintained by [Bhaskar Bhatt](https://bhaskar.com.np/). Contact\n[bhaskar@aipolicytracker.org](mailto:bhaskar@aipolicytracker.org).\n\n**Independent data reviewer:** Joyce Loksee Ho reviews data changes for accuracy against official\nsources. Her appointment, roster entry and declaration of interest are being set up; see\n[`GOVERNANCE.md`](GOVERNANCE.md) for the current status.\n\n[How the project is funded][funding] is public, including its rules on independence. The maintainer is also\nassociated with Certifyi, a commercial compliance product. That product has no editorial say over what the\nrecords contain; [`CONFLICT_OF_INTEREST.md`](CONFLICT_OF_INTEREST.md) sets out the binding rules and\n[`/independence`][independence] explains the relationship and what is not yet independent.\n\n## Acknowledgements\n\nThe tracker stands on public work by others:\n\n- The official sources of every government, regulator and legislature it records\n- The [AI Incident Database](https://incidentdatabase.ai/) (Responsible AI Collaborative)\n- The [MIT AI Risk Repository](https://airisk.mit.edu/)\n- [Laravel](https://laravel.com/), [Inertia](https://inertiajs.com/), [React](https://react.dev/),\n  [Tailwind CSS](https://tailwindcss.com/) and [Vite](https://vite.dev/)\n- [amCharts](https://www.amcharts.com/) for the world map\n\nIf the tracker is useful to you, a star on the repository helps others find it.\n"}