Skip to content

AI Law Tracker

by ai-law-tracker.com · remote · no sign-in to list tools · v1.0.1 · published by com.ai-law-tracker

Audited AI-regulation data: laws, bills, news and obligations across US, EU and 62 jurisdictions

Changes · 4

30 tools: 4 change things and 26 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http ai-law-tracker https://ai-law-tracker.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

30 tools

Changes things 4Claude Code: ask
  • assess_ai_complianceThe compliance-report engine (deterministic, no LLM — cannot hallucinate) as a tool.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The compliance-report engine (deterministic, no LLM — cannot hallucinate) as a tool. Give a business profile; get the applicable AI-law obligations plus a reproducible 1–10 risk score with a named factor breakdown. `state` and `sector` are required. Paid feature (Pro+); lower tiers get a preview (risk band + counts + one sample obligation). NOT legal advice.

    Annotations the server declares

    • title: Assess AI compliance risk
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • create_free_keyMint a FREE-tier API key and email it to the given address (the key is also returned once here).No findings

    Why it is in this group

    • The name "create_free_key" says "create": a word for a change.
    Description, as the server wrote it
    Mint a FREE-tier API key and email it to the given address (the key is also returned once here). Paste that key into the connector's x-api-key header to unlock full fields, filters and higher limits. One active free key per email.

    Annotations the server declares

    • title: Get a free API key
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • generate_compliance_reportGenerate the personalized, source-grounded AI-law COMPLIANCE REPORT for a business profile — the same deterministic engine behind the $79 report product (no LLM in the grounded pat…No findings

    Why it is in this group

    • The name "generate_compliance_report" says "generate": a word for a change.
    Description, as the server wrote it
    Generate the personalized, source-grounded AI-law COMPLIANCE REPORT for a business profile — the same deterministic engine behind the $79 report product (no LLM in the grounded path, so it cannot invent a statute, deadline, or penalty). Returns the risk assessment (1–10 score + applicable obligations) PLUS a signed download_url for the rendered PDF. `state` and `sector` are required. Paid feature (Pro+); lower tiers get a preview (risk band + counts + one sample obligation) with the PDF/download withheld and an upgrade hint returned verbatim. Every obligation is anchored to a real law + primary source. Informational only — NOT legal advice. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: Generate an AI compliance report (PDF)
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • start_checkoutCreate a hosted checkout link to upgrade to a paid API plan (starter $49, pro $99, business $299 / month).No findings

    Why it is in this group

    • The name "start_checkout" says "start": a word for a change.
    Description, as the server wrote it
    Create a hosted checkout link to upgrade to a paid API plan (starter $49, pro $99, business $299 / month). Returns a checkout_url the user opens in a browser; payment happens on our own checkout, and on success the user's API key is upgraded automatically. Does not modify any data.

    Annotations the server declares

    • title: Start a paid-plan checkout
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Only reads 26Claude Code: allow
  • get_ai_deadlinesThe upcoming AI-law effective / compliance-date calendar, derived deterministically from the curated corpus (no LLM).No findings

    Why it is in this group

    • The name "get_ai_deadlines" says "get": a word for reading.
    Description, as the server wrote it
    The upcoming AI-law effective / compliance-date calendar, derived deterministically from the curated corpus (no LLM). Each entry carries the verbatim source deadline text + primary-source URL; jurisdictions whose deadline text has no explicit date are reported only as meta.undated (never given an invented date). Free at every tier. This tool returns JSON; a compliance team can also SUBSCRIBE to the same feed as a live RFC 5545 calendar at https://ai-law-tracker.com/api/v1/deadlines?format=ical (webcal). NOT legal advice.

    Annotations the server declares

    • title: Get upcoming AI-law deadlines
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_ai_lawFetch a single AI-law record by its stable id (the id field from search_ai_laws / list_ai_laws).No findings

    Why it is in this group

    • The name "get_ai_law" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single AI-law record by its stable id (the id field from search_ai_laws / list_ai_laws). Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: Get one AI law
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_ai_obligationsThe interpreted "what must I do" layer: who must do what, by when, or owe what penalty, for a jurisdiction and/or sector.No findings

    Why it is in this group

    • The name "get_ai_obligations" says "get": a word for reading.
    Description, as the server wrote it
    The interpreted "what must I do" layer: who must do what, by when, or owe what penalty, for a jurisdiction and/or sector. Every obligation is grounded in a real law record + primary source (no LLM). Provide at least a jurisdiction or a sector. Paid feature (Pro+); lower tiers get a one-item preview with an upgrade hint. NOT legal advice.

    Annotations the server declares

    • title: Get AI-law obligations
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_ai_penaltiesThe penalty & enforcement dataset for the applicable laws: monetary/other penalty, enforcing body, citation and primary source, plus a sector-level penalty-structure summary.No findings

    Why it is in this group

    • The name "get_ai_penalties" says "get": a word for reading.
    Description, as the server wrote it
    The penalty & enforcement dataset for the applicable laws: monetary/other penalty, enforcing body, citation and primary source, plus a sector-level penalty-structure summary. Provide at least a jurisdiction or a sector. Paid feature (Developer+); lower tiers get a one-item preview. NOT legal advice.

    Annotations the server declares

    • title: Get AI-law penalties
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_api_statusLiveness + backend status of the AI Law Tracker data API.No findings

    Why it is in this group

    • The name "get_api_status" says "get": a word for reading.
    Description, as the server wrote it
    Liveness + backend status of the AI Law Tracker data API.

    Annotations the server declares

    • title: Get API status
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_billOne curated landmark bill by slug: its core fields, tiered source URLs, citations (identifier + audited aka), and cross-links.No findings

    Why it is in this group

    • The name "get_bill" says "get": a word for reading.
    Description, as the server wrote it
    One curated landmark bill by slug: its core fields, tiered source URLs, citations (identifier + audited aka), and cross-links. Where a matching live record exists, the response binds the change-timeline link (use get_law_history). Served from the primary-sourced registry (no LLM); a missing binding simply omits the history link, never fabricates one. Use list_bills for valid slugs. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: Get one landmark AI bill
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_enforcement_coverageHow big the enforcement registry actually is: matters held, matters publishable, how many are withheld as duplicates or pending translation, breakdowns by agency, matter type and j…No findings

    Why it is in this group

    • The name "get_enforcement_coverage" says "get": a word for reading.
    Description, as the server wrote it
    How big the enforcement registry actually is: matters held, matters publishable, how many are withheld as duplicates or pending translation, breakdowns by agency, matter type and jurisdiction, and the de-duplicated monetary relief total. Use it to state coverage honestly — the number of matters a search can return is smaller than the number held, and the registry is a few dozen matters, not a comprehensive index of US AI enforcement. Free at every tier, no key needed. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: Get enforcement registry coverage
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_enforcement_matterFetch one enforcement matter by its matter_uid (from search_enforcement_matters) with its full chain: the event timeline, the parties, the relief imposed and its dollar amount, the…No findings

    Why it is in this group

    • The name "get_enforcement_matter" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one enforcement matter by its matter_uid (from search_enforcement_matters) with its full chain: the event timeline, the parties, the relief imposed and its dollar amount, the statutes cited, and the source documents each claim traces to. matter_uid is an OPAQUE KEY, not a description — read `caption` for the matter name; some uids are demonstrably mislabelled. Read `verification` (currently single_source on every matter), `events[].is_date_estimated` (the source gave a year, not a day) and `laws[].link_status` before repeating anything. Named private individuals are withheld from `parties` by policy. If `chains_sampled` is true you are seeing 2 rows of each chain and `chain_totals` gives the real sizes — say so rather than implying the matter is that small. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: Get one AI enforcement matter
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_law_citationsThe citation projection for one law record: its identifier, title, audited alternate names, and a formatting-convenience suggested citation over public metadata (clearly labelled —…No findings

    Why it is in this group

    • The name "get_law_citations" says "get": a word for reading.
    Description, as the server wrote it
    The citation projection for one law record: its identifier, title, audited alternate names, and a formatting-convenience suggested citation over public metadata (clearly labelled — never presented as an official cite). Free at every tier. No fabrication. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: Get an AI law’s citations
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_law_historyFull change history for one law record — every observed snapshot (ascending), with what changed and the values at each point.No findings

    Why it is in this group

    • The name "get_law_history" says "get": a word for reading.
    Description, as the server wrote it
    Full change history for one law record — every observed snapshot (ascending), with what changed and the values at each point. Paid feature (Developer+): anon/free receive a 403 with an upgrade hint, which is returned verbatim. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: Get an AI law change timeline
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_law_sourcesThe primary/secondary source URLs backing one law record — its own official (.gov) link plus the curated jurisdiction sources, each tiered.No findings

    Why it is in this group

    • The name "get_law_sources" says "get": a word for reading.
    Description, as the server wrote it
    The primary/secondary source URLs backing one law record — its own official (.gov) link plus the curated jurisdiction sources, each tiered. Basic tiers (anon/free) get PRIMARY sources only; Developer+ get the full set incl. secondary/analysis links (the response carries an upgrade hint verbatim when withheld). Only real, held URLs — no fabrication. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: Get an AI law’s source links
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_sector_detailOne sector’s cross-section: the free awareness OVERVIEW (name, inherent risk, enforcement bodies, federal penalty structure) PLUS the derived per-law obligations + penalties for th…No findings

    Why it is in this group

    • The name "get_sector_detail" says "get": a word for reading.
    Description, as the server wrote it
    One sector’s cross-section: the free awareness OVERVIEW (name, inherent risk, enforcement bodies, federal penalty structure) PLUS the derived per-law obligations + penalties for that sector. The overview is open to every tier; the derived obligations/penalties are the salable interpreted layer (Pro+ for obligations) — under-tier callers get a one-item preview + upsell (meta.preview), never a blank wall. Every derived record is grounded in a real law + its primary source (no LLM). Use list_sectors for valid slugs. NOT legal advice.

    Annotations the server declares

    • title: Get one sector’s AI-law cross-section
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_ai_law_newsThe audited AI-regulation news feed: headline + short excerpt + publisher + source URL (never full article text).No findings

    Why it is in this group

    • The name "list_ai_law_news" says "list": a word for reading.
    Description, as the server wrote it
    The audited AI-regulation news feed: headline + short excerpt + publisher + source URL (never full article text). Free/anon get a taste (fewer results, newest only, excerpt withheld); Developer+ gets the full archive with excerpts. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: List AI-law news headlines
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_ai_lawsList AI-regulation records with filters (scope, jurisdiction, status, in_force, updated_since, keyword q), sorting and pagination.No findings

    Why it is in this group

    • The name "list_ai_laws" says "list": a word for reading.
    Description, as the server wrote it
    List AI-regulation records with filters (scope, jurisdiction, status, in_force, updated_since, keyword q), sorting and pagination. Use this to browse laws for a place; use search_ai_laws for free-text search. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: List AI laws
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_billsThe curated landmark-bill index — the named, name-searchable AI laws (valid slugs for get_bill).No findings

    Why it is in this group

    • The name "list_bills" says "list": a word for reading.
    Description, as the server wrote it
    The curated landmark-bill index — the named, name-searchable AI laws (valid slugs for get_bill). Read from the primary-sourced landmark registry. Free at every tier. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: List landmark AI bills
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_categoriesDataset facets: the distribution of record_type and scope across all records.No findings

    Why it is in this group

    • The name "list_categories" says "list": a word for reading.
    Description, as the server wrote it
    Dataset facets: the distribution of record_type and scope across all records. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: List dataset categories
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_countriesNational (global-scope) jurisdictions with AI-law record counts.No findings

    Why it is in this group

    • The name "list_countries" says "list": a word for reading.
    Description, as the server wrote it
    National (global-scope) jurisdictions with AI-law record counts. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: List countries
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_enforcement_categoriesThe thirteen controlled vocabularies the enforcement filters accept — matter_type, matter_status, forum_type, party_role, party_kind, relief_type, event_type, ai_role, law_relation…No findings

    Why it is in this group

    • The name "list_enforcement_categories" says "list": a word for reading.
    Description, as the server wrote it
    The thirteen controlled vocabularies the enforcement filters accept — matter_type, matter_status, forum_type, party_role, party_kind, relief_type, event_type, ai_role, law_relation, verification, jurisdiction_level, pii_class and redaction_policy. Call this to get valid values for search_enforcement_matters instead of guessing them. Free at every tier, no key needed. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: List enforcement filter vocabularies
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_enforcement_sourcesThe 254 official sources behind the enforcement registry — agency newsrooms, AG press feeds, court dockets — with the last successful read and whether each is currently stale or bl…No findings

    Why it is in this group

    • The name "list_enforcement_sources" says "list": a word for reading.
    Description, as the server wrote it
    The 254 official sources behind the enforcement registry — agency newsrooms, AG press feeds, court dockets — with the last successful read and whether each is currently stale or blocked. Use it BEFORE concluding that an agency has done nothing: a stale or disabled source is a gap in our monitoring, not evidence of inaction, and only about half of the registry is currently answering. Free at every tier, no key needed. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: List monitored enforcement sources
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_jurisdictionsAll covered jurisdictions (US states, US federal, EU, and countries) with record counts.No findings

    Why it is in this group

    • The name "list_jurisdictions" says "list": a word for reading.
    Description, as the server wrote it
    All covered jurisdictions (US states, US federal, EU, and countries) with record counts. Use the returned slugs for the `jurisdiction` argument of other tools. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: List jurisdictions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_law_feedA lean, human-scannable stream of the newest significant AI-law changes (inserts + real field changes, no value diffs).No findings

    Why it is in this group

    • The name "list_law_feed" says "list": a word for reading.
    Description, as the server wrote it
    A lean, human-scannable stream of the newest significant AI-law changes (inserts + real field changes, no value diffs). Paid feature (Developer+). Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: Recent significant AI-law changes
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_recent_changesUnified changelog: time-ordered inserts/updates across the whole dataset.No findings

    Why it is in this group

    • The name "list_recent_changes" says "list": a word for reading.
    Description, as the server wrote it
    Unified changelog: time-ordered inserts/updates across the whole dataset. Poll with `since` = the previous response meta.cursor. Paid feature (Developer+); the lookback window is clamped per tier. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: List recent AI-law changes
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_sectorsThe sector index — valid `sector` slugs (with name, inherent risk and description) for get_ai_obligations, get_ai_penalties and assess_ai_compliance.No findings

    Why it is in this group

    • The name "list_sectors" says "list": a word for reading.
    Description, as the server wrote it
    The sector index — valid `sector` slugs (with name, inherent risk and description) for get_ai_obligations, get_ai_penalties and assess_ai_compliance. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: List sectors
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_us_statesUS state jurisdictions with AI-law record counts.No findings

    Why it is in this group

    • The name "list_us_states" says "list": a word for reading.
    Description, as the server wrote it
    US state jurisdictions with AI-law record counts. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: List US states
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • search_ai_lawsFull-text search over the audited AI-regulation dataset (US state + federal, EU, global) by title and summary.No findings

    Why it is in this group

    • The name "search_ai_laws" says "search": a word for reading.
    Description, as the server wrote it
    Full-text search over the audited AI-regulation dataset (US state + federal, EU, global) by title and summary. Returns matching law records with jurisdiction, status, and the official source URL. Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: Search AI laws
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • search_enforcement_mattersSearch regulatory enforcement actions and litigation involving AI — FTC, DOJ, SEC, CFPB, EEOC and state attorneys general — at MATTER level: one row per dispute, with forum, agency…No findings

    Why it is in this group

    • The name "search_enforcement_matters" says "search": a word for reading.
    Description, as the server wrote it
    Search regulatory enforcement actions and litigation involving AI — FTC, DOJ, SEC, CFPB, EEOC and state attorneys general — at MATTER level: one row per dispute, with forum, agency, status, the statutes invoked and the official source URL. Filter by agency, jurisdiction, matter type/status, AI role or filing date; `q` searches caption, summary and agency. IMPORTANT: every matter here is recorded from a SINGLE official source (`verification: single_source`) and is published with the URL it came from — attribute claims to that source and link it, never state them as established fact. An empty result means we hold no matching matter, NOT that an agency has taken no action: 123 of our 254 monitored sources are currently stale (see list_enforcement_sources). Data by AI Law Tracker (CC BY 4.0). Informational only — not legal advice.

    Annotations the server declares

    • title: Search AI enforcement matters
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http ai-law-tracker https://ai-law-tracker.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__ai-law-tracker__search_ai_laws",
      "mcp__ai-law-tracker__list_ai_laws",
      "mcp__ai-law-tracker__get_ai_law",
      "mcp__ai-law-tracker__get_law_history",
      "mcp__ai-law-tracker__get_law_sources",
      "mcp__ai-law-tracker__get_law_citations",
      "mcp__ai-law-tracker__list_recent_changes",
      "mcp__ai-law-tracker__list_law_feed",
      "mcp__ai-law-tracker__list_ai_law_news",
      "mcp__ai-law-tracker__list_jurisdictions",
      "mcp__ai-law-tracker__list_us_states",
      "mcp__ai-law-tracker__list_countries",
      "mcp__ai-law-tracker__list_categories",
      "mcp__ai-law-tracker__list_sectors",
      "mcp__ai-law-tracker__get_sector_detail",
      "mcp__ai-law-tracker__get_ai_deadlines",
      "mcp__ai-law-tracker__list_bills",
      "mcp__ai-law-tracker__get_bill",
      "mcp__ai-law-tracker__get_ai_obligations",
      "mcp__ai-law-tracker__get_ai_penalties",
      "mcp__ai-law-tracker__search_enforcement_matters",
      "mcp__ai-law-tracker__get_enforcement_matter",
      "mcp__ai-law-tracker__list_enforcement_sources",
      "mcp__ai-law-tracker__list_enforcement_categories",
      "mcp__ai-law-tracker__get_enforcement_coverage",
      "mcp__ai-law-tracker__get_api_status"
    ],
    "ask": [
      "mcp__ai-law-tracker__assess_ai_compliance",
      "mcp__ai-law-tracker__generate_compliance_report",
      "mcp__ai-law-tracker__start_checkout",
      "mcp__ai-law-tracker__create_free_key"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as ai-law-tracker. Review it before you use it.