Skip to content
Bridge to Brands

MCP server: connect Claude, ChatGPT and other agents

Connect Claude Code, Claude.ai, the Claude Messages API or ChatGPT to the Bridge to Brands MCP server at https://mcp.brdg2b.ai/mcp. Auth, tools and setup snippets.

View as Markdown

Endpoint: https://mcp.brdg2b.ai/mcp, MCP Streamable HTTP (SSE kept as a fallback for older clients). One server for all accounts; the credential decides the account.

Which auth your client uses

Client API key in a header OAuth 2.1
Claude Code / Claude Desktop (claude mcp add --header) yes yes
Claude Messages API mcp_servers yes (authorization_token) bring your own token
Claude.ai custom connectors yes, beta “Request headers” (per organisation) yes
ChatGPT custom connectors (Developer mode) / Apps SDK no yes

Setup

Claude Code

claude mcp add --transport http brdg2b https://mcp.brdg2b.ai/mcp \
  --header "Authorization: Bearer b2b_live_XXXXXXXX_..."

Claude Messages API

"mcp_servers": [{ "type": "url", "url": "https://mcp.brdg2b.ai/mcp",
                  "name": "brdg2b", "authorization_token": "b2b_live_..." }]

Claude.ai / Claude Desktop: Settings → Connectors → Add custom connector. URL https://mcp.brdg2b.ai/mcp; either Request headers → Authorization: Bearer b2b_live_… (if your organisation has the beta), or Sign in → Google → pick the key (OAuth).

ChatGPT: Settings → Apps & Connectors → Developer mode → Add. URL https://mcp.brdg2b.ai/mcp, Authentication: OAuth → sign in → pick the key.

Tools

The tool table below is generated from the server’s own tool list at build time.

Read tools carry readOnlyHint: true; every tool is openWorldHint: true because it calls third-party portals. Errors come back as data the model can act on, for example “brand not connected: ask the account owner to connect HOKA in app.brdg2b.ai/brands”. Every tool call is metered to the key behind the credential.

17 tools, generated from the server's own tool list.

ToolKindWhat it does
list_brands() read-only Lists every brand Bridge to Brands supports, whether this account has connected each brand's dealer portal, and what each brand can do.
list_accounts(brand?) read-only Lists the retailer's logins (accounts) per brand — a brand can have several, such as 'Retail stores' and 'Amazon FBA', each seeing different warehouses, prices, availability and ship-tos.
search_products(brand, query, account?, limit?, mode?, page?) read-only Searches one brand's dealer catalog by free text and returns matching styles with their colourways, images and dealer prices.
get_product(brand, style_id, account?) read-only Returns one style's colourways, size run, images and dealer prices.
get_availability(brand, style_id, account?, accounts?, color_id?) read-only Reads the brand's live availability grid — sizes × delivery windows with quantities — for one style (one colourway or all).
lookup_items(brand, items, account?) read-only Resolves up to 200 items — by UPC, SKU, style+colour+size or vendor variant id — to the brand's exact variant, with immediate availability, future windows and dealer price.
list_ship_tos(brand, account?) read-only Lists the account's stores as the brand's portal knows them — the destinations a fill-in can ship to.
place_order(brand, idempotency_key, kind, lines, po, ship_to_ref, account?, confirm?, consumer?, mode?, ship_dates?, terms_ack?) writes Stages an order as an UNSUBMITTED draft or basket in the brand's dealer portal and returns the links where the user reviews and submits it, or with mode `submit` places it with the brand where the brand and the account allow it.
submit_order(order_id, confirm?, ship_dates?, terms_ack?) writes (destructive) Places a staged order with the brand: the staged basket is read back, compared with the order and submitted exactly once.
cancel_order(order_id) writes (destructive) Asks the brand's portal to cancel every vendor order of a submitted order, where the brand allows cancelling.
get_order(order_id) read-only Returns one order — staged by brdg2b or read from the vendor's own order book — with its status, portal links, confirmed lines and shipments.
list_orders(account?, brand?, cursor?, limit?, since?, source?, status?) read-only Lists the account's orders, newest first: those staged through brdg2b and those in the vendors' own order books.
track_order(brand?, order_id?, po?, vendor_order_number?) read-only Returns the shipments of one order with carrier, tracking number and a tracking link per package.
refresh_order(order_id) read-only Re-reads one order from the brand's portal now and returns the updated order.
get_usage(group_by?, period?) read-only Returns the calling key's own usage — requests, results, orders, lines and units — for a period.
request_brand(name, portal_url, note?) writes Asks Bridge to Brands to build a connector for a brand that is not in list_brands.
list_brand_requests() read-only Lists this account's requests for new brands and their status.

Last updated