GroundTruth - Environmental Records

Federal environmental records near any US location, with dates and provenance; never a safety score.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
90%
Naming quality
80%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin location_scores

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,873Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (1.46% of 128k context)

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-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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.

Tools:0
Tools:3
Token cost:473
Grade:A
Tools:0
Uptime:100.0%
Latency:345ms
Tools:2
Token cost:699
Grade:A

Version History

unknown → unknown
11/2/2026
Initial manifest with 3 tools
Details
Added:
  • + environment_near
  • + drinking_water
  • + due_diligence
unknown → unknown
11/2/2026
Modified 2 tools, 2 breaking changes
⚠ 2 breaking changes detected
Details
Modified:
  • ~ environment_near
    • description changed
    • significant description change (potential breaking)
    • inputSchema changed
  • ~ due_diligence
    • description changed
    • significant description change (potential breaking)
    • inputSchema changed
unknown → unknown
11/2/2026
Added 2 tools, Removed 1 tool, 1 breaking change
⚠ 1 breaking change detected
Details
Added:
  • + location_scores
  • + broadband_availability
Removed:
  • - due_diligence
unknown → unknown
11/2/2026
Modified 1 tool
Details
Modified:
  • ~ environment_near
    • description changed
unknown → unknown
11/2/2026
Modified 4 tools, 4 breaking changes
⚠ 4 breaking changes detected
Details
Modified:
  • ~ 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
unknown → unknown
11/2/2026
Initial manifest with 3 tools
Details
Added:
  • + environment_near
  • + drinking_water
  • + due_diligence
unknown → unknown
11/2/2026
Modified 2 tools, 2 breaking changes
⚠ 2 breaking changes detected
Details
Modified:
  • ~ environment_near
    • description changed
    • significant description change (potential breaking)
    • inputSchema changed
  • ~ due_diligence
    • description changed
    • significant description change (potential breaking)
    • inputSchema changed
unknown → unknown
11/2/2026
Added 2 tools, Removed 1 tool, 1 breaking change
⚠ 1 breaking change detected
Details
Added:
  • + location_scores
  • + broadband_availability
Removed:
  • - due_diligence
unknown → unknown
11/2/2026
Modified 1 tool
Details
Modified:
  • ~ environment_near
    • description changed
unknown → unknown
11/2/2026
Modified 4 tools, 4 breaking changes
⚠ 4 breaking changes detected
Details
Modified:
  • ~ 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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools