FHWA bridge inventory: 624,193 bridges, condition, posting, clearance. 8 tools, free, no key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Bridges in a state whose vertical clearance is at or below max_height_m. Default clearance is over the roadway on the bridge (NBI Item 10); set under=true for the clearance under the bridge (Item 54B), which is what matters for routes passing beneath. Sentinel 'no restriction' values are excluded.
US state postal code, e.g. 'IL'
Clearance threshold in meters, e.g. 4.0
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Bridges in a state whose vertical clearance is at or below max_height_m. Default clearance is over the roadway on the bridge (NBI Item 10); set under=true for the clearance under the bridge (Item 54B), which is what matters for routes passing beneath. Sentinel 'no restriction' values are excluded.
| Argument | Type | Description |
|---|---|---|
| limit | number | |
| state* | string | US state postal code, e.g. 'IL' |
| under | boolean | |
| max_height_m* | number | Clearance threshold in meters, e.g. 4.0 |
{
"type": "object",
"required": [
"state",
"max_height_m"
],
"properties": {
"limit": {
"type": "number",
"default": 100
},
"state": {
"type": "string",
"description": "US state postal code, e.g. 'IL'"
},
"under": {
"type": "boolean",
"default": false
},
"max_height_m": {
"type": "number",
"description": "Clearance threshold in meters, e.g. 4.0"
}
}
}Get one bridge by its FHWA structure number (Item 8). Structure numbers are unique within a state; pass state to be exact. Returns the full decoded record.
| Argument | Type | Description |
|---|---|---|
| id* | string | Structure number, e.g. '016-0032' |
| state | string | US state postal code, e.g. 'IL' |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Structure number, e.g. '016-0032'"
},
"state": {
"type": "string",
"description": "US state postal code, e.g. 'IL'"
}
}
}Per-county bridge counts for a state, with Poor-condition and posted/closed counts per county.
| Argument | Type | Description |
|---|---|---|
| state* | string | US state postal code, e.g. 'IL' |
{
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"type": "string",
"description": "US state postal code, e.g. 'IL'"
}
}
}Bridge summary for one state: total bridges, counts by condition (Good/Fair/Poor), posted and closed counts, scour-critical count, average year built, total deck area. Without a state, returns per-state totals with condition counts for all states.
| Argument | Type | Description |
|---|---|---|
| state | string | US state postal code, e.g. 'IL' |
{
"type": "object",
"properties": {
"state": {
"type": "string",
"description": "US state postal code, e.g. 'IL'"
}
}
}The worst-rated bridges in a state (condition = Poor), ordered by lowest component rating then age. State is required. Use for 'worst bridges in X' questions.
| Argument | Type | Description |
|---|---|---|
| limit | number | |
| state | string | US state postal code, e.g. 'IL' |
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"default": 50
},
"state": {
"type": "string",
"description": "US state postal code, e.g. 'IL'"
}
}
}List bridges in one county (state + 3-digit FIPS county code), paged.
| Argument | Type | Description |
|---|---|---|
| limit | number | |
| state* | string | US state postal code, e.g. 'IL' |
| county* | string | 3-digit FIPS county code |
| offset | number |
{
"type": "object",
"required": [
"state",
"county"
],
"properties": {
"limit": {
"type": "number",
"default": 100
},
"state": {
"type": "string",
"description": "US state postal code, e.g. 'IL'"
},
"county": {
"type": "string",
"description": "3-digit FIPS county code"
},
"offset": {
"type": "number",
"default": 0
}
}
}Bridges in a state that are load-posted or closed to traffic (NBI Item 41 status P/R/K), worst condition first. Relevant for routing and heavy-haul feasibility — but per FHWA, NBI data must not be used as the sole source for route clearance; inspections can be up to ~24 months old.
| Argument | Type | Description |
|---|---|---|
| limit | number | |
| state* | string | US state postal code, e.g. 'IL' |
| offset | number |
{
"type": "object",
"required": [
"state"
],
"properties": {
"limit": {
"type": "number",
"default": 100
},
"state": {
"type": "string",
"description": "US state postal code, e.g. 'IL'"
},
"offset": {
"type": "number",
"default": 0
}
}
}Search US bridges in the FHWA National Bridge Inventory. Scope with state, county (3-digit FIPS code), and/or condition (Good/Fair/Poor); optional filters: posting_status (open/posted/closed/not_yet_open), owner_code, scour_critical, year_min/year_max, min_adt, route, and q (text match on facility carried, feature crossed, location). Returns decoded records with condition rollup, posting status, clearances, and labels.
| Argument | Type | Description |
|---|---|---|
| q | string | Text match: facility carried / feature crossed / location |
| limit | number | |
| route | string | Route number carried, e.g. '90' |
| state | string | US state postal code, e.g. 'IL' |
| county | string | 3-digit FIPS county code within the state |
| offset | number | |
| min_adt | number | Minimum average daily traffic |
| year_max | number | |
| year_min | number | |
| condition | string |
| posting_status | string |
| scour_critical | boolean |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Text match: facility carried / feature crossed / location"
},
"limit": {
"type": "number",
"default": 100
},
"route": {
"type": "string",
"description": "Route number carried, e.g. '90'"
},
"state": {
"type": "string",
"description": "US state postal code, e.g. 'IL'"
},
"county": {
"type": "string",
"description": "3-digit FIPS county code within the state"
},
"offset": {
"type": "number",
"default": 0
},
"min_adt": {
"type": "number",
"description": "Minimum average daily traffic"
},
"year_max": {
"type": "number"
},
"year_min": {
"type": "number"
},
"condition": {
"enum": [
"Good",
"Fair",
"Poor"
],
"type": "string"
},
"posting_status": {
"enum": [
"open",
"posted",
"closed",
"not_yet_open"
],
"type": "string"
},
"scour_critical": {
"type": "boolean"
}
}
}