- Home
- MCP servers
- EPA Envirofacts
EPA Envirofacts
- 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.
-
Install or obtain the server runtime via a local MCP workflow.
-
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.