About PublicSafetyAPI
PublicSafetyAPI is an MCP server for AI assistants that need US police, fire, EMS, and hospital facility data. It supports proximity searches and facility records based on federal HIFLD, USFA, and CMS data.
Key features
- 01Find facilities near an address
- 02Search by coordinates
- 03Retrieve facility records
- 04Filter by type, state, name, or ZIP
- 05Check jurisdiction and agency coverage
- 06View state facility counts
Use cases
- 01Find nearby emergency facilities
- 02Identify agencies serving a location
- 03Search hospitals by trauma level
- 04Build emergency-response applications
MCP support
Exposes public safety facility lookup tools to MCP-compatible assistants. Results include structured facility details such as addresses, phone numbers, and coordinates.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx publicsafetyapi-mcpPUBLICSAFETYAPI_KEYSecretAPI key from https://publicsafetyapi.dev (free tier: 500 requests/month)Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
6Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| type | string | No | |
| limit | integer | No | |
| address | string | Yes | |
| radius_miles | number | No |
Details
From the project READMEpublicsafetyapi-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
| Tool | Description |
|---|---|
find_stations_near_address | Find the nearest facilities to a US street address |
find_stations_near_coordinates | Same, but from a lat/lng (skips geocoding) |
get_station | Full record for one facility by ID |
list_stations | List/search facilities by type, state, name, or ZIP |
get_jurisdiction | Which city/town (or county, if unincorporated) contains a location, and which agencies of one type likely serve it |
get_state_summary | Facility 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
- Website: publicsafetyapi.dev
- PyPI: pypi.org/project/publicsafetyapi-mcp
- REST API docs: publicsafetyapi.dev/docs
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.