Agent Data Tools: Company, compliance and checks
38 tools: OFAC sanctions, counterparty checks, company, domain, email. 25 free calls.
Description from the maker (original English)
Cited product-compliance ground truth for AI agents. Never generates; always cites.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://verity-mcp-243195959173.us-central1.run.app/mcpRun this in your terminal
claude mcp add --transport http verity https://verity-mcp-243195959173.us-central1.run.app/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"verity": {
"url": "https://verity-mcp-243195959173.us-central1.run.app/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"verity": {
"type": "http",
"url": "https://verity-mcp-243195959173.us-central1.run.app/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://verity-mcp-243195959173.us-central1.run.app/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account veritylabsai, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Agent Data Tools: Company, compliance and checks, Agent Data Tools, Private Law Wiki
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
38 tools: OFAC sanctions, counterparty checks, company, domain, email. 25 free calls.
641 agent tools: chain data, prices, sanctions, web, PDF. 25 free calls, then from $0.002.
Sourced answers, search and bank-case assessment for wiki.private.law by the Mothership runtime.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
US product recall lookup for AI agents — CPSC consumer products and FDA food, drug and device enforcement, with every result pinned to an official source.
The point is not that it searches; it is that it refuses to answer without a citation. Ask it something it has no record of and it says so, rather than inventing a plausible answer.
Live API: https://rattlewatch.rattled.ca MCP endpoint: https://rattlewatch.rattled.ca/mcp Interactive docs: https://rattlewatch.rattled.ca/docs
Machine-readable discovery, for agents rather than browsers:
| Document | URL |
|---|---|
llms.txt | /llms.txt |
| MCP server card | /\.well-known/mcp/server.json |
One container serves both surfaces — the REST API and MCP over streamable HTTP at /mcp. That matters for registry discovery: directories introspect the image's default command, so it has to be a working MCP server.
curl "https://rattlewatch.rattled.ca/v1/recalls/search?q=Bistro%20Pro%20Electric%20Grill"
Rattlewatch answers the questions an agent cannot safely answer itself:
Every answer carries an official source URL and a last-verified date. Rattlewatch never generates an answer — it returns records that exist in its store, or it says *"no verified record"*. Absence is an honest negative, not a guess.
An answer without a citation does not ship.
verified_at tells you exactly when.verify() returns only matching records. If nothing matches, it returns found: false with an explicit reason. It will not invent one.| Tool | What it returns |
|---|---|
search_recalls | Cited recall records matching a product name, brand, model, or UPC |
get_requirement | Cited compliance requirements for a subject + market |
list_changes | The change feed: new recalls and rule changes since a timestamp |
verify | Cited records matching a claim/query, or an explicit no verified record |
python -m rattlewatch build --max-recalls 5000 --fda-limit 3000 # default in the image
python -m rattlewatch build --fda-limit 0 # CPSC only (used by CI)
The engine is domain-agnostic: new markets (UK, CA, AU, JP, and beyond) and new rule sets are added as more cited facts and feeds are compiled, without code change.
python -m venv .venv && .venv/Scripts/activate # or: source .venv/bin/activate
pip install -r requirements.txt
python -m rattlewatch build
python -m rattlewatch mcp
python -m rattlewatch serve --host 0.0.0.0 --port 8000
{
"mcpServers": { "rattlewatch": { "command": "python", "args": ["-m", "rattlewatch", "mcp"], "cwd": "/path/to/rattlewatch" } } }
| Endpoint | Tier |
|---|---|
GET /v1/recalls/search?q=... | Free (rate-limited) |
GET /v1/requirements?subject=...&market=... | Free |
GET /v1/changes?since=... | Free |
POST /v1/verify | Free |
GET /v1/premium/export | Metered — returns HTTP 402 with an x402 payment requirement |
Interactive docs: /docs.
Free discovery and lookups, metered premium calls. The premium endpoint implements the x402 payment flow: the server returns 402 Payment Required with a structured payment requirement, and a paying agent retries with proof of payment. This is the monetization thesis in one endpoint — *agents discover, agents pay*. The payment rail (x402/USDC or Stripe metered billing) is wired at deploy time.
rattlewatch/
rattlewatch/ store.py # ground-truth store (facts, recalls, events, sources) compile.py # ingest CPSC + cited rules engine.py # query logic (search, verify, change feed) textutil.py # normalization + matching primitives mcp_server.py # MCP server (stdio + streamable HTTP) api.py # FastAPI REST + x402 stub main.py # CLI: build / stats / serve / mcp data/rules/seed.yaml # cited facts tests/test_engine.py # correctness + no-hallucination tests
AI generates infinite plausible text for free, so content is worth nothing. But AI hallucinates — especially on current rules, specific numbers, and what changed last week. Rattlewatch is the opposite of a generative model: a small, boring, cited layer of truth that agents and the software they power can depend on when being wrong is expensive.
See [SECURITY.md](SECURITY.md) for the full threat model, the implemented controls, and — listed explicitly — what is not protected. Every claim there is backed by a test in tests/test_api.py.
Highlights: query input bounded at two independent layers; per-client rate limiting; API keys compared in constant time that fail closed; CORS denied by default; hardened response headers; no stack-trace leakage; container runs as an unprivileged user (UID 10001).
export PYTHONPATH=.
python tests/test_engine.py # 13 checks — correctness + non-hallucination python tests/test_api.py # 30 checks — security + abuse
See [TESTING.md](TESTING.md) for the coverage map and an explicit list of what is *not* tested. A green run is not the same as "verified secure."
MIT — see LICENSE.
The code is open source; the hosted service is the product. Nothing about the moat lives in the source: the defensible asset is the curated, daily-refreshed, cited corpus and the freshness pipeline that maintains it. Open-sourcing the code also means the citation machinery is auditable — which matters for a product whose entire claim is that its answers can be trusted.
You can self-host it:
docker build -t rattlewatch .
docker run -p 8000:8000 rattlewatch
Or use the hosted endpoint: https://rattlewatch.rattled.ca