GroundTruth - Environmental Records
Federal environmental records near any US location, with dates and provenance; never a safety score.
Should I use this
Quality & Safety
Findings (2)
- HIGH
- MEDIUMin location_scores
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"groundtruth": {
"url": "https://env.agentlookups.ai/mcp"
}
}
}Remote endpoints
https://env.agentlookups.ai/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢environment_near(address, lat, lon, radius_km)
Environmental records within a radius of a US location, from GroundTruth's monthly snapshot of three EPA datasets: National Priorities List (Superfund) sites, facilities from the newest Toxics Release Inventory (TRI) reporting year, and active facilities with a current significant-noncompliance or high-priority-violation flag in EPA ECHO. Each record carries its distance, and provenance gives each dataset's source and snapshot date (as_of). A Superfund distance runs to the nearer of the area EPA maps for the site (distance_to: epa_site_boundary, 0 with inside_site_boundary true inside it) and the one point EPA lists for the site (distance_to: epa_listed_point); each record gives both. Where EPA maps no area, a site that stretches out (a canal, a river, an underground plume) can reach closer than its point. Input is either a street address (geocoded by the US Census geocoder) or lat/lon coordinates. Results are records, not a safety assessment. An empty list means the snapshot holds no such record within the radius. EPA holds other records this tool does not search (Superfund sites not on the NPL, earlier TRI years, facilities without a current noncompliance flag), and an empty result does not mean the area is free of contamination.
Input Schema
{
"type": "object",
"properties": {
"address": {
"description": "US street address incl. city/state (alternative to lat/lon)",
"type": "string"
},
"lat": {
"description": "Latitude (US)",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude (US; negative except Guam, NMI and the western Aleutians)",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"radius_km": {
"description": "Search radius in km (default 10, max 50)",
"maximum": 50,
"type": "number"
}
}
}🟢drinking_water(address, city, county, lat, lon, ...)
Public water systems for a US location, from EPA's quarterly drinking-water data (SDWA; GroundTruth checks for a new quarter monthly), with health-based violation summaries, counts of missed or late required tests (monitoring and reporting violations), and each system's latest lead 90th percentile. Input is a street address or lat/lon coordinates (the US Census geocoder gives the county and place, and the point is checked against EPA's Community Water System Service Area Boundaries; a point outside every boundary returns no systems and a message that the home may use a private well or the map may miss its system), or a two-letter state with an optional county and/or city. Each system carries match_basis: service_area_boundary, zip, city, county or state. Some of EPA's boundaries come from states and water systems and the rest are modeled by EPA, so matching is approximate; the user's water bill names their actual utility. Systems are listed by population served, and the order does not say which system serves a given home.
Input Schema
{
"type": "object",
"properties": {
"address": {
"description": "US street address incl. city/state (alternative to state or lat/lon)",
"type": "string"
},
"city": {
"description": "City served (optional)",
"type": "string"
},
"county": {
"description": "County name (optional), e.g. Kings, Prince George's County, Richmond city",
"type": "string"
},
"lat": {
"description": "Latitude (US)",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude (US; negative except Guam, NMI and the western Aleutians)",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"state": {
"description": "Two-letter state code, e.g. MD (with county and/or city; not sent with address or lat/lon)",
"type": "string"
}
}
}🟢location_scores(address, lat, lon)
Layer scores for a US location: school quality, natural hazards, groundwater contamination, Superfund proximity, air quality, highway noise, walkability, crime, and climate pleasantness (pleasant days/year). Scores are 0-1 with 1.0 = favorable; null = cannot score that layer here. The scores are model estimates drawn from public datasets, not safety ratings. no_coverage marks a layer that is null because this location lies outside that layer's data, and caveats.<layer> says why. When a layer's number has limits the score alone does not show (a proxy, partial source data), caveats.<layer> states them. Superfund proximity weighs each cleanup site by the nearer of the area EPA maps for it and the one point EPA lists for it; where EPA maps no area, a site that stretches out (a canal, a plume) can be closer than the score reflects. The scores are not a safety assessment, and an absence of adverse signals is not a clean bill of health. Coverage: Superfund/toxic-release proximity national; air quality, groundwater, and natural hazards a San Francisco Bay Area grid (lat 37.0 to 38.6, lon -122.8 to -121.4, which also takes in Sacramento), null elsewhere; highway noise Bay Area; walkability California; schools all 50 states and DC (2023-2025 results); climate CONUS (gridMET 4km, 2015-2024); Alaska, the Florida Keys, Hawaii, Puerto Rico and the US Virgin Islands (Daymet V4, 2011-2020); within 40 km of 3 NOAA weather stations in American Samoa, the Northern Mariana Islands and Guam (2016-2025); null elsewhere; crime police incident feeds inside the city limits of San Francisco; Oakland; Chicago; New York City; Los Angeles; Dallas; Washington, DC; and Kansas City, Missouri only. School scores draw on the Stanford Education Data Archive (SEDA), whose terms require naming it as the source: Reardon, S. F., Ho, A. D., Shear, B. R., Fahle, E. M., Kalogrides, D., Saliba, J. (2024). Stanford Education Data Archive (Version 5.0). [https://purl.stanford.edu/cs829jn7849] [https://doi.org/10.25740/cs829jn7849] (also in citations.school_quality). Input is either a street address (geocoded by the US Census geocoder) or lat/lon coordinates.
Input Schema
{
"type": "object",
"properties": {
"address": {
"description": "US street address incl. city/state (alternative to lat/lon)",
"type": "string"
},
"lat": {
"description": "Latitude (US)",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude (US; negative except Guam, NMI and the western Aleutians)",
"maximum": 180,
"minimum": -180,
"type": "number"
}
}
}🟢broadband_availability(address, lat, lon)
Fixed broadband availability for a US location from the FCC Broadband Data Collection (BDC), counted per 2020 Census block: each provider and technology the FCC data lists in the block, with advertised maximum download and upload tiers in Mbps and how many of the block's locations each covers (residential and business-only counts). FCC data as of 2025-12-31 (release D25_19oct2026). Wired and fixed wireless service comes first; satellite service is listed last, in its own section. Where a point is in no Census block with FCC data, counts are for the surrounding H3 cell. A block where the FCC records no locations (often a park, a plaza or a street) lists no providers; the building's own address finds the block it sits in. Speeds are advertised maximums reported by providers, not measured speeds. The FCC data has no street addresses, so it cannot confirm service at one house. Input is either a street address (geocoded by the US Census geocoder) or lat/lon coordinates.
Input Schema
{
"type": "object",
"properties": {
"address": {
"description": "US street address incl. city/state (alternative to lat/lon)",
"type": "string"
},
"lat": {
"description": "Latitude (US)",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude (US; negative except Guam, NMI and the western Aleutians)",
"maximum": 180,
"minimum": -180,
"type": "number"
}
}
}Compare
Peer Comparison
Compare this server with others in the same category.
Version History
Details
- + environment_near
- + drinking_water
- + due_diligence
Details
- ~ environment_near
- description changed
- significant description change (potential breaking)
- inputSchema changed
- ~ due_diligence
- description changed
- significant description change (potential breaking)
- inputSchema changed
Details
- + location_scores
- + broadband_availability
- - due_diligence
Details
- ~ environment_near
- description changed
Details
- ~ environment_near
- description changed
- significant description change (potential breaking)
- ~ drinking_water
- description changed
- significant description change (potential breaking)
- inputSchema changed
- required param 'state' removed
- ~ location_scores
- description changed
- significant description change (potential breaking)
- ~ broadband_availability
- description changed
Details
- + environment_near
- + drinking_water
- + due_diligence
Details
- ~ environment_near
- description changed
- significant description change (potential breaking)
- inputSchema changed
- ~ due_diligence
- description changed
- significant description change (potential breaking)
- inputSchema changed
Details
- + location_scores
- + broadband_availability
- - due_diligence
Details
- ~ environment_near
- description changed
Details
- ~ environment_near
- description changed
- significant description change (potential breaking)
- ~ drinking_water
- description changed
- significant description change (potential breaking)
- inputSchema changed
- required param 'state' removed
- ~ location_scores
- description changed
- significant description change (potential breaking)
- ~ broadband_availability
- description changed
Community
Evidence