agentlookups.ai / docs / GroundTruth
GroundTruth looks up public records about a US address. It lists federal environmental records near the address (Superfund sites, toxic-release facilities, and facilities flagged for serious noncompliance), lists the drinking-water systems in a county with their health-based violations, and returns address due-diligence layers. It is meant for the checks a careful buyer or renter would run on a place. You can use the website, or ask an AI assistant that has GroundTruth connected.
coverage field says where each layer applies, and caveats explains most gaps at a point.Every answer carries the snapshot date of each dataset it used. The coverage endpoint shows the current dates and record counts for the four EPA datasets.
GroundTruth is free during beta. It needs no account, sign-in or API key. Features, limits and pricing may change as it develops.
https://env.agentlookups.ai/mcp as the URL.Once its listing in Claude's connector directory is approved, you will also be able to add GroundTruth from the directory.
claude mcp add --transport http groundtruth https://env.agentlookups.ai/mcp
This adds it for the current project only. Add --scope user to use it in every project.
OpenAI's steps as of September 2026: turn on Developer mode (Settings > Security and login), open Plugins, select the plus button, give it a name, and enter https://env.agentlookups.ai/mcp as the MCP server URL, with no authentication. Whether Developer mode is offered can depend on your account and workspace.
Add https://env.agentlookups.ai/mcp as a Streamable HTTP server with no authentication. Clients send JSON-RPC by POST with the headers content-type: application/json and accept: application/json, text/event-stream. To check the server by hand:
curl -s https://env.agentlookups.ai/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
The same data comes back as JSON from GET requests: /v1/near (address, or lat and lon, with optional radius_km), /v1/water (state, plus county or city), /v1/diligence (address, or lat and lon) and /v1/coverage. A bad input gets HTTP 400 and an error field that says what was wrong. For example:
https://env.agentlookups.ai/v1/near?address=3430+Court+House+Dr,+Ellicott+City,+MD+21043
Agents can also read env.agentlookups.ai/llms.txt.
All three tools only read records. None of them changes anything, and each is marked read-only for MCP clients. The title a client shows for each tool is in quotes.
environment_near ("Find federal environmental records near an address"): Superfund sites, toxic-release facilities and enforcement-flagged facilities within a radius of an address or latitude and longitude (10 km unless you ask for another, up to 50 km).drinking_water ("Look up public water systems for an area"): public water systems for a two-letter state code plus a county or city, with their health-based violations from the last five years.due_diligence ("Score a property's due-diligence risk layers"): layer scores for an address or coordinates: school quality, natural hazards, groundwater contamination, Superfund proximity, air quality, highway noise, walkability, crime, and pleasant days per year.Send an address, or latitude and longitude, but not both. A bad input (a point outside the US, a radius over 50 km) comes back as an error; see Troubleshooting.
We ran each of these against the live service on September 29, 2026, with the arguments an assistant would send.
"Any Superfund sites near 3430 Court House Dr, Ellicott City, MD 21043?"
Calls environment_near with that address. Returns the matched address and the records within 10 km in each category, with distances, snapshot dates and the honesty notes. An empty category comes back as null, and the honesty notes say that is not a clean bill of health.
"What Superfund sites are within 10 km of Baltimore City Hall, 100 N Holliday St, Baltimore, MD 21202, and what is their status?"
Calls environment_near. Each site comes back with its EPA ID, NPL status (listed, proposed or deleted), listing date where there is one, and distance.
"What do factories near 1100 Congress Ave, Austin, TX 78701 report releasing?"
Calls environment_near. Each toxic-release facility comes back with its reporting year, chemicals, and pounds released to air, water and land.
"Does the water system in Howard County, MD have health violations?"
Calls drinking_water with state: "MD" and county: "Howard". Returns the largest matching systems, the population each serves, counts of health-based violations in five years and of open violations, and recent violations with their dates and status.
"Run a due-diligence check on 1 Dr Carlton B Goodlett Pl, San Francisco, CA 94102."
Calls due_diligence. Returns each layer's score, a caveat where a layer has limits at that point, and each layer's data date. Several layers cover only California, the Bay Area or a few cities, so an address elsewhere gets more layers that come back null or marked as no coverage.
Every answer carries each dataset's snapshot date (provenance) and honesty notes. Address lookups also show the matched address, and environment and water answers include a link for reporting errors (dispute_url). The service's llms.txt asks assistants to relay these honesty rules and not override them:
We publish records with dates and distances, never a safety score.
Absence of records is NEVER a clean bill of health.
Due-diligence layers return null where they cannot score; an honest no-data beats a made-up score, and a null is never coerced to a number.
TRI figures are lawful self-reported releases; quantity is not toxicity.
Water-system matching by geography is approximate; the water bill is authoritative.
matched_address is what the Census geocoder found. Check that it is the place you meant; the service notes that "geocoding is approximate."npl_status is "NPL Site", "Proposed NPL Site" or "Deleted NPL Site". The service says: "A Superfund site 'deleted from the NPL' means EPA determined cleanup was completed; 'final NPL' sites are under active federal cleanup management."programs and snc_flags name the laws involved, such as CAA (Clean Air Act), CWA (Clean Water Act) or SDWA (Safe Drinking Water Act). The service says: "Enforcement-flagged facilities carry a CURRENT significant-noncompliance flag in EPA's system; flags change and can reflect paperwork as well as pollution issues."null means nothing in that category was found within the radius. The service says: "Absence of records is NEVER a clean bill of health: datasets have coverage gaps, reporting thresholds, and publication lag."truncation gives how many were shown and how many matched in all, so a capped list never looks complete.pwsid), the population it serves, health_based_violations_5y, open_violations, and recent violations. The service says: "Water systems are matched by county/city served, which is APPROXIMATE: service-area boundaries are not public data. Your water bill names your actual utility; confirm there."null means the layer cannot score that point. no_coverage marks a placeholder value that you should read as no data, and caveats explains it, for example: "0.5 is this layer's outside-coverage sentinel (CalEnviroScreen, CA only); treat as no-data". The school-quality layer weighs the test results of public schools within 3 miles. It scores schools in all 50 states, DC and Puerto Rico, and in its caveat's words has "no scored schools in AS, GU, MP, VI". The service's site adds: "The district decides which schools serve an address; confirm with the district." The crime layer compares reported-incident density only where a city publishes a feed: San Francisco, Oakland and Chicago. Elsewhere it is null, with the caveat "no incident feed for this location; the underlying grid reads 'safest' where the truth is 'no data' (feeds: SF, Oakland, Chicago)". The pleasant-days (climate) layer covers the lower 48 states; the coverage field says "no AK/HI", and it also came back null in Puerto Rico, the other territories and Key West. These layers pass on source data with its limits, not our view of a neighborhood. The service says: "Layer scores summarize public datasets with known coverage gaps. Never a safety assessment; absence of adverse signals is not a clean bill of health."coverage field in each due-diligence answer.no match for and your address. Give the street, city and two-letter state (a ZIP code helps), or pass latitude and longitude instead.radius_km must be more than 0 and at most 50. An address sent together with latitude and longitude gets "send either address or lat and lon, not both". Over HTTPS these errors, and an address not found, are HTTP 400. Over MCP the result has isError true.matched_address. If the geocoder picked the wrong spot, pass latitude and longitude.Maryland gets the error state must be a two-letter code such as MD; got "Maryland". Send MD.Howard, not Howard County). If a city finds nothing, try the county on its own. Your water bill names your utility./mcp and that no authentication is set. If the curl check above lists three tools, the server is fine and the problem is in the client's setup.One privacy page and one set of terms cover GroundTruth and the other agentlookups.ai services. In short: no accounts and no cookies, lookup logs leave out the words you search for, and a typed address goes to the Census Bureau geocoder. The privacy page has the details. GroundTruth is run by TopHat Monkey Software LLC.
Last updated: September 29, 2026