EPA Envirofacts

🔌 MCP server providing AI agents with structured access to U.S. EPA environmental data through Envirofacts API. Get facility data, chemical releases, water violations, and hazardous waste sites for any U.S. location.
  • python

0

GitHub Stars

python

Language

7 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "zachegner-envirofacts-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "epa-mcp"
      ],
      "env": {
        "LOG_LEVEL": "INFO",
        "RETRY_ATTEMPTS": "3",
        "REQUEST_TIMEOUT": "300",
        "EPA_API_BASE_URL": "https://data.epa.gov/efservice/",
        "GEOCODING_SERVICE": "nominatim",
        "GEOCODING_USER_AGENT": "epa-envirofacts-mcp/1.0",
        "MAX_RESULTS_PER_QUERY": "1000"
      }
    }
  }
}

You run an MCP server that gives AI agents structured access to EPA Envirofacts data. It connects to multiple EPA data systems to deliver environmental summaries, facility searches, chemical releases, compliance history, and health checks, all via a standardized MCP interface so your AI tools can query public environmental data reliably.

How to use

To use the EPA Envirofacts MCP server, connect an MCP client to the server and choose the available tools to query environmental data. You can generate an Environmental Summary by Location to see nearby facilities, water violations, and chemical releases for a location. You can search for EPA-regulated facilities by name, state, ZIP, city, or NAICS code. You can query TRI chemical releases by chemical name or CAS number, and you can inspect a facility’s compliance history. A Health Check lets you verify server health and API connectivity. Each tool returns structured data that you can present in your agent’s responses.

How to install

Prerequisites: Python 3.11 or higher, and an MCP client that can load and query MCP servers.

  1. Install or obtain the server runtime via a local MCP workflow.

  2. Start the server using one of the supported runtime methods shown below. Ensure you have the appropriate permissions to run containers or local processes.

Additional content

Configuration and runtime options are exposed as environment variables. You can tailor timeouts, retry behavior, result limits, and geocoding settings to fit your deployment.

Environment variable examples you can use in a .env file or your hosting environment:

EPA_API_BASE_URL=https://data.epa.gov/efservice/
REQUEST_TIMEOUT=300
RETRY_ATTEMPTS=3
MAX_RESULTS_PER_QUERY=1000

GEOCODING_SERVICE=nominatim
GEOCODING_USER_AGENT=epa-envirofacts-mcp/1.0
GEOCODING_API_KEY=

LOG_LEVEL=INFO

You can also run the server via Docker or a local Python process using uv. The following configurations illustrate typical startup commands you can adapt to your environment.

Available tools

Environmental Summary by Location

Provide a comprehensive environmental snapshot for a location, including nearby facilities, water violations, chemical releases, hazardous sites, and top facilities by distance.

Search Facilities

Filter EPA-regulated facilities by name, NAICS code, state, ZIP, or city to retrieve registries and details.

Chemical Release Data

Query TRI chemical releases by chemical name or CAS number with aggregations and optional trends.

Facility Compliance History

Fetch compliance and enforcement history for a facility across programs like TRI and RCRA.

Health Check

Check server health and EPA API connectivity status.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational