pypi publicsafetyapi-mcpstdioupdated 23d ago
mcp-name: dev.publicsafetyapi/publicsafetyapi-mcp
What can you do with PublicSafetyAPI?
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
| 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 and county contain a location |
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
Install
Add PublicSafetyAPI to your client. Pick the one you use.
claude mcp add publicsafetyapi-mcp -- uvx publicsafetyapi-mcpcodex mcp add publicsafetyapi-mcp -- uvx publicsafetyapi-mcpamp mcp add publicsafetyapi-mcp -- uvx publicsafetyapi-mcp{
"mcpServers": {
"publicsafetyapi-mcp": {
"command": "uvx",
"args": [
"publicsafetyapi-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"publicsafetyapi-mcp": {
"command": "uvx",
"args": [
"publicsafetyapi-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"publicsafetyapi-mcp","command":"uvx","args":["publicsafetyapi-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"publicsafetyapi-mcp": {
"command": "uvx",
"args": [
"publicsafetyapi-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"publicsafetyapi-mcp": {
"command": "uvx",
"args": [
"publicsafetyapi-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"publicsafetyapi-mcp": {
"command": "uvx",
"args": [
"publicsafetyapi-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"publicsafetyapi-mcp": {
"type": "local",
"command": "uvx",
"args": [
"publicsafetyapi-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"publicsafetyapi-mcp": {
"command": {
"path": "uvx",
"args": [
"publicsafetyapi-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
uvx publicsafetyapi-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
6 tools
PublicSafetyAPI exposes 6 tools to a connected agent.
- 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 and county contain a location
- get_state_summary
- Facility counts by type for a state
Score
65 / 100
Good
- Documentation22/25
- Maintenance19/25
- Trust6/20
- Capability6/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 15 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 6 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 0.1.2Latest | Aug 16, 2026 |