# SafeStreets

> Walkability and pedestrian safety for any US address: scores, neighborhoods, deadly roads.

- name: io.github.Poseidon-t/safestreets
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 96/100
- quality: 88/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.Poseidon-t%2Fsafestreets
- tools: https://api.protogrid.dev/v1/servers/io.github.Poseidon-t%2Fsafestreets/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "safestreets": {
      "type": "http",
      "url": "https://safestreets.streetsandcommons.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 98
- freshness: 100
- provenance: 90
- drivers: +repository +namespace-matches-repo +website +reachable +uptime-94% +updated-23d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 88/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 94 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 2 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 8 of 8 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,995 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: 100 (weight 15)

- pass `stability.changes`: 3 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name
- pass `stability.new_links`: no tool change named a new site

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 8, about 2,995 tokens to load them all
- tool set hash: 45695e0fd9a985e0d1cdfe374b6fb9b8
- tools last changed: 2026-10-22T22:36:10.471Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.Poseidon-t/safestreets.svg)](https://protogrid.dev/servers/io.github.Poseidon-t/safestreets)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-22 `search_neighborhoods` changed (description)
  - before: Ranked neighborhood search across every US neighborhood (202,000+), for "where should I move" questions. Use this when someone is relocating and has not picked a town yet: filter to a county set, a metro, a state, a home-price ceiling or a walkability floor, then rank by walkability, transit, zero-car share, demand or home value. Each row carries median home value, median income, price-to-income ratio, commute mode shares, zero-car household share, and where available year-over-year home value growth and property tax rate — so walkability can be read alongside what living there costs. Counties are addressed by 5-digit state+county FIPS codes because county names repeat across states (there are Delaware Counties in PA, OH, NY and IN). Example: Chester PA 42029, Delaware PA 42045, Montgomery PA 42091, New Castle DE 10003. walkabilityIndex is the EPA National Walkability Index on its 1-20 scale, with a national percentile beside it, and sort_by "walk" ranks on it. It is not the 0-100 SafeStreets score; for that, follow up with get_walkability_score on a specific address.
  - after: Ranked neighborhood search across every US neighborhood (202,000+), for "where should I move" questions. Use this when someone is relocating and has not picked a town yet: filter to a county set, a metro, a state, a home-price ceiling or a walkability floor, then rank by walkability, transit, zero-car share, demand or home value. Each row carries median home value, median income, price-to-income ratio, commute mode shares, zero-car household share, and where available year-over-year home value growth and property tax rate — so walkability can be read alongside what living there costs. Counties are addressed by 5-digit state+county FIPS codes because county names repeat across states (there are Delaware Counties in PA, OH, NY and IN). Example: Chester PA 42029, Delaware PA 42045, Montgomery PA 42091, New Castle DE 10003. walkabilityIndex is the EPA National Walkability Index on its 1-20 scale, with a national percentile beside it, and sort_by "walk" ranks on it. It is a different scale from the 0-100 SafeStreets score, which comes from scoring one address.
- 2026-10-22 `score_many` changed (description)
  - before: Score up to 10 US locations in one request. Use this for a list: properties, branches, listings, sites. For two to a handful of places where the question is which is better, compare_locations answers it directly instead. Each location counts as one call against your allowance, so a list of ten costs ten. A location that cannot be resolved is reported in errors rather than failing the request.
  - after: Score up to 10 US locations in one request. Use this for a list: properties, branches, listings, sites. Each location counts as one call against your allowance, so a list of ten costs ten. A location that cannot be resolved is reported in errors rather than failing the request.
- 2026-10-22 `get_walkability_score` changed (description, inputSchema)
  - before: Score a US location on how good and how safe it is to walk, from a street address or from latitude/longitude. Call this when someone asks whether a place is walkable, how safe it is to walk, whether they could live somewhere without a car, how a neighborhood compares to another on foot, or when evaluating a specific address or property for walkability or pedestrian risk. Pass "address" when you have an address. Do not convert an address to coordinates yourself: coordinates recalled from memory land somewhere else, and this tool will score that other place and return a confident number for it. When an address is used, the reply carries resolvedFrom with the address that was actually matched, so check it before quoting the score. Returns a JSON object: overallScore 0-100 composite displayScore the same score as 0-10, which is how SafeStreets presents it grade A to F tier plain label, e.g. "Very walkable", "Car-dependent" confidence 0-100, how much underlying data was available for this point dataSources the sources that fed this specific result components four scored sub-dimensions, each with a 0-100 score and the individual metrics behind it: dailyReach errands reachable on foot streetSafety street design and pedestrian crash risk transitReach usable transit access walkingComfort shade, heat, air quality, surface plus networkDesign, which carries its metrics (network density, intersection density, block length, dead-end ratio) but reports score 0 at weight 0, so it does not contribute to the composite. Read its metrics, not its score. The keys safety, environmentalComfort and densityContext are backward-compatibility aliases of streetSafety, walkingComfort and dailyReach. They duplicate those objects rather than adding signal. The per-component metrics are the point: you can re-weight or rebuild the composite yourself instead of trusting one number. Coverage and limits: United States only. Pedestrian crash inputs are county-level, so two nearby points can share crash figures. Where the underlying crash record is missing, the safety component is reported as unavailable rather than guessed, and confidence drops accordingly. This does not return driving directions, transit timetables, crime statistics, or property listings.
  - after: Score a US location on how good and how safe it is to walk, from a street address or from latitude/longitude. Call this when someone asks whether a place is walkable, how safe it is to walk, whether they could live somewhere without a car, how a neighborhood compares to another on foot, or when evaluating a specific address or property for walkability or pedestrian risk. The server geocodes an address itself. Coordinates estimated from memory can land on a different place, which then gets a confident score of its own. When an address is given, the reply carries resolvedFrom with the address that was matched. Returns a JSON object: overallScore 0-100 composite displayScore the same score as 0-10, which is how SafeStreets presents it grade A to F tier plain label, e.g. "Very walkable", "Car-dependent" confidence 0-100, how much underlying data was available for this point reportUrl the full SafeStreets report for this point: map, metrics, PDF dataSources the sources that fed this specific result components four scored sub-dimensions, each with a 0-100 score and the individual metrics behind it: dailyReach errands reachable on foot streetSafety street design and pedestrian crash risk transitReach usable transit access walkingComfort shade, heat, air quality, surface plus networkDesign, which carries its metrics (network density, intersection density, block length, dead-end ratio) but reports score 0 at weight 0, so it does not contribute to the composite. Read its metrics, not its score. The keys safety, environmentalComfort and densityContext are backward-compatibility aliases of streetSafety, walkingComfort and dailyReach. They duplicate those objects rather than adding signal. The per-component metrics are the point: you can re-weight or rebuild the composite yourself instead of trusting one number. Coverage and limits: United States only. Pedestrian crash inputs are county-level, so two nearby points can share crash figures. Where the underlying crash record is missing, the safety component is reported as unavailable rather than guessed, and confidence drops accordingly. This does not return driving directions, transit timetables, crime statistics, or property listings.

Full history: https://api.protogrid.dev/v1/servers/io.github.Poseidon-t%2Fsafestreets/changes

## Remotes

- https://safestreets.streetsandcommons.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9404762)

## Packages

_none_

## Tools (8)

- `compare_locations`: Score 2 to 10 US locations and say how they differ.

Use this for "which of these is the most walkable", choosing between addresses, or any question that puts places side by side. Give addresses or coordinates, and a label for each if you want the results matched back to your own names.

Returns every location ranked, the best and worst, the spread between them, and the gap on each component. The per-component gap is usually the answer: two places can reach the same composite for opposite reasons, one with errands close by and dangerous streets, the other the reverse.

A location that cannot be resolved is reported in errors and the rest are still scored. Each location counts as one call against your allowance.
- `find_walkable_neighborhoods`: Neighborhoods inside a US city, ranked most walkable first, precomputed.

Use this for "which part of Chicago should I live in without a car". Returns up to 25 neighborhoods, each with its 0-10 score, tier and components. Covers 749 neighborhoods across the cities analysed so far, so an empty list means that city has not been broken down yet, not that it has no walkable areas.
- `get_city_walkability`: Walkability score for a whole US city, precomputed. Instant, no analysis.

Use this for "how walkable is Houston" rather than scoring a point inside it. Returns the 0-100 composite, the same score as 0-10, the tier, and the four components. Covers 203 cities; a city not in the set returns null, which means not covered rather than not walkable.
- `get_dangerous_corridors`: Road corridors where pedestrians were actually killed, from federal crash records.

Source: NHTSA FARS 2022-2024 (PER_TYP=5, INJ_SEV in 4,6). Each corridor carries the road name, the city, the total pedestrian deaths and a per-year breakdown, so a claim can be checked rather than taken on trust.

Give either a city, or a lat/lon with an optional radius. Use this when someone asks which roads are dangerous, where crashes happen, or wants evidence for a specific street. These are recorded deaths, not a model or a prediction: a road absent from the list had no recorded pedestrian fatality in the period, which is not the same as being safe.
- `get_walkability_score`: Score a US location on how good and how safe it is to walk, from a street address or from latitude/longitude.

Call this when someone asks whether a place is walkable, how safe it is to walk, whether they could live somewhere without a car, how a neighborhood compares to another on foot, or when evaluating a specific address or property for walkability or pedestrian risk.

The server geocodes an address itself. Coordinates estimated from memory can land on a different place, which then gets a confident score of its own. When an address is given, the reply carries resolvedFrom with the address that was matched.

Returns a JSON object:
  overallScore    0-100 composite
  displayScore    the same score as 0-10, which is how SafeStreets presents it
  grade           A to F
  tier            plain label, e.g. "Very walkable", "Car-dependent"
  confidence      0-100, how much underlying data was available for this point
  reportUrl       the full SafeStreets report for this point: map, metrics, PDF
  dataSources     the sources that fed this specific result
  components      four scored sub-dimensions, each with a 0-100 score and the
                  individual metrics behind it:
                    dailyReach      errands reachable on foot
                    streetSafety    street design and pedestrian crash risk
                    transitReach    usable transit access
                    walkingComfort  shade, heat, air quality, surface

                  plus networkDesign, which carries its metrics (network
                  density, intersection density, block length, dead-end ratio)
                  but reports score 0 at weight 0, so it does not contribute to
                  the composite. Read its metrics, not its score.

                  The keys safety, environmentalComfort and densityContext are
                  backward-compatibility aliases of streetSafety,
                  walkingComfort and dailyReach. They duplicate those objects
                  rather than adding signal.

The per-component metrics are the point: you can re-weight or rebuild the composite yourself instead of trusting one number.

Coverage and limits: United States only. Pedestrian crash inputs are county-level, so two nearby points can share crash figures. Where the underlying crash record is missing, the safety component is reported as unavailable rather than guessed, and confidence drops accordingly. This does not return driving directions, transit timetables, crime statistics, or property listings.
- `score_many`: Score up to 10 US locations in one request.

Use this for a list: properties, branches, listings, sites.

Each location counts as one call against your allowance, so a list of ten costs ten. A location that cannot be resolved is reported in errors rather than failing the request.
- `search_insights`: Search SafeStreets' published research on walkability, street design and pedestrian safety.

Returns the article title, summary, URL and its published questions and answers, so a finding can be quoted and linked rather than paraphrased from memory. 32 articles, each built on named public sources.

Use this when someone asks what the evidence says, wants a figure they can cite, or asks a general question about walkability that is not about one specific location.
- `search_neighborhoods`: Ranked neighborhood search across every US neighborhood (202,000+), for "where should I move" questions.

Use this when someone is relocating and has not picked a town yet: filter to a county set, a metro, a state, a home-price ceiling or a walkability floor, then rank by walkability, transit, zero-car share, demand or home value. Each row carries median home value, median income, price-to-income ratio, commute mode shares, zero-car household share, and where available year-over-year home value growth and property tax rate — so walkability can be read alongside what living there costs.

Counties are addressed by 5-digit state+county FIPS codes because county names repeat across states (there are Delaware Counties in PA, OH, NY and IN). Example: Chester PA 42029, Delaware PA 42045, Montgomery PA 42091, New Castle DE 10003.

walkabilityIndex is the EPA National Walkability Index on its 1-20 scale, with a national percentile beside it, and sort_by "walk" ranks on it. It is a different scale from the 0-100 SafeStreets score, which comes from scoring one address.
