MCP server: One MCP server.

PublicSafetyAPI

@publicsafetyapiRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

US police, fire, EMS and hospital locations near any address, from federal HIFLD data

Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

PyPIpublicsafetyapi-mcpv0.1.3

Run

uvx publicsafetyapi-mcp

MCP client config

{
  "mcpServers": {
    "publicsafetyapi": {
      "command": "uvx",
      "args": [
        "publicsafetyapi-mcp"
      ]
    }
  }
}
README2 min read

publicsafetyapi-mcp

mcp-name: dev.publicsafetyapi/publicsafetyapi-mcp

MCP server for publicsafetyapi.dev — US police stations, fire departments, EMS bases, and hospitals for AI agents.

Expose public safety facility lookups as tools to any MCP-compatible AI assistant (Claude, Cursor, Copilot, etc.). Built on federal HIFLD, USFA, and CMS data — public domain, commercially usable.

Installation

bash
pip install publicsafetyapi-mcp

Or run directly with uvx (no install needed):

bash
uvx publicsafetyapi-mcp

Configuration

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{
  "mcpServers": {
    "publicsafetyapi": {
      "command": "uvx",
      "args": ["publicsafetyapi-mcp"],
      "env": {
        "PUBLICSAFETYAPI_KEY": "your_api_key_here"
      }
    }
  }
}

Cursor / other MCP clients

json
{
  "mcpServers": {
    "publicsafetyapi": {
      "command": "uvx",
      "args": ["publicsafetyapi-mcp"],
      "env": {
        "PUBLICSAFETYAPI_KEY": "your_api_key_here"
      }
    }
  }
}

Get a free API key at publicsafetyapi.dev — 500 requests/month, no credit card.

Available Tools

ToolDescription
find_stations_near_addressFind the nearest facilities to a US street address
find_stations_near_coordinatesSame, but from a lat/lng (skips geocoding)
get_stationFull record for one facility by ID
list_stationsList/search facilities by type, state, name, or ZIP
get_jurisdictionWhich city/town (or county, if unincorporated) contains a location, and which agencies of one type likely serve it
get_state_summaryFacility counts by type for a state

Facility types: fire, police, ems, hospital.

Examples

Once configured, you can ask your AI assistant:

"What's the closest fire station to 350 Fifth Ave, New York?"

"How many hospitals are in Montana, and which have trauma centers?"

"I'm building an emergency-response app — find every police and fire station within 5 miles of downtown Austin."

The assistant calls the matching tool and gets structured JSON back — addresses, phone numbers, coordinates, and for hospitals, beds, trauma level, and ownership.

License

MIT

Similar modules

Browse Government open data