Look up, search and validate U.S. CBP FIRMS facility codes for piers, CFS, warehouses and FTZs.
Connect Remote server
claude mcp add --transport http mcp https://api.firmsapi.com/mcp --header "x-api-key: <X_API_KEY>"
{
"mcpServers": {
"mcp": {
"url": "https://api.firmsapi.com/mcp",
"headers": {
"x-api-key": "<X_API_KEY>"
}
}
}
}
{
"servers": {
"mcp": {
"type": "http",
"url": "https://api.firmsapi.com/mcp",
"headers": {
"x-api-key": "<X_API_KEY>"
}
}
}
}
Settings > Connectors > Add custom connector
URL: https://api.firmsapi.com/mcp
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools 6 found in our last check
lookup_firms_codeGet one FIRMS code's record: facility name, status, type, address, CBP port, location and the other codes at the same address. Deleted codes and placeholders (junk: true) come back with warnings. An unknown code is a not_found error, which still counts as a call.
search_firms_facilitiesSearch FIRMS codes by facility name and/or street address. Typo-tolerant; returns matches ranked by a 0-100 score, active codes only unless include_deleted is true. One call per search.
find_nearby_firms_facilitiesList FIRMS facilities within radius_km of one origin, nearest first. Pass exactly one origin: lat and lon, code (that facility is left out of the results) or address (a US street address). meta.origin says which point was used. Facilities without coordinates are left out; test k…
validate_firms_codeCheck a FIRMS code against the published CBP list before filing, in order: format, exists (ACE reject 158), active (159), in the stated port (164), type fits the use, not a placeholder. Returns valid, checks_passed, checks_failed, checks_skipped and checks_not_possible (bond sta…
list_cbp_portsList every CBP port that has FIRMS codes, with name, state, region, facility_count and active_count, in one call.
get_cbp_portGet one CBP port and a page of its FIRMS facilities, ordered by code, without placeholders; active codes only unless include_deleted is true. For the next page pass cursor = meta.next_cursor (null on the last page); each page is one call.
Headers
| Name | Description |
|---|---|
x-api-keyRequired, secret | FIRMSapi API key from https://app.firmsapi.com. fapi_test_ keys return fixture data and are never counted; fapi_live_ keys count toward your plan. |
Details
| Endpoint | https://api.firmsapi.com/mcp (Streamable HTTP) |
| First published | 26 Oct 2026 |
| Last updated | 26 Oct 2026 |
| Registry name | com.firmsapi/mcp |
More search and web servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
