PublicSafetyAPI

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

OtherPythonv0.1.2

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

pip install publicsafetyapi-mcp

Or run directly with uvx (no install needed):

uvx publicsafetyapi-mcp

Configuration

Claude Desktop

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

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

Cursor / other MCP clients

{
  "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 and county contain a location
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.

Links

License

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx publicsafetyapi-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "dev-publicsafetyapi-publicsafetyapi-mcp": {
      "command": "uvx",
      "args": [
        "publicsafetyapi-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

publicsafetyapi-mcppypi

Compatible MCP Clients

PublicSafetyAPI works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More