mcpbeat Sign in

Epa MCP Server

answering

Epa MCP Server is answering right now. Last checked 9 min ago. 471 installs a week from npm. It exposes 11 tools. Last commit 1 Nov 2026.

Search EPA compliance, TRI, Superfund, drinking-water, EJScreen, and AirNow data.

Installs per day peak 215 · avg 52 · +15% w/w
a month agotoday
Uptime history 26 days of history · worst day 98%
26 days agonow
100.0%
Uptime 24h
91 of 91 checks
11
Tools
read from the server
526 ms
Response time
average over 24h
471
Installs / week
npm and PyPI

What changed 56

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 11 October 2026. No other catalogue keeps this.

1 Nov 8 tools changed the parameters they ask for10 times that day epa_airnow_get_conditions, epa_echo_get_facility, epa_echo_search_facilities and 5 more
1 Nov 8 tool descriptions were rewritten9 times that day epa_echo_get_facility, epa_echo_search_facilities, epa_echo_search_violations and 5 more
1 Nov 2 tools appeared epa_echo_get_case, epa_superfund_get_site
1 Nov a tool changed version2 times that day
24 Oct 9 tools appeared epa_airnow_get_conditions, epa_echo_get_facility, epa_echo_search_facilities and 6 more
24 Oct 9 tools disappeared epa_get_air_quality, epa_get_ejscreen, epa_get_facility and 6 more
24 Oct a tool changed version
19 Oct a tool changed the parameters it asks for epa_get_tri_releases
19 Oct a tool changed version
16 Oct 5 tool descriptions were rewritten epa_get_facility, epa_get_tri_releases, epa_search_facilities and 2 more
and 11 more, back to 11 October 2026

Tools have disappeared from this server

A tool that vanishes takes a piece of your agent with it, and the change arrives silently. Watch this server and every such change lands in your inbox.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 9 min ago.

run in your terminal
claude mcp add epa-mcp-server --transport http https://epa.caseyjhand.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://epa.caseyjhand.com/mcp
~/.codex/config.toml
[mcp_servers.epa-mcp-server]
url = "https://epa.caseyjhand.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "epa-mcp-server": {
      "url": "https://epa.caseyjhand.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "epa-mcp-server": {
      "type": "http",
      "url": "https://epa.caseyjhand.com/mcp"
    }
  }
}

Available tools 11

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

epa
epa_airnow_get_conditions
AirNow: Get current AQI observations or the issued AQI forecast for a US location from the AirNow API. Provide either zip_code or both latitude and longitude. Current mode returns the latest hourly NowCast AQI for each pollutant (PM2.5, ozone, PM10) from the closest monitor within 50 miles, with the monitor site name, site ID, and reporting agency; pollutants in one reporting area can come from different monitors. Forecast mode returns every day the reporting area's agency has issued (typically one to five), each with the AQI category, an action-day flag, and the issue date, plus the agency's forecast discussion when one exists; some agencies forecast a category without an AQI number. In forecast mode, set forecast_date to keep only the forecast valid on that date; current mode rejects it. Data are preliminary — suitable for awareness, not regulatory, trend, or enforcement decisions. Responses are cached for ~1 hour.
epa_echo_get_case
ECHO: Retrieve one civil enforcement case by case number, with the facilities, defendants, and settlements behind it. Returns the case's category, enforcement type, status, lead agency, relief sought, outcome, court and DOJ docket numbers, summary, and penalty, cost-recovery, compliance-action, and SEP totals; the laws and sections cited; the facilities the case names, one per EPA Registry ID, with address, NAICS and SIC codes, and the program IDs the case links (pass a registryId to epa_echo_get_facility for its compliance profile); defendants; pollutants; milestones; and every enforcement conclusion (order, consent decree, or other settlement) with its facilities, dates, penalties and costs, complying actions, pollutant reductions, and Supplemental Environmental Projects. Take the case number from epa_echo_search_violations or from a formal action's caseId in epa_echo_get_facility. Civil cases only: a criminal CR_ case number fails before any request.
epa_echo_get_facility
ECHO: Retrieve a full compliance profile for a single EPA-regulated facility by EPA Registry ID or EPA program ID. Returns facility metadata, the NAICS industry codes its programs record, ECHO's facility-level compliance status, a per-statute (CAA, CWA, RCRA, SDWA, and others ECHO tracks) compliance summary, inspections and other compliance monitoring records from the last five years (newest first, paged), five years of formal enforcement actions with penalties, five years of drinking-water violations with contaminant, measure, MCL, status, and enforcement actions (paged), the latest TRI release total, and the facility's TRI facility IDs for epa_tri_get_facility_releases. Use epa_echo_search_facilities to discover Registry IDs; pass a public water system's PWSID from epa_water_search_systems to get its drinking-water violations. For area-level enforcement discovery use epa_echo_search_violations instead.
epa_echo_search_facilities
ECHO: Search EPA-regulated facilities by location, county, facility name, NAICS industry code, environmental program, or compliance status across CAA, CWA, RCRA, TRI, and SDWA. Returns facility name, EPA Registry ID, coordinates, county FIPS code, per-program registration flags, TRI facility IDs, five-year inspection and penalty totals, and TRI release totals. Registry IDs returned here feed epa_echo_get_facility; TRI facility IDs feed epa_tri_get_facility_releases. Supports proximity search via latitude + longitude + radius_miles. At least one geographic filter (zip_code, state, city, county_fips, or a complete latitude+longitude+radius_miles triple) is required — unscoped searches time out. Page past limit with offset and nextOffset.
epa_echo_search_violations
ECHO: Search EPA civil and criminal enforcement cases by state, ZIP code, regulatory program, case type, or filing-date range. Returns case identifier, case type and status, lead agency (EPA or state), primary law and section, enforcement outcome, federal and state penalties, cost recovery, compliance action and SEP costs, and filing, settlement, and closing dates. Case rows name no facility: pass a civil caseId to epa_echo_get_case for the facilities, defendants, and settlements behind it. Designed for area-level violation discovery — for a single known facility's enforcement history use epa_echo_get_facility instead. At least one of state or zip_code is required. Page past limit with offset and nextOffset.
epa_ejscreen_get_scores
EJScreen: Get EJScreen environmental-justice indicators for a point and surrounding buffer. Returns the 13 EJScreen environmental indicators (PM2.5, ozone, diesel particulate, NO2, lead paint, traffic proximity, Superfund/RMP/hazardous-waste/wastewater proximity, underground storage tanks, drinking-water non-compliance, and RSEI toxic air releases) and 6 demographic indicators (people of color, low income, limited English, less than high school, under 5, over 64), each with national and state percentiles plus EJ Index values, along with the Demographic Index and Supplemental Demographic Index and their national averages. Data is EJAM's ACS 2018–2022 release of EJScreen (EJScreen 2.3 method), served via the community-maintained EJAM API (api.ejanalysis.com, Public Environmental Data Partners), which rehosts EJScreen after EPA discontinued public access in 2025 — not a live EPA endpoint. Provide latitude, longitude, and a buffer distance (default 1 mile, max 15 miles). When EJScreen has no indicators — the point is outside its US bounds, the buffer holds no Census block, or its blocks have no residents — coverage.valid is false and coverage.note says which, and whether a larger distance may help.
epa_superfund_get_site
Superfund: Retrieve a site by exact SEMS site ID from epa_superfund_search_sites, with all recorded contaminant associations and their media, operable units, and EPA actions. Repeated chemicals in different contexts and duplicate source rows are retained. An existing site without contaminant records returns an empty array. Associations do not establish current exposure, concentrations, or current risk. Site and contaminant requests share a 50-second deadline.
epa_superfund_search_sites
Superfund: Search Superfund (CERCLA/SEMS) sites by location or NPL listing status. Returns site identifiers, source NPL status labels, non-NPL assessment and archive metadata when available, coordinates, and county FIPS code. Accepts either state/city/ZIP, returned in SEMS site ID order, or latitude+longitude+radius for proximity searches, ordered nearest first; page through a large match with offset and nextOffset. Proximity searches match only sites with usable coordinates and share a 50-second deadline; narrow the radius or add filters if the search times out. Use epa_superfund_get_site with a returned siteId for contaminant associations.
epa_tri_get_facility_releases
TRI: Query Toxic Release Inventory annual chemical release data for a specific facility. Returns per-chemical release records with chemical name, reporting year, on-site releases by medium (air, water, land, underground injection) and their total, and the Form R one-time release quantity, newest reporting year first; page past 500 filings with offset and nextOffset. Quantities are in pounds; dioxin and dioxin-like compounds, which TRI has facilities report in grams, are converted and marked with reportedUnit. TRI data lags ~18 months — the most recent available year is typically 2 years prior to the current calendar year. facility_id is the 15-character TRI facility ID: take it from the facilityId field of epa_tri_search_releases, or from the triFacilityIds of epa_echo_get_facility for a facility you already hold a Registry ID for. A 12-digit EPA Registry ID is a different identifier and matches no TRI records.
epa_tri_search_releases
TRI: Search Toxic Release Inventory data across facilities in a state or county, for one reporting year or, without year, every available year newest first. Returns facility name and county, TRI facility ID, EPA Registry ID (the registry_id epa_echo_get_facility takes), parent company, chemical name, and the Form R one-time release quantity; set include_release_breakdown to add on-site releases by medium (air, water, land, and underground-injection) and their total, at the cost of a slower call. Quantities are in pounds; dioxin and dioxin-like compounds, which TRI has facilities report in grams, are converted and marked with reportedUnit. Records come in reporting-year order, not ranked by quantity; page through a large match with offset and nextOffset. Use to build an environmental exposure profile for an area. Use epa_tri_get_facility_releases for detailed release records for a single facility. TRI data lags ~18 months from the current calendar year.
epa_water_search_systems
Drinking water (SDWIS): Search public water systems by state, ZIP code, or county served. Returns system name, PWSID, population served, primary water source, and activity status, in PWSID order; page through a large match with offset and nextOffset. zip_code matches a system's address of record, often an owner's or operator's office far from the area it serves; county (with state) finds the systems serving an area. With has_violation, returns only systems with a current SDWA violation in EPA's ECHO, which applies EPA's Enforcement Response Policy, so it flags fewer systems than SDWIS's unresolved violation records. At least one of state or zip_code is required. Pass a returned pwsid as registry_id to epa_echo_get_facility for the system's drinking-water violations: contaminant, measured level, MCL, status, and enforcement actions.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

epa_get_air_quality
removed 24 Oct 2026
epa_get_ejscreen
removed 24 Oct 2026
epa_get_facility
removed 24 Oct 2026
epa_get_tri_releases
removed 24 Oct 2026
epa_search_facilities
removed 24 Oct 2026
epa_search_superfund
removed 24 Oct 2026
epa_search_tri_releases
removed 24 Oct 2026
epa_search_violations
removed 24 Oct 2026
epa_search_water_systems
removed 24 Oct 2026

Endpoints

URLTransportStateLatencyChecked
https://epa.caseyjhand.com/mcp streamable-http answering 530 ms 9 min ago

Alternatives to Epa MCP Server

same job, measured the same way
Agent Index
by theagentindex

Free open dataset of compliance, security and risk AI agents and audit firms. Read-only search.

6 tools answering
Compliance Auditor MCP
by firasmosbehi

City hiring-compliance MCP server with regulation search and full audit risk scoring.

answering
UK company & compliance data
by fourzerotwo

Companies House, Gazette notices, sanctions screening, LEIs and UK legislation.

58 tools answering
PageGuard MCP
by pageguard

Privacy compliance scanning for AI coding tools. Detects tracking tech, cookies, and data gaps.

42 installs/wk local only
Vectordecisions MCP Server
by nikitadatar

AI Governance MCP Server - GATRI trust scoring, kill-switch, EU AI Act compliance for Claude

41 installs/wk local only
Bio-Safe-Audit
by evozim

Biometric data privacy auditor ensuring Zero-Knowledge compliance.

1 tools answering
Watermarking Authenticity MCP
by csoai-org

EU AI Act Article 50 watermarking + C2PA 2.1 compliance. NEW: 2 December 2026 deadline (compress...

114 installs/wk local only
halal.sh Shariah compliance
by halal

Screen stocks and ETFs under AAOIFI Standard 21, with the SEC filing and ratios behind each verdict.

answering

Epa MCP Server — questions

Answers built from our own checks of this server.

What can Epa MCP Server do?
It exposes 11 tools, read directly from the server on our last check. Among them: epa_airnow_get_conditions, epa_echo_get_case, epa_echo_get_facility, epa_echo_search_facilities, epa_echo_search_violations, epa_ejscreen_get_scores and 5 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Epa MCP Server working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 526 ms. The bar chart above shows every period we have measured.
Did Epa MCP Server ever remove tools?
Yes. epa_get_air_quality, epa_get_ejscreen, epa_get_facility, epa_get_tri_releases and 5 more are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect Epa MCP Server?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Epa MCP Server need an API key?
No. Epa MCP Server completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 11 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Epa MCP Server?
It answers our handshake in 526 ms on average, which is faster than 22% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Epa MCP Server?
The npm package @cyanheads/epa-mcp-server was installed 471 times in the last week. Week over week that is +15%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Epa MCP Server open source?
The code is open source: it is published under the Apache-2.0 licence, written in TypeScript, 2 stars on GitHub and 3 open issues. The licence covers the code in the repository, not the hosted service at epa.caseyjhand.com, which runs on its operator's own terms.