Once connected, your assistant can call any of the tools below. Each is documented as a synthetic
POST /tools/{name} operation with its complete input schema, output schema, and required permissions —
see the note on each operation for how this maps to the real MCP transport. The same information is also
available at connect time via the MCP tools/list method.
Each tool also carries MCP's standard tool annotations — hints like whether a tool is destructive or reaches outside Flexport's own data. These aren't visible on this page; the few tools where a hint differs from the rest are called out on their own operation below with an Annotations: line.
Search shipments by status, mode, date range, task, or demurrage/detention risk, with combinable filters.
browse_shipments — Search shipments by status, mode, date range, task, or demurrage/detention risk, with combinable filters.Find any shipment and see where it is in its lifecycle.
track_shipment — Find any shipment and see where it is in its lifecycle.Search rates, request pricing, and create bookings.
rates_search_instant_price — Search and evaluate instant prices for a shipment lane.rates_evaluate_total_price_from_instant_price_search — Get the full priced breakdown for a specific instant price search result.rates_instant_book — Book a shipment against a confirmed instant price.rates_book_without_rate — Book a shipment without an existing rate, for supplier flows.rates_request_rate — Request a rate quote for a lane that isn't instantly bookable.rates_browse_quote_requests — List your organization's rate quote requests.rates_get_quote_request_details — Get the detail of a specific rate quote request.rates_get_quote_details — Get the detail of a specific quote.Search Flexport's network of addresses, companies, ports, and commodity codes.
network_search_addresses — Search and autocomplete addresses in your organization's network.network_search_google_addresses — Search addresses via Google Places, for addresses not yet in your network.network_search_company_entities — Search Flexport company entities and trading partners.network_search_ports — Search sea and air port locations by name or code.network_search_hs_codes — Search Harmonized System codes for commodity classification.list_active_company_users — List active users on your organization's Flexport account.Browse Flexport-managed shipments matching status, mode, date range, task, or demurrage/detention filters, paginated. Returns up to 100 tenant-scoped shipments per page with route stops, containers with last-free-day info, customs entries, exceptions, open work item tasks, and metadata tags. Lifecycle milestones are only populated by track_shipment.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Analyst, Billing, Member, Tracker
Successful tool call.
{- "after": "string",
- "arrival_range": {
- "from": "string",
- "to": "string"
}, - "delivery_range": {
- "from": "string",
- "to": "string"
}, - "demurrage_risk": {
- "from": "string",
- "to": "string"
}, - "departure_range": {
- "from": "string",
- "to": "string"
}, - "detention_risk": {
- "from": "string",
- "to": "string"
}, - "first": 1,
- "flags": [
- "HAS_OPEN_TASK"
], - "is_completed": true,
- "modes": [
- "OCEAN_FCL"
], - "statuses": [
- "SHIPPER_LOCATION"
]
}{- "end_cursor": "string",
- "has_next_page": true,
- "shipments": [
- {
- "containers": [
- {
- "container_number": "string",
- "demurrage_last_free_day": "string",
- "detention_last_free_day": "string",
- "container_size": "string",
- "container_type": "string"
}
], - "created_at": "string",
- "customs": [
- {
- "entry_number": "string",
- "status": "string",
- "agency_statuses": [
- {
- "agency": "string",
- "disposition": "string"
}
]
}
], - "exceptions": [
- {
- "category": "string",
- "created_at": "string",
- "status": "string",
- "type": "string"
}
], - "flex_id": "string",
- "incoterm": "string",
- "is_completed": true,
- "milestones": [
- {
- "date": "string",
- "id": "string",
- "label": "string",
- "status": "string"
}
], - "mode": "string",
- "name": "string",
- "priority": "string",
- "route": [
- {
- "arrival_at": "string",
- "city": "string",
- "country": "string",
- "departure_at": "string",
- "name": "string",
- "street_address": "string",
- "type": "string",
- "arrival_at_source": "string",
- "carrier_name": "string",
- "departure_at_source": "string",
- "vessel_name": "string",
- "voyage_number": "string"
}
], - "status": "string",
- "tags": [
- {
- "name": "string",
- "value": "string"
}
], - "tasks": [
- {
- "due_at": "string",
- "state": "string",
- "title": "string",
- "work_item_type": "string"
}
], - "cargo_ready_date": "string",
- "cargo_ready_date_status": "string",
- "customs_status": "string",
- "original_eta": "string",
- "planned_cargo_ready_date": "string"
}
]
}Search for a Flexport shipment by FLEX-ID, name, or client-assigned tag. Returns up to 20 matching shipments with full tracking detail: route stops, containers with last-free-day info, customs declarations with hold status, exceptions, work item tasks, and metadata tags.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Analyst, Billing, Member, Tracker
| flex_id | string or null Flexport FLEX-ID to search for (e.g. "FLEX-1234567"). Exact match only — unlike name and tag, an ID with no exact match returns no results rather than a close (fuzzy) one. Mutually exclusive with name and tag — supply exactly one. |
| name | string or null Shipment name to search for. Matches exactly when possible, otherwise returns close (fuzzy) matches. Mutually exclusive with flex_id and tag — supply exactly one. |
| tag | string or null Client-assigned tag value to search for. Matches exactly when possible, otherwise returns close (fuzzy) matches. Mutually exclusive with flex_id and name — supply exactly one. |
Successful tool call.
required | Array of objects Matching shipments (up to 20). | ||||||||||||||||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||||||||||||||||
| total_count | integer or null Total number of matching shipments, when known. Name and tag searches return at most 20 shipments with no pagination, so total_count can exceed the number returned. The unreturned matches are not ordered or visible; the returned set does not establish which shipments are newest or oldest. For a flex_id search, the total equals the number returned because a FLEX-ID matches at most one shipment. Null means the total is unknown. A response of 20 shipments may therefore be incomplete even when total_count is null. | ||||||||||||||||||||||||||||||||||||||||
{- "flex_id": "string",
- "name": "string",
- "tag": "string"
}{- "shipments": [
- {
- "containers": [
- {
- "container_number": "string",
- "demurrage_last_free_day": "string",
- "detention_last_free_day": "string",
- "container_size": "string",
- "container_type": "string"
}
], - "created_at": "string",
- "customs": [
- {
- "entry_number": "string",
- "status": "string",
- "agency_statuses": [
- {
- "agency": "string",
- "disposition": "string"
}
]
}
], - "exceptions": [
- {
- "category": "string",
- "created_at": "string",
- "status": "string",
- "type": "string"
}
], - "flex_id": "string",
- "incoterm": "string",
- "is_completed": true,
- "milestones": [
- {
- "date": "string",
- "id": "string",
- "label": "string",
- "status": "string"
}
], - "mode": "string",
- "name": "string",
- "priority": "string",
- "route": [
- {
- "arrival_at": "string",
- "city": "string",
- "country": "string",
- "departure_at": "string",
- "name": "string",
- "street_address": "string",
- "type": "string",
- "arrival_at_source": "string",
- "carrier_name": "string",
- "departure_at_source": "string",
- "vessel_name": "string",
- "voyage_number": "string"
}
], - "status": "string",
- "tags": [
- {
- "name": "string",
- "value": "string"
}
], - "tasks": [
- {
- "due_at": "string",
- "state": "string",
- "title": "string",
- "work_item_type": "string"
}
], - "cargo_ready_date": "string",
- "cargo_ready_date_status": "string",
- "customs_status": "string",
- "original_eta": "string",
- "planned_cargo_ready_date": "string"
}
], - "total_count": 0
}Search available instant-price freight rates for Ocean FCL, Ocean LCL, or Air shipments, given origin, destination, cargo-ready date, incoterm, and cargo details. Returns rate options with carrier, pricing, transit time, charge breakdown, available add-on services, detention options, and CO2e emissions. Doesn't support dangerous goods or FTL/road-only shipments.
Rate types include SPOT, FAK, INDEX, and FIXED. FIXED and INDEX results with allocation include nac_allocation with weekly TEU availability. Services marked force_included are included and cannot be removed; other add-on services are optional. Detention tiers show total free days, while price evaluation and snapshot booking take additional days beyond detention_base_free_days.
A selected result can be evaluated with rates_evaluate_total_price_from_instant_price_search. Snapshot booking requires that evaluation's price_confirmation_token and matching snapshot IDs, service flags, and additional detention days. If empty_reason is set, no instant-price rates are available; rates_book_without_rate and rates_request_rate provide alternative booking and rate-request options.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Billing, Member
required | object Cargo details. For ocean_fcl, provide container_info with container counts. For ocean_lcl or air, provide loose_cargo_info with total_weight_kg and total_volume_cbm; for air, also provide shipping_units with dimensions to detect oversized cargo. Must include dangerous_goods screening. | ||||||
| |||||||
| cargo_ready_date required | string ISO date when cargo is ready at origin, e.g. 2025-09-01. | ||||||
| destination_commerce_address_fid | string or null Destination address — a Flexport FID string beginning 'flx::', not a numeric ID. Required when freight_type is port_to_door or door_to_door; also accepted for *_to_port to let the backend resolve the nearest port from the address coordinates. Use the address_fid from a network_search_addresses result for an address already onboarded in Flexport, or the commerce_address_fid from a network_search_google_addresses result for a general address (e.g. city, postal code, street address). | ||||||
| destination_port_id | integer or null Destination port — a numeric ID, taken from the port_id field of a network_search_ports result. Used when freight_type is port_to_port or door_to_port and a specific port is specified. Mutually exclusive with destination_commerce_address_fid for PORT. | ||||||
| freight_type required | string Service scope controlling pickup and delivery: port_to_port, port_to_door, door_to_port, or door_to_door. Door service requires an address. Port service accepts either a port ID or an address whose coordinates the backend uses to find the nearest port. | ||||||
| incoterm required | string Trade term governing cost/risk split: EXW, FCA, FAS, FOB, CFR, CIF, CPT, CIP, DAP, DAT, DPU, or DDP. | ||||||
| origin_commerce_address_fid | string or null Origin address — a Flexport FID string beginning 'flx::', not a numeric ID. Required when freight_type is door_to_port or door_to_door; also accepted for port_to_* to let the backend resolve the nearest port from the address coordinates. Use the address_fid from a network_search_addresses result for an address already onboarded in Flexport, or the commerce_address_fid from a network_search_google_addresses result for a general address (e.g. city, postal code, street address). | ||||||
| origin_port_id | integer or null Origin port — a numeric ID, taken from the port_id field of a network_search_ports result. Used when freight_type is port_to_port or port_to_door and a specific port is specified. Mutually exclusive with origin_commerce_address_fid for PORT. | ||||||
| transportation_mode required | string Freight mode: ocean_fcl, ocean_lcl, or air. | ||||||
Successful tool call.
| empty_reason | string or null Set when results is empty. AIR_CARGO_OVERSIZED means one or more packages exceed regional dimension limits. NO_RESULTS means no instant-price rates were found. | ||||||||||||||||||||||||||||||||||||||||||
| errors | Array of strings | ||||||||||||||||||||||||||||||||||||||||||
required | Array of objects List of available rate options. | ||||||||||||||||||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||||||||||||||||||
| search_snapshot_id | string or null Snapshot ID for this search. Pass to follow-up calls to identify the search session. | ||||||||||||||||||||||||||||||||||||||||||
{- "cargo": {
- "container_info": {
- "container_20ft": 0,
- "container_40ft": 0,
- "container_40ft_hc": 0,
- "container_45ft_hc": 0
}, - "dangerous_goods": {
- "contains_dangerous_good": true,
- "dangerous_goods_types": [
- "HAZMAT"
], - "lithium_batteries_packing_types": [
- "CONTAINED_IN_BATTERY_POWERED_VEHICLE"
]
}, - "loose_cargo_info": {
- "shipping_units": [
- {
- "atomic_count": 0,
- "count": 0,
- "dimension_metric_units": true,
- "height": 0,
- "length": 0,
- "name": "string",
- "unit_type": "bag",
- "volume": 0,
- "volume_metric_units": true,
- "weight": 0,
- "weight_metric_units": true,
- "width": 0
}
], - "total_volume_cbm": 0,
- "total_weight_kg": 0
}
}, - "cargo_ready_date": "string",
- "destination_commerce_address_fid": "string",
- "destination_port_id": 0,
- "freight_type": "port_to_port",
- "incoterm": "CFR",
- "origin_commerce_address_fid": "string",
- "origin_port_id": 0,
- "transportation_mode": "air"
}{- "empty_reason": "string",
- "errors": [
- "string"
], - "results": [
- {
- "addon_service_options": [
- {
- "force_included": true,
- "service_type": "string"
}
], - "carrier_name": "string",
- "charge_line_items": [
- {
- "amount": "string",
- "category": "string",
- "title": "string",
- "unit": "string"
}
], - "co2e_tonnes": 0,
- "detention_addon_options": [
- {
- "addon_price": {
- "amount": "string",
- "currency": "string"
}, - "total_free_days": 0
}
], - "detention_base_free_days": 0,
- "effective_date": "string",
- "expiration_date": "string",
- "gri_applicable": true,
- "item_snapshot_id": "string",
- "nac_allocation": {
- "crd_week": {
- "availability": "string",
- "available_allocation": 0,
- "feasible": true,
- "total_allocation": 0,
- "week_date_range": "string"
}, - "requested_teus": 0,
- "total_remaining_available": 0,
- "total_remaining_capacity": 0,
- "upcoming_weeks": [
- {
- "availability": "string",
- "available_allocation": 0,
- "feasible": true,
- "total_allocation": 0,
- "week_date_range": "string"
}
]
}, - "port_to_port_transit_max_days": 0,
- "port_to_port_transit_min_days": 0,
- "rate_type": "string",
- "route": {
- "destination_port": {
- "country_code": "string",
- "display_name": "string",
- "iata_code": "string",
- "loc_code": "string",
- "name": "string",
- "port_id": 0
}, - "destination_via_port": {
- "country_code": "string",
- "display_name": "string",
- "iata_code": "string",
- "loc_code": "string",
- "name": "string",
- "port_id": 0
}, - "origin_port": {
- "country_code": "string",
- "display_name": "string",
- "iata_code": "string",
- "loc_code": "string",
- "name": "string",
- "port_id": 0
}, - "origin_via_port": {
- "country_code": "string",
- "display_name": "string",
- "iata_code": "string",
- "loc_code": "string",
- "name": "string",
- "port_id": 0
}, - "route_type": "string"
}, - "service_level": "string",
- "tags": [
- "string"
], - "total_price": {
- "amount": "string",
- "currency": "string"
}, - "total_transit_max_days": 0,
- "total_transit_min_days": 0,
- "disclaimer": "string"
}
], - "search_snapshot_id": "string"
}Get the full, live-evaluated price breakdown — including any selected add-on services and detention options — for a rate selected from rates_search_instant_price results. Returns the total price, itemized charges by category, and a confirmation token used to complete the booking with rates_instant_book.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Billing, Member
| detention_addon_free_days | integer or null Additional detention free days beyond the base free days included in the rate, corresponding to an add-on tier from detention_addon_options in the search result. Equal to the chosen tier's total_free_days minus the base free days. Omit (null) to price with only the base free days included in the rate. |
| item_snapshot_id required | string Identifier for the offering bundle to evaluate, taken from the item_snapshot_id field of a rates_search_instant_price result. |
| search_snapshot_id required | string search_snapshot_id from the rates_search_instant_price result. Carries the search form data (cargo, routing, incoterm, dates) used to reconstruct the pricing request. |
| wants_export_customs | boolean Whether to include Flexport export customs service in the evaluated price. True if the service is force-included (force_included=true) or was selected as an add-on, false otherwise. |
| wants_hk_trade_declaration | boolean Whether to include Hong Kong trade declaration service in the evaluated price. True if the service is force-included (force_included=true) or was selected as an add-on, false otherwise. |
| wants_import_customs | boolean Whether to include Flexport import customs service in the evaluated price. True if the service is force-included (force_included=true) or was selected as an add-on, false otherwise. |
| wants_inbond_transit | boolean Whether to include in-bond transit in the evaluated price. True if the service is force-included (force_included=true) or was selected as an add-on, false otherwise. |
| wants_insurance | boolean Whether to include cargo insurance in the evaluated price. True if the service is force-included (force_included=true) or was selected as an add-on, false otherwise. |
Successful tool call.
required | Array of objects Itemized charge line items. Each item includes a category (freight, origin, destination, customs, additional, capital, future_applicable), title, amount, and unit. |
| price_confirmation_token required | string Deterministic selection fingerprint returned with the evaluated price. Must be passed unchanged to rates_instant_book, which rejects bookings whose search_snapshot_id, item_snapshot_id, wants_* flags, or detention_addon_free_days differ from this value. This is a workflow guard, not a security credential or proof that this tool ran. |
required | object Total evaluated price for the selected offering bundle. |
{- "detention_addon_free_days": 0,
- "item_snapshot_id": "string",
- "search_snapshot_id": "string",
- "wants_export_customs": true,
- "wants_hk_trade_declaration": true,
- "wants_import_customs": true,
- "wants_inbond_transit": true,
- "wants_insurance": true
}{- "charge_line_items": [
- {
- "amount": "string",
- "category": "string",
- "title": "string",
- "unit": "string"
}
], - "price_confirmation_token": "string",
- "total_price": {
- "amount": "string",
- "currency": "string"
}
}Instantly create a real, binding booking, either against a prior rates_search_instant_price result or against a known client rate identifier. The booking cannot be undone through this interface. Exactly one booking mode is required.
Snapshot mode reuses cargo, cargo-ready date, route, and incoterm from the search. It requires the price_confirmation_token from rates_evaluate_total_price_from_instant_price_search for the same snapshot IDs, add-on service flags, and additional detention days. A missing or mismatched token returns REQUIRES_PRICE_CONFIRMATION without creating a booking. When nac_allocation is present, a feasible sailing week is required in ssat_allocation_preference.
Client-rate mode requires a directly supplied client_rate_id, cargo_ready_date, and cargo_details. It validates the rate's active, expiry, and effective status and transportation mode. Validation failures return a structured error_code without creating a booking. This mode does not require a price confirmation token.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Billing, Member
Annotations: destructive
object or null Cargo details for the booking. Required when booking via client_rate_id, and must match the rate's transportation mode (container_info for ocean_fcl, loose_cargo_info for ocean_lcl or air). Ignored when booking via search_snapshot_id/item_snapshot_id, since cargo is reused from the original search snapshot so the booking matches what was priced. | |||||||
| |||||||
| cargo_ready_date | string or null Cargo ready date in YYYY-MM-DD format. Required when booking via client_rate_id. Ignored when booking via search_snapshot_id/item_snapshot_id — the date from the original search is reused so the booking matches what was priced. | ||||||
| client_note | string or null Optional note from client | ||||||
| client_rate_id | integer or null Numeric client rate ID to book. No currently available tool returns this value; it must be supplied directly. Alternatively, a rate can be identified by search_snapshot_id and item_snapshot_id from rates_search_instant_price. Exactly one of these two modes is required. | ||||||
| description_of_product | string or null Optional description of products being shipped | ||||||
| detention_addon_free_days | integer or null Additional detention free days in snapshot mode (search_snapshot_id and item_snapshot_id). Ignored for client_rate_id and does not purchase an add-on in that mode. Equal to the selected detention_addon_options[].total_free_days minus detention_base_free_days from the search result; for example, 11 total minus 4 base equals 7 additional days. Must match the additional days passed to rates_evaluate_total_price_from_instant_price_search. Omit to book with the base free days. | ||||||
| item_snapshot_id | string or null Item snapshot ID identifying which rates_search_instant_price result to book. Must be paired with search_snapshot_id. | ||||||
| name | string or null Optional name/description for the booking | ||||||
| price_confirmation_token | string or null Required in snapshot mode. Must be the price_confirmation_token returned by rates_evaluate_total_price_from_instant_price_search for the same search_snapshot_id, item_snapshot_id, wants_* flags, and detention_addon_free_days being booked; this endpoint recomputes the same selection fingerprint and rejects the booking if it does not match. This is a workflow-consistency guard, not an authentication credential. Ignored for client_rate_id mode. | ||||||
| search_snapshot_id | string or null Search snapshot ID from a prior rates_search_instant_price call. Must be paired with item_snapshot_id. Exactly one of this pair or client_rate_id is required. | ||||||
object or null SSAT sailing week preference. Required in snapshot mode when the search result includes nac_allocation, using the year and week of a feasible allocation week. Each week includes week_date_range and available_allocation; nac_allocation.requested_teus contains the shipment's required TEUs. Omitted when nac_allocation is absent. | |||||||
| wants_export_customs | boolean Whether to include Flexport export customs service. Must be true if it is force_included=true on the search result's addon_service_options, and should be kept in sync with the value passed to rates_evaluate_total_price_from_instant_price_search. Snapshot mode only (search_snapshot_id + item_snapshot_id); ignored for client_rate_id. Fails if this rate does not offer or allow export customs. | ||||||
| wants_hk_trade_declaration | boolean Whether to include Hong Kong trade declaration service. Must be true if it is force_included=true on the search result's addon_service_options, and should be kept in sync with the value passed to rates_evaluate_total_price_from_instant_price_search. Snapshot mode only (search_snapshot_id + item_snapshot_id); ignored for client_rate_id. Fails if this rate does not offer or allow Hong Kong trade declaration. | ||||||
| wants_import_customs | boolean Whether to include Flexport import customs service. Must be true if it is force_included=true on the search result's addon_service_options, and should be kept in sync with the value passed to rates_evaluate_total_price_from_instant_price_search. Snapshot mode only (search_snapshot_id + item_snapshot_id); ignored for client_rate_id. Fails if this rate does not offer or allow import customs. | ||||||
| wants_inbond_transit | boolean Whether to include in-bond transit. Must be true if it is force_included=true on the search result's addon_service_options, and should be kept in sync with the value passed to rates_evaluate_total_price_from_instant_price_search. Snapshot mode only (search_snapshot_id + item_snapshot_id); ignored for client_rate_id. Fails if this rate does not offer or allow in-bond transit. | ||||||
| wants_insurance | boolean Whether to include cargo insurance. Must be true if it is force_included=true on the search result's addon_service_options, and should be kept in sync with the value passed to rates_evaluate_total_price_from_instant_price_search. Snapshot mode only (search_snapshot_id + item_snapshot_id); ignored for client_rate_id. Fails if this rate does not offer or allow insurance. | ||||||
Successful tool call.
| booking_id | integer or null Created booking ID (numeric dbid), null if the booking failed. |
| client_note | string or null Client note echoed back from the request. |
| description_of_product | string or null Description of product echoed back from the request. |
| destination | string or null Destination display name (port or address) of the booked rate. |
| error_code | string or null Failure reason, null on success. One of: RATE_LOOKUP_FAILED, RATE_NOT_FOUND, RATE_CLIENT_MISMATCH, RATE_NOT_ACTIVE, RATE_EXPIRED, RATE_NOT_YET_EFFECTIVE, CARGO_MODE_MISMATCH, BOOKING_FAILED, BOOKING_INCOMPLETE, SNAPSHOT_NOT_FOUND, SNAPSHOT_CLIENT_MISMATCH, MODE_NOT_ENABLED, REQUIRES_PRICE_CONFIRMATION. |
| error_message | string or null Human-readable failure reason, null on success. |
| flex_id | string or null Created shipment FLEX-ID (e.g. "FLEX-1234567"), null if the booking failed. |
| incoterm | string or null Incoterm of the booked rate. |
| name | string or null Name/description echoed back from the request. |
| origin | string or null Origin display name (port or address) of the booked rate. |
| quote_id | integer or null Created quote ID (numeric dbid), null if the booking failed. |
| shipment_id | integer or null Created shipment ID (numeric dbid), null if the booking failed. |
| success required | boolean Whether the booking was created successfully. |
| transportation_mode | string or null Transportation mode of the booked rate. |
| url | string or null URL to view the created shipment in the Flexport app, null if the booking failed. |
{- "cargo_details": {
- "container_info": {
- "container_20ft": 0,
- "container_40ft": 0,
- "container_40ft_hc": 0,
- "container_45ft_hc": 0
}, - "dangerous_goods": {
- "contains_dangerous_good": true,
- "dangerous_goods_types": [
- "HAZMAT"
], - "lithium_batteries_packing_types": [
- "CONTAINED_IN_BATTERY_POWERED_VEHICLE"
]
}, - "loose_cargo_info": {
- "shipping_units": [
- {
- "atomic_count": 0,
- "count": 0,
- "dimension_metric_units": true,
- "height": 0,
- "length": 0,
- "name": "string",
- "unit_type": "bag",
- "volume": 0,
- "volume_metric_units": true,
- "weight": 0,
- "weight_metric_units": true,
- "width": 0
}
], - "total_volume_cbm": 0,
- "total_weight_kg": 0
}
}, - "cargo_ready_date": "string",
- "client_note": "string",
- "client_rate_id": 0,
- "description_of_product": "string",
- "detention_addon_free_days": 0,
- "item_snapshot_id": "string",
- "name": "string",
- "price_confirmation_token": "string",
- "search_snapshot_id": "string",
- "ssat_allocation_preference": {
- "week": 0,
- "year": 0
}, - "wants_export_customs": true,
- "wants_hk_trade_declaration": true,
- "wants_import_customs": true,
- "wants_inbond_transit": true,
- "wants_insurance": true
}{- "booking_id": 0,
- "client_note": "string",
- "description_of_product": "string",
- "destination": "string",
- "error_code": "string",
- "error_message": "string",
- "flex_id": "string",
- "incoterm": "string",
- "name": "string",
- "origin": "string",
- "quote_id": 0,
- "shipment_id": 0,
- "success": true,
- "transportation_mode": "string",
- "url": "string"
}Create and submit an unrated supplier booking for consignee acceptance — for suppliers or shippers booking without a rate. Flexport prepares the quote for the consignee after submission. Dangerous-goods cargo, document uploads, and automatic fulfillment inbound creation are unsupported. Addresses must be onboarded in Flexport and resolved with network_search_addresses; Google-address search results are unsupported.
An initial call without booking_confirmation_token validates the complete booking and returns a fingerprint for confirmation. Submission requires the same booking details and the unchanged token after confirmation. Any booking-detail change requires a new preflight.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Billing, Member
Annotations: destructive
| booking_confirmation_token | string or null Payload fingerprint returned by a previous preflight of these exact booking details. Reuse the token unchanged on retry; any change to the booking details invalidates it. | ||||||||||||||||||||||
required | Array of objects HS commodity lines for the shipment. Codes can be found via network_search_hs_codes. Exact duplicate code/description pairs are rejected rather than merged. At least one complete entry is required for a non-trucking booking. | ||||||||||||||||||||||
Array
| |||||||||||||||||||||||
required | object Total cargo measurements, packaging, piece counts, and dangerous-goods screening answers. This tool supports only false for every dangerous-goods field. | ||||||||||||||||||||||
| |||||||||||||||||||||||
| cargo_ready_date required | string Date in YYYY-MM-DD format when the supplier expects the cargo to be packed and available for pickup or handoff. | ||||||||||||||||||||||
| consignee_entity_id required | integer Consignee company entity numeric ID. Obtained from an active entity with the CONSIGNEE role via network_search_company_entities, using its company_entity_id field. | ||||||||||||||||||||||
null or string Whether the cargo contains strategic or export-controlled goods: yes, no, or notsure. Relevant when either the loading or unloading port is in Hong Kong. The eccn_codes field is required when yes. | |||||||||||||||||||||||
Any of: Whether the cargo contains strategic or export-controlled goods: yes, no, or notsure. Relevant when either the loading or unloading port is in Hong Kong. The eccn_codes field is required when yes. null | |||||||||||||||||||||||
| delivery_date | string or null Supplier's requested target arrival date at the final destination in YYYY-MM-DD format. This is a planning target, not a carrier-confirmed ETA or delivery appointment. | ||||||||||||||||||||||
| description_of_products | string or null Plain-language description of the products being shipped. | ||||||||||||||||||||||
| eccn_codes | string or null Comma-separated Export Control Classification Numbers for controlled goods, for example '3A001, 5A002'. | ||||||||||||||||||||||
| estimated_commercial_invoice_value | integer or null Estimated total merchandise value that will appear on the commercial invoice, in whole USD. This is cargo value, not freight cost, customs duty, or insurance premium. | ||||||||||||||||||||||
| memo | string or null Optional booking note or handling instruction for Flexport operations. | ||||||||||||||||||||||
required | Array of objects Optional booking shipment tags configured by the consignee. The tool validates supplied tags against the consignee's active booking metadata schema. Provide an empty list when no tags should be added. | ||||||||||||||||||||||
| name required | string Supplier-facing reference name used to identify this booking or shipment. | ||||||||||||||||||||||
| notify_party | string or null Party to notify when the cargo arrives. Required when notify_party_same_as_consignee is false. | ||||||||||||||||||||||
| notify_party_same_as_consignee required | boolean Whether the notify party is the consignee. When true, omit notify_party. When false, provide notify_party. | ||||||||||||||||||||||
| origin_address_fid required | string Cargo's origin location, normally the supplier facility where cargo is available for pickup — a Flexport FID string beginning 'flx::', NOT a numeric ID. Obtained from the address_fid field returned by network_search_addresses. If no matching address exists, it must be added in Flexport first. | ||||||||||||||||||||||
| origin_delivery_note | string or null Optional pickup instructions or access details for the origin location. Provide only when pickup service is selected. | ||||||||||||||||||||||
| origin_localized_address | string or null Localized-language pickup address, primarily the Chinese version of a China origin address. Provide only when pickup service is selected. | ||||||||||||||||||||||
| origin_needs_help_unloading | boolean or null Whether additional labor is needed to help load or unload cargo at pickup. Provide only when pickup service is selected. | ||||||||||||||||||||||
| policy_violations_confirmed | boolean Whether previously returned non-blocking Stoplight policy violations have been reviewed and confirmed. False on the initial attempt. | ||||||||||||||||||||||
| service_selection_confirmed required | boolean Whether the applicable service choices (pickup, delivery, export customs, and, where relevant, Hong Kong trade declaration) have been confirmed. Truck is always pickup and delivery door to door. For air and ocean, pickup defaults to true for EXW and FCA Factory and false for other incoterms; delivery defaults false. Export customs defaults true only for EXW. Hong Kong trade declaration is relevant when the origin address or loading port is in Hong Kong. | ||||||||||||||||||||||
| shipper_entity_id required | integer Supplier company entity numeric ID. Obtained from an active entity with the SHIPPER role via network_search_company_entities, using its company_entity_id field. | ||||||||||||||||||||||
required | object or object or object | ||||||||||||||||||||||
Any of: Transportation choices. Select exactly one freight_method branch. Air and ocean require incoterm; truck requires truck_type and payment_terms and is always door to door. One of: Transportation choices. Select exactly one freight_method branch. Air and ocean require incoterm; truck requires truck_type and payment_terms and is always door to door.
| |||||||||||||||||||||||
| wants_export_customs_service | boolean or null Whether Flexport should handle export customs clearance. Defaults to true for EXW and false for other incoterms. | ||||||||||||||||||||||
| wants_trade_declaration_service | boolean or null Whether Flexport should handle Hong Kong trade declaration. Relevant when the origin is in Hong Kong; otherwise defaults to false. | ||||||||||||||||||||||
Successful tool call.
| booking_id required | integer Numeric ID of the successfully created and submitted booking. Identifies the booking even when shipment_id, flex_id, or url is absent. |
| flex_id | string or null Shipment FLEX-ID, such as FLEX-1234567, when a shipment ID was returned. Null or absent does not mean the booking failed; booking_id identifies the submitted booking. |
| next_action required | string Human-readable explanation of what happens next for the booking. |
object or null Consignee auto-approval cutoff settings when configured for this booking. | |
required | Array of objects Non-blocking consignee policy warnings or approval requirements returned by Stoplight. |
| shipment_id | integer or null Numeric shipment ID, if returned by the successful booking submission. Null or absent means no shipment was returned, not that the booking failed. The submitted booking is identified by booking_id. |
| url | string or null Flexport quote-request page URL when a shipment ID was returned. Null or absent does not mean the booking failed; booking_id identifies the submitted booking. |
| workflow_status required | string Current outcome of the booking workflow, such as submitted or pending_consignee_quote_acceptance. |
{- "booking_confirmation_token": "string",
- "booking_hs_codes": [
- {
- "description": "string",
- "description_for_export_customs": "string",
- "hs_code_dbid": 0
}
], - "cargo": {
- "contains_hazmat": true,
- "contains_li_ion": true,
- "contains_magnets": true,
- "contains_non_li_ion_battery": true,
- "contains_other_dangerous_goods": true,
- "marks_and_numbers": "string",
- "metric_units": true,
- "shipping_units": [
- {
- "atomic_count": 0,
- "count": 0,
- "dimension_metric_units": true,
- "height": 0,
- "length": 0,
- "name": "string",
- "unit_type": "pallet",
- "volume": 0,
- "volume_metric_units": true,
- "weight": 0,
- "weight_metric_units": true,
- "width": 0
}
], - "slac": 0,
- "volume": 0,
- "weight": 0
}, - "cargo_ready_date": "string",
- "consignee_entity_id": 0,
- "declared_as_strategy": { },
- "delivery_date": "string",
- "description_of_products": "string",
- "eccn_codes": "string",
- "estimated_commercial_invoice_value": 0,
- "memo": "string",
- "metadatas": [
- {
- "attribute": "string",
- "values": [
- "string"
]
}
], - "name": "string",
- "notify_party": "string",
- "notify_party_same_as_consignee": true,
- "origin_address_fid": "string",
- "origin_delivery_note": "string",
- "origin_localized_address": "string",
- "origin_needs_help_unloading": true,
- "policy_violations_confirmed": true,
- "service_selection_confirmed": true,
- "shipper_entity_id": 0,
- "transportation": {
- "destination_address_fid": "string",
- "fca_subcategory": { },
- "incoterm": "FCA",
- "port_of_loading_id": 0,
- "port_of_unloading_id": 0,
- "wants_delivery_service": true,
- "wants_pickup_service": false,
- "freight_method": "air"
}, - "wants_export_customs_service": true,
- "wants_trade_declaration_service": true
}{- "booking_id": 0,
- "flex_id": "string",
- "next_action": "string",
- "policy_approval_cutoff": {
- "cutoff_days": 0,
- "default_action": "string"
}, - "policy_violations": [
- {
- "action": "string",
- "additional_data": "string",
- "key": "string",
- "type": "string"
}
], - "shipment_id": 0,
- "url": "string",
- "workflow_status": "string"
}Request a new rate quote for a lane when rates_search_instant_price has no acceptable option — for example, a lane that needs a fixed (NAC) rate where only spot pricing is available.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Billing, Member
Annotations: destructive
| cargo_ready_date required | string Cargo ready date in YYYY-MM-DD format |
| destination_address_fid | string or null Destination address, specified as a Flexport FID string beginning with 'flx::' (not a numeric ID). Obtained from the address_fid field returned by network_search_addresses, or the commerce_address_fid field returned by network_search_google_addresses if no matching address is found. |
| destination_port_id | integer or null Destination port, specified as a numeric ID. Obtained from the port_id field returned by network_search_ports. |
null or string Freight type: port_to_port, port_to_door, door_to_port, door_to_door | |
Any of: Freight type: port_to_port, port_to_door, door_to_port, door_to_door null | |
| incoterm required | string Incoterm: EXW, FCA, FOB, CIF, CIP, CFR, CPT, DAP, DAT, DDP, DPU, FAS |
| note | string or null Optional free-text note for the Flexport account team, such as cargo profile (commodity type, dimensions, weight, hazmat status, temperature requirements), target price or budget, expected shipment volume (shipments or TEUs per month/year), or other special requirements. |
null or string Contract type: HEDGE_FAK (spot/FAK rate, resolved in ~2 business days) or LONG_NAC (Named Account Contract, AE will communicate timeline). Omit if unspecified — defaults to HEDGE_FAK. | |
Any of: Contract type: HEDGE_FAK (spot/FAK rate, resolved in ~2 business days) or LONG_NAC (Named Account Contract, AE will communicate timeline). Omit if unspecified — defaults to HEDGE_FAK. null | |
| origin_address_fid | string or null Origin address, specified as a Flexport FID string beginning with 'flx::' (not a numeric ID). Obtained from the address_fid field returned by network_search_addresses, or the commerce_address_fid field returned by network_search_google_addresses if no matching address is found. |
| origin_port_id | integer or null Origin port, specified as a numeric ID. Obtained from the port_id field returned by network_search_ports. |
| transportation_mode required | string Transportation mode: air, ocean_fcl, ocean_lcl |
{- "cargo_ready_date": "string",
- "destination_address_fid": "string",
- "destination_port_id": 0,
- "freight_type": { },
- "incoterm": "CFR",
- "note": "string",
- "offering_contract_type": { },
- "origin_address_fid": "string",
- "origin_port_id": 0,
- "transportation_mode": "air"
}{- "client_request_id": "string",
- "errors": [
- "string"
], - "next_action": "string"
}Find or browse your organization's rate quote requests by name, FLEX-ID, status, freight mode, origin/destination, or submitter. Returns each request's status, route, cargo, submitter, and a link to it in the Flexport web app.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Analyst, Billing, Member
| address_fids | Array of strings or null Network addresses to filter by — Flexport FID strings beginning 'flx::', not numeric IDs. Matches either origin or destination. Obtained from the address_fid field returned by network_search_addresses. |
| after | string or null Pagination cursor. Pass end_cursor from the previous response to get the next page. |
| first | integer or null [ 1 .. 100 ] Number of results to return. Defaults to 10, maximum 100. |
| modes | Array of strings or null Freight modes to include: OCEAN, AIR, or TRUCK. |
| port_ids | Array of integers or null Ports to filter by — numeric IDs from the port_id field returned by network_search_ports. Matches either origin or destination. |
| query | string or null Quote request name or FLEX-ID. Omit to list matching quote requests. |
| requestor_ids | Array of integers or null User IDs of specific submitters to filter by, obtained from the user_id field returned by list_active_company_users. Omit to return requests from all visible submitters. |
null or string Quote status view. Defaults to ACTIVE, matching the web UI. Use ALL to include historical quote requests. | |
Any of: Quote status view. Defaults to ACTIVE, matching the web UI. Use ALL to include historical quote requests. null | |
Successful tool call.
| end_cursor | string or null | ||||||||||||||||||||||||||||||||
| has_next_page required | boolean | ||||||||||||||||||||||||||||||||
required | Array of objects | ||||||||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||||||||
| total_count required | integer | ||||||||||||||||||||||||||||||||
{- "address_fids": [
- "string"
], - "after": "string",
- "first": 1,
- "modes": [
- "OCEAN"
], - "port_ids": [
- 0
], - "query": "string",
- "requestor_ids": [
- 0
], - "status": { }
}{- "end_cursor": "string",
- "has_next_page": true,
- "quote_requests": [
- {
- "action_url": "string",
- "calculated_volume_cbm": 0,
- "calculated_weight_kg": 0,
- "cargo_description": "string",
- "cargo_ready_date": "string",
- "client_quote_status": "string",
- "containers": [
- {
- "count": 0,
- "type": "string"
}
], - "flex_id": "string",
- "freight_type": "string",
- "name": "string",
- "quote_count": 0,
- "quote_status": "string",
- "route": {
- "destination_address": {
- "country_code": "string",
- "name": "string"
}, - "destination_port": {
- "country_code": "string",
- "name": "string"
}, - "origin_address": {
- "country_code": "string",
- "name": "string"
}, - "origin_port": {
- "country_code": "string",
- "name": "string"
}
}, - "shipment_id": 0,
- "submitted_by": {
- "name": "string",
- "user_id": 0
}, - "transportation_mode": "string"
}
], - "total_count": 0
}Get a quote request's submission details and every priced quote option it received, including carrier, transit estimates, costs, total price, expiration, and a link to it in the Flexport web app.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Analyst, Billing, Member, Tracker
Successful tool call.
| client_quote_status required | string | ||||||||||||||||||||||||||||||
| flex_id required | string | ||||||||||||||||||||||||||||||
| name required | string | ||||||||||||||||||||||||||||||
required | Array of objects | ||||||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||||||
| quote_status required | string | ||||||||||||||||||||||||||||||
| shipment_id required | integer | ||||||||||||||||||||||||||||||
required | object | ||||||||||||||||||||||||||||||
{- "shipment_id": 0
}{- "client_quote_status": "string",
- "flex_id": "string",
- "name": "string",
- "quote_options": [
- {
- "action_url": "string",
- "carrier": "string",
- "carrier_transit_description": "string",
- "carrier_transit_estimate": {
- "maximum": 0,
- "minimum": 0,
- "unit": "string"
}, - "flexport_transit_estimate": {
- "maximum": 0,
- "minimum": 0,
- "unit": "string"
}, - "freight_cost": {
- "amount": 0,
- "basis": "string",
- "currency_code": "string"
}, - "freight_service": "string",
- "inclusive_cost": {
- "amount": 0,
- "basis": "string",
- "currency_code": "string"
}, - "main_service_type": "string",
- "quote_id": 0,
- "quote_reference": "string",
- "rate_expiration": "string",
- "status": "string",
- "total_price": {
- "amount": 0,
- "currency_code": "string"
}, - "transportation_mode": "string"
}
], - "quote_status": "string",
- "shipment_id": 0,
- "submission_details": {
- "calculated_volume_cbm": 0,
- "calculated_weight_kg": 0,
- "cargo_ready_date": "string",
- "containers": [
- {
- "count": 0,
- "type": "string"
}
], - "freight_type": "string",
- "incoterm": "string",
- "route": {
- "destination_address": {
- "country_code": "string",
- "name": "string"
}, - "destination_port": {
- "country_code": "string",
- "name": "string"
}, - "origin_address": {
- "country_code": "string",
- "name": "string"
}, - "origin_port": {
- "country_code": "string",
- "name": "string"
}
}, - "services": {
- "delivery": true,
- "export_customs": true,
- "import_customs": true,
- "insurance": true,
- "pickup": true
}, - "submitter": {
- "id": 0,
- "name": "string"
}, - "transportation_mode": "string"
}
}Get one quote option's complete transit, route, and itemized rate detail, including charges, subtotals, total price, expiration, and a link to it in the Flexport web app.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Analyst, Billing, Member, Tracker
Successful tool call.
| action_url required | string | ||||||||||||||||||||||
| carrier | string or null | ||||||||||||||||||||||
| carrier_transit_description | string or null | ||||||||||||||||||||||
object or null | |||||||||||||||||||||||
object or null | |||||||||||||||||||||||
| freight_service | string or null | ||||||||||||||||||||||
| main_service_type | string or null | ||||||||||||||||||||||
| quote_id required | integer | ||||||||||||||||||||||
| quote_reference required | string | ||||||||||||||||||||||
| rate_expiration | string or null | ||||||||||||||||||||||
required | Array of objects | ||||||||||||||||||||||
required | object | ||||||||||||||||||||||
| |||||||||||||||||||||||
| shipment_id required | integer | ||||||||||||||||||||||
| status required | string | ||||||||||||||||||||||
required | object | ||||||||||||||||||||||
required | object | ||||||||||||||||||||||
| |||||||||||||||||||||||
| transportation_mode required | string | ||||||||||||||||||||||
{- "quote_id": 0
}{- "action_url": "string",
- "carrier": "string",
- "carrier_transit_description": "string",
- "carrier_transit_estimate": {
- "maximum": 0,
- "minimum": 0,
- "unit": "string"
}, - "flexport_transit_estimate": {
- "maximum": 0,
- "minimum": 0,
- "unit": "string"
}, - "freight_service": "string",
- "main_service_type": "string",
- "quote_id": 0,
- "quote_reference": "string",
- "rate_expiration": "string",
- "rate_groups": [
- {
- "category": "string",
- "line_items": [
- {
- "currency_code": "string",
- "is_virtual": true,
- "name": "string",
- "name_annotation": "string",
- "price": 0,
- "price_display": "string",
- "quantity": 0,
- "quantity_description": "string",
- "rate": 0,
- "rate_description": "string",
- "unit": "string"
}
], - "subtotal": {
- "amount": 0,
- "currency_code": "string"
}, - "subtotal_display": "string"
}
], - "route": {
- "destination_addresses": [
- {
- "country_code": "string",
- "name": "string"
}
], - "destination_port": {
- "country_code": "string",
- "name": "string"
}, - "origin_address": {
- "country_code": "string",
- "name": "string"
}, - "origin_port": {
- "country_code": "string",
- "name": "string"
}, - "places_of_delivery": [
- {
- "country_code": "string",
- "name": "string"
}
], - "via_ports": [
- {
- "country_code": "string",
- "name": "string"
}
]
}, - "shipment_id": 0,
- "status": "string",
- "total_price": {
- "amount": 0,
- "currency_code": "string"
}, - "total_transit_time": {
- "destination_days": 0,
- "destination_deconsolidation_days": 0,
- "destination_dwell_days": 0,
- "maximum_days": 0,
- "maximum_p50_days": 0,
- "minimum_days": 0,
- "origin_consolidation_days": 0,
- "origin_days": 0,
- "origin_dwell_days": 0,
- "port_to_port_days": 0,
- "port_to_port_p50_days": 0
}, - "transportation_mode": "string"
}Search addresses already onboarded in your Flexport network, by name, street, city, state, or company legal name. Returns address identifiers for use in other tools, such as rates_search_instant_price.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Analyst, Billing, Member, Tracker
| limit | integer or null [ 1 .. 50 ] Maximum number of results to return. Must be between 1 and 50. Defaults to 10. |
| query required | string Address name, street, city, or state. The backend ANDs per-word prefix matches; postal/ZIP codes and country names or codes are not searched. Hyphens in street and unit identifiers, such as 1-7357 or Unit-321, are significant — searching for 7357 or 321 alone will not match those values. |
{- "limit": 1,
- "query": "string"
}{- "addresses": [
- {
- "address": "string",
- "address_fid": "string",
- "city": "string",
- "country_code": "string",
- "latitude": 0,
- "longitude": 0,
- "name": "string",
- "state": "string"
}
], - "count": 0,
- "has_more": true
}Search Google Places for cities, postal codes, and general place matches not yet onboarded in your Flexport network. Returns address identifiers for use in other tools.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Analyst, Billing, Member, Tracker
Annotations: openWorld
Successful tool call.
required | Array of objects Google Places matches restricted to cities. | ||||||||||||||||||
Array
| |||||||||||||||||||
| count required | integer Total number of valid results across all categories. | ||||||||||||||||||
| errors | Array of strings | ||||||||||||||||||
required | Array of objects General Google Places matches, including addresses and points of interest. | ||||||||||||||||||
Array
| |||||||||||||||||||
required | Array of objects | ||||||||||||||||||
Array
| |||||||||||||||||||
{- "country_codes": [
- "string"
], - "language_code": "string",
- "query": "string"
}{- "cities": [
- {
- "city": "string",
- "commerce_address_fid": "string",
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "country_code": "string",
- "formatted_address": "string",
- "name": "string",
- "postal_code": "string",
- "state": "string",
- "type": "string"
}
], - "count": 0,
- "errors": [
- "string"
], - "google_places": [
- {
- "city": "string",
- "commerce_address_fid": "string",
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "country_code": "string",
- "formatted_address": "string",
- "name": "string",
- "postal_code": "string",
- "state": "string",
- "type": "string"
}
], - "postal_codes": [
- {
- "city": "string",
- "commerce_address_fid": "string",
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "country_code": "string",
- "formatted_address": "string",
- "name": "string",
- "postal_code": "string",
- "state": "string",
- "type": "string"
}
]
}Search active Flexport company entities in your network by legal name. Matches on whole normalized legal-name similarity, not substrings — does not search DBA names or tax IDs. Returns company entity identifiers for use in other tools.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Analyst, Billing, Member, Tracker
| limit | integer or null [ 1 .. 50 ] Number of results to return. Must be between 1 and 50. Defaults to 10. |
| query required | string Company entity legal name. The backend compares the complete normalized legal name using whole-string similarity rather than prefix matching. Corporate suffixes such as Inc, LLC, and Ltd are optional. Partial names, missing words, or typos may not match. |
Successful tool call.
required | Array of objects | ||||||||||||||
Array
| |||||||||||||||
| count required | integer Number of company entities returned in this response (at most the requested limit). | ||||||||||||||
| errors | Array of strings | ||||||||||||||
| has_more required | boolean True if more results exist beyond the current limit than were returned. | ||||||||||||||
{- "limit": 1,
- "query": "string"
}{- "company_entities": [
- {
- "business_registration_country_code": "string",
- "company": {
- "company_id": 0,
- "display_name": "string",
- "is_self_managed": true
}, - "company_entity_id": 0,
- "is_archived": true,
- "is_primary": true,
- "legal_name": "string",
- "shipment_roles": [
- "string"
]
}
], - "count": 0,
- "errors": [
- "string"
], - "has_more": true
}Search Flexport's sea and air ports by name, city, UN/LOCODE, IATA code, ICAO code, or customs port code. Returns port identifiers for use in other tools. Exact codes identify a single port; name and city searches use fuzzy matching and can return multiple candidates. Results have no match score, and their order does not indicate the best match. A true has_more value indicates an incomplete result list.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Analyst, Billing, Member, Tracker
| country_codes | Array of strings or null Filter by ISO-3166 alpha-2 country codes, e.g. ["US", "CN"]. Multiple codes are OR-combined. |
| limit | integer or null [ 1 .. 50 ] Number of results to return. Must be between 1 and 50. Defaults to 10. |
| query required | string Search text — matches port name, city, UN/LOCODE, IATA code, ICAO code, or customs port code. Must contain at least one letter or digit. |
null or string Filter by transportation mode. | |
Any of: Filter by transportation mode. null | |
Successful tool call.
| count required | integer Number of ports returned in this response (at most the requested limit). | ||||||||||||||||||||
| errors | Array of strings | ||||||||||||||||||||
| has_more required | boolean True if more results exist beyond the current limit. Refine the query or increase limit to retrieve them. | ||||||||||||||||||||
required | Array of objects | ||||||||||||||||||||
Array
| |||||||||||||||||||||
{- "country_codes": [
- "string"
], - "limit": 1,
- "query": "string",
- "transportation_mode": { }
}{- "count": 0,
- "errors": [
- "string"
], - "has_more": true,
- "ports": [
- {
- "city": "string",
- "codes": {
- "customs_port_code": "string",
- "iata": "string",
- "icao": "string",
- "un_locode": "string"
}, - "country_code": "string",
- "is_archived": true,
- "port_id": 0,
- "port_name": "string",
- "port_types": [
- "string"
], - "state": "string",
- "timezone": "string",
- "transportation_modes": [
- "string"
]
}
]
}Search Flexport's six-digit international HS-code catalog by product description or code, for classifying goods when booking without a rate.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Billing, Member
Successful tool call.
{- "limit": 1,
- "query": "string"
}{- "count": 0,
- "has_more": true,
- "hs_codes": [
- {
- "code": "string",
- "country_code": "string",
- "description": "string",
- "hs_code_dbid": 0
}
]
}List or search active users in your company, including yourself. Useful for looking up a quote request submitter by name or email, or for browsing all active users to pick one from.
This operation is a synthetic representation of an MCP tools/call invocation, not a literal REST endpoint. The Flexport MCP server exposes a single JSON-RPC 2.0 endpoint at POST https://mcp.flexport.com/mcp (MCP Streamable HTTP transport) — the tool name and arguments below are carried in the JSON-RPC request body, not in the HTTP path.
Permissions (any of): Admin, Analyst, Billing, Member, Tracker
Successful tool call.
{- "after": "string",
- "first": 1,
- "query": "string"
}{- "end_cursor": "string",
- "has_next_page": true,
- "total_count": 0,
- "users": [
- {
- "email": "string",
- "name": "string",
- "user_id": 0
}
]
}