EPA EJScreen

Environmental justice screening indicators, pollution burden, and demographic vulnerability

Should I use this

Quality & Safety

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

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,265Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (0.99% 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": {
    "ejscreen": {
      "url": "https://mcp.olyport.com/ejscreen/mcp"
    }
  }
}

Remote endpoints

https://mcp.olyport.com/ejscreen/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_ej_data_by_location(latitude, longitude, distance)

Get EJScreen environmental justice data for a specific location. Uses the EPA EJScreen REST broker to retrieve EJ screening indicators for a point location with a buffer distance. Returns environmental indicators, demographic data, and EJ indexes. Args: latitude: Latitude of the location (e.g. 47.61). longitude: Longitude of the location (e.g. -122.33). distance: Buffer distance in miles around the point (default 1.0).

Input Schema

{
  "type": "object",
  "properties": {
    "latitude": {
      "title": "Latitude",
      "type": "number"
    },
    "longitude": {
      "title": "Longitude",
      "type": "number"
    },
    "distance": {
      "default": 1,
      "title": "Distance",
      "type": "number"
    }
  },
  "required": [
    "latitude",
    "longitude"
  ],
  "title": "get_ej_data_by_locationArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_ej_data_by_locationOutput"
}
🟢get_ej_county_summary(state, county_fips, limit)

Get EJ indicators for census block groups in a county. Returns EJScreen environmental justice data for block groups within the specified county, sorted by highest overall environmental burden. Includes environmental indicators, demographic data, and EJ indexes. Args: state: Two-letter US state abbreviation (e.g. 'WA', 'CA'). county_fips: County FIPS code, either 5-digit full (e.g. '53033') or 3-digit county portion (e.g. '033'). If 3 digits, state FIPS is prepended automatically. limit: Maximum number of block groups to return (default 50, max 500).

Input Schema

{
  "type": "object",
  "properties": {
    "state": {
      "title": "State",
      "type": "string"
    },
    "county_fips": {
      "title": "County Fips",
      "type": "string"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "state",
    "county_fips"
  ],
  "title": "get_ej_county_summaryArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_ej_county_summaryOutput"
}
🟢get_ej_state_summary(state, limit)

Get a state-level overview of EJ indicators across block groups. Returns the most environmentally burdened block groups in the state, sorted by PM2.5 percentile. Useful for identifying areas with the highest environmental justice concerns. Args: state: Two-letter US state abbreviation (e.g. 'WA', 'CA'). limit: Maximum number of block groups to return (default 100, max 500).

Input Schema

{
  "type": "object",
  "properties": {
    "state": {
      "title": "State",
      "type": "string"
    },
    "limit": {
      "default": 100,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "state"
  ],
  "title": "get_ej_state_summaryArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_ej_state_summaryOutput"
}
🟢get_demographic_indicators(state, county_fips, limit)

Get demographic vulnerability indicators by block group. Returns demographic data including minority percentage, low income percentage, linguistic isolation, education levels, and age distributions. These are the demographic components used in EJScreen's EJ index calculations. Args: state: Two-letter US state abbreviation (e.g. 'WA', 'CA'). county_fips: Optional county FIPS code (3-digit or 5-digit). If omitted, returns state-level results sorted by highest demographic index. limit: Maximum number of block groups to return (default 50, max 500).

Input Schema

{
  "type": "object",
  "properties": {
    "state": {
      "title": "State",
      "type": "string"
    },
    "county_fips": {
      "default": null,
      "title": "County Fips",
      "type": "string"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "state"
  ],
  "title": "get_demographic_indicatorsArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_demographic_indicatorsOutput"
}
🟢get_environmental_indicators(state, county_fips, indicator, limit)

Get specific environmental indicators by block group. Returns environmental indicator values and state percentiles for block groups. Can filter to a specific indicator type or return all. Args: state: Two-letter US state abbreviation (e.g. 'WA', 'CA'). county_fips: Optional county FIPS code (3-digit or 5-digit). If omitted, returns state-level results. indicator: Optional specific indicator to focus on. Options: 'pm25', 'ozone', 'diesel', 'cancer', 'respiratory', 'traffic', 'lead', 'superfund', 'hazwaste', 'wastewater', 'rmp', 'ust'. If omitted, returns all. limit: Maximum number of block groups to return (default 50, max 500).

Input Schema

{
  "type": "object",
  "properties": {
    "state": {
      "title": "State",
      "type": "string"
    },
    "county_fips": {
      "default": null,
      "title": "County Fips",
      "type": "string"
    },
    "indicator": {
      "default": null,
      "title": "Indicator",
      "type": "string"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "state"
  ],
  "title": "get_environmental_indicatorsArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_environmental_indicatorsOutput"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools
verifiedversion not recorded5 tools