MCP Setup and usage

Connect ChatGPT, Claude, Cursor, and other MCP clients to OpenTrack to look up shipments, start tracking, and manage webhooks.

OpenTrack MCP

Connect ChatGPT, Claude, Cursor, or another AI client to OpenTrack so it can look up shipments, start tracking, and manage webhooks for you.

Server URL: https://api.opentrack.co/mcp

If you are writing code against OpenTrack yourself, use the REST API instead (see Getting Started).

Authentication

Sign in through your browser when you connect. There is no API key to paste.

Tools run with the permissions of the account you sign in with, so an assistant sees the same shipments you would see in the dashboard.

Connect ChatGPT

Custom MCP connectors need a paid plan with developer mode turned on (Settings → Apps → Advanced settings). On Business, Enterprise, and Edu plans an admin has to enable developer mode and publish the connector before members can use it.

  1. Open Settings → Connectors and create a connector.
  2. Name it OpenTrack and set the URL to https://api.opentrack.co/mcp.
  3. Sign in to OpenTrack in the browser.
  4. Start a new chat, enable the OpenTrack connector, and ask “Look up container CMAU9768740”.

If you are adding OpenTrack from the ChatGPT app directory, click Connect and sign in the same way.

Connect Claude

On Team and Enterprise plans, only an Owner or Primary Owner can add a custom connector. If you do not see the option, you are not an Owner. Ask one to do step 1.

  1. An Owner opens Organization settings → Connectors, clicks Add, hovers over Custom, and picks Web. They enter https://api.opentrack.co/mcp and click Add.
  2. Each member then opens Customize → Connectors, finds OpenTrack, and clicks Connect to sign in.

On Pro and Max plans you add it yourself: Customize → Connectors → + → Add custom connector, then enter the same URL.

Either way, everyone signs in to OpenTrack individually, so each person only sees the shipments their own account can see. Then start a new chat, enable the OpenTrack connector, and ask “Look up container CMAU9768740”.

If you are adding OpenTrack from the Claude directory, click Connect and sign in the same way. On Team and Enterprise, an Owner still has to add it to the organization first.

Connect Cursor

Add an entry to .cursor/mcp.json (or Cursor Settings → MCP):

{
  "mcpServers": {
    "opentrack": {
      "url": "https://api.opentrack.co/mcp"
    }
  }
}

Restart Cursor, then sign in when prompted.

Other clients

Any client that supports Streamable HTTP MCP and OAuth can connect to the same URL, including MCP Inspector.

What to ask

Try these once the connector is on:

  • “Look up container CMAU9768740.”
  • “What is the route for that container?”
  • “List containers with an ETA at Los Angeles in the next 7 days.”
  • “Start tracking container CMAU9768740 on master bill ONEYHKGG76731300.”
  • “List my webhooks.”

When a port or carrier name is ambiguous, the assistant asks you to confirm which one you meant. Tracking coverage matches the supported carriers and terminals list.

Tools

Read-only:

ToolWhat it does
getContainerContainer details: status, ETAs, last free days, holds, demurrage, history
getContainersSearch and list containers
getContainerRouteJourney legs and itinerary for a container
getMblMaster bill and its containers
getMblListSearch master bills
getFilterSchema, getFilterRules, listFilterOptionsHelp the assistant build correct filters and resolve port, carrier, and terminal names
listWebhooksWebhooks on the account
listWebhookEventsPlayback of delivered webhook events

Makes changes:

ToolWhat it does
trackContainerStart tracking a container
trackMasterBillStart tracking every container on a master bill or booking
registerWebhookCreate a webhook
updateWebhookChange an existing webhook
unregisterWebhookDelete a webhook. This cannot be undone

Writes require an account role that allows the same action in OpenTrack. See Webhooks for how webhook delivery works.

Limits and support

Requests are rate limited per client IP (5 per second, 120 per minute). Normal conversation will not reach this; a scripted agent might.


Did this page help you?