
FIRMSapi MCP server
Which MCP servers are FIRMSapi's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.
read 2026-10-29
- Registry namecom.firmsapi/mcpverified in the MCP registry
The registry name sits under firmsapi.com. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.
- Stateanswerschecked 2026-10-29
- Tools6
- Server calls itselffirmsapi
- Server version1.0.0
- Protocol version2025-06-18
On 2026-10-29 the server answered initialize and tools/list without a sign-in. First answer in 306 ms.
- Its tools do every use case we checked: look up CBP facility codes by terminal name; check a code's address, status and registered port; validate a facility code against the port on a filing.
- Checked on 4 of the 7 days it takes to judge reliability.
Once connected
- For "look up CBP facility codes by terminal name", the likely first call is search_firms_facilities.
- For "check a code's address, status and registered port", the likely first call is lookup_firms_code.
- For "validate a facility code against the port on a filing", the likely first call is validate_firms_code.
Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.
- INITE MCP scoreafter a weeka score needs 7 daily checks: 4 so far
- What an agent can do with it3 of 3 use cases
- Answeredmeasuring4 of the 7 daily checks it takes to print a share
- Median first answer300 ms
- Space in an agent's context≈ 1,819 tokensthe definitions of all its tools (6), which an agent carries on every turn
- Tool definitionsA · 100 of 100
- Typed results0 of 6 toolsdeclared outputSchema: results come typed, read once
- Every tool passes all six checks.
What an agent can do with it
- can do · look up CBP facility codes by terminal name
- can do · check a code's address, status and registered port
- can do · validate a facility code against the port on a filing
Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?
Worth a look
None of the five warning signs in these definitions.
A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →
lookup_firms_codeGet the CBP FIRMS record for one code: facility name, status (active or deleted), facility type, address, CBP port, location, and the other codes registered at the same address. Deleted codes and "DO NOT USE" placeholders (junk: true) are…
search_firms_facilitiesFind FIRMS codes from a facility name and/or street address, e.g. 'maher terminal elizabeth' or '231 tyler st newark'. Typo-tolerant; returns ranked matches with a 0-100 score. Active codes only unless include_deleted is true. One call…
find_nearby_firms_facilitiesList FIRMS facilities within radius_km, nearest first. Pass exactly one origin: lat and lon; code (another FIRMS facility, left out of the results); or address (a US street address, geocoded unless it is a FIRMS facility's own address)…
validate_firms_codePre-filing checks of a FIRMS code against the published CBP list, in order: format, exists (catches ACE reject 158), active (159), in the stated port (164), facility type fits the use (warehouse_entry: bonded warehouse 04; ftz_admission…
list_cbp_portsEvery CBP port that has FIRMS codes, with name, state, region, facility_count and active_count, in one call. Wraps GET /v1/ports. Live keys (fapi_live_...): one counted call. Test keys (fapi_test_...): fixture sample data, not counted.
get_cbp_portOne CBP port with a page of its FIRMS facilities, ordered by code. Placeholders are left out; 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…
How to connect
Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:
{
"mcpServers": {
"firmsapi": {
"type": "http",
"url": "https://api.firmsapi.com/mcp"
}
}
}Add it
Claude Code, in a terminal
claude mcp add --transport http firmsapi https://api.firmsapi.com/mcpclaude.ai, ChatGPT and other clients: add https://api.firmsapi.com/mcp as a custom connector in the settings.
Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.
Cookies
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.