FIRMSapi

com.firmsapiPublished by firmsapi.comOfficial publisherv1.0.0Updated Oct 27, 2026

Look up, search and validate U.S. CBP FIRMS facility codes for piers, CFS, warehouses and FTZs.

VerifiedStreamable HTTPWeb executableLocation & LifestyleBusiness & Commerce

Overview

AI-generated overview

Remote MCP server for looking up, searching and validating U.S. CBP FIRMS facility codes for piers, CFS, warehouses and FTZs.

What you can do
  • Look up a single FIRMS code with facility name, status, type, address, CBP port and other codes at the same address
  • Search facilities by name and/or street address, with typo-tolerant ranked matches and an option to include deleted codes
  • Find facilities near a latitude/longitude, another FIRMS code or a US street address, nearest first
  • Validate a code for pre-filing checks such as format, existence, active status, port and facility type
  • List CBP ports with facility and active counts, and page through the facilities of one port
When to use it
Useful for customs brokers, importers and logistics teams that need to confirm FIRMS codes before filing, find the right facility for a shipment, or check nearby bonded warehouses, CFS, FTZs and exam sites.
Requirements
A remote streamable HTTP endpoint; no local package. Requires a FIRMSapi API key sent in the x-api-key header, obtained from the provider's app. Test keys return fixture data; live keys count against a plan.
Before you install
The API key is a secret sent in the x-api-key header. Live keys consume counted calls against your plan, and some tools make one counted call per page or per search. Test keys return fixture data, so results are not real facility records.

Installation

In SourceWeft

  1. Open FIRMSapi in the dashboard and add it to a workspace.
  2. Connect x-api-key credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.firmsapi%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "firmsapi": {
      "type": "http",
      "url": "https://api.firmsapi.com/mcp",
      "headers": {
        "x-api-key": "<YOUR_API_KEY>"
      }
    }
  }
}

Tools

6

lookup_firms_code

Look up a FIRMS code

Get 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 returned with warnings. A code that is not on the list returns a not_found error, which still counts as a call. Wraps GET /v1/firms/{code}. Live keys (fapi_live_...): one counted call. Test keys (fapi_test_...): fixture sample data, not counted.

Parameterscoderequired

search_firms_facilities

Search facilities by name or address

Find 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 per search, however many results. Wraps GET /v1/search. Live keys (fapi_live_...): one counted call. Test keys (fapi_test_...): fixture sample data, not counted.

Parametersportlimitqueryrequiredstatetypesinclude_deleted

find_nearby_firms_facilities

Find facilities near a point, code or address

List 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). meta.origin says which point was used. Facilities whose address could not be geocoded are not included. Test keys use approximate coordinates. Wraps GET /v1/nearby. Live keys (fapi_live_...): one counted call. Test keys (fapi_test_...): fixture sample data, not counted.

Parameterslatloncodelimittypesaddressradius_kminclude_deleted

validate_firms_code

Check a FIRMS code before filing

Pre-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: FTZ 02; exam_site: CES 09; location_of_goods: not 07 or 08), not a placeholder. Returns valid, checks_passed, checks_failed, checks_skipped, checks_not_possible (bond status, FTZ zone ID, direct delivery, port clusters: not in the FIRMS list) and a note. valid: true is not ACE acceptance: FIRMSapi has no ACE connection, so confirm in ACE before filing. A failing code is a normal result (valid: false) and counts as a call. Wraps POST /v1/validate. Live keys (fapi_live_...): one counted call. Test keys (fapi_test_...): fixture sample data, not counted.

Parametersusecoderequiredport

list_cbp_ports

List CBP ports

Every 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.

Takes no parameters.

get_cbp_port

Get a CBP port and its facilities

One 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 call. Wraps GET /v1/ports/{port}. Live keys (fapi_live_...): one counted call. Test keys (fapi_test_...): fixture sample data, not counted.

Parametersportrequiredlimittypescursorinclude_deleted

Version history

1
  1. v1.0.0LatestOct 26, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.