Skip to content

Claude Code, Cursor, VS Code and Codex

Any client that speaks MCP over streamable HTTP with OAuth works. There is nothing to configure but the URL — no key, no header, no client id.

Endpoints

Development Live now
https://dev-mcp.sm.freightright.com/mcp

Sign in with a development Shipment Manager account. This is the URL used throughout these pages, because it is the one that works today.

Production Not live yet
https://mcp.freightright.com/mcp

Reserved for the production connector. It does not answer yet — pasting it into an assistant today will fail.

Claude Code

claude mcp add --transport http freight-right https://dev-mcp.sm.freightright.com/mcp

Then, inside Claude Code:

/mcp        → Authenticate

Cursor

~/.cursor/mcp.json:

{
  "mcpServers": {
    "freight-right": {
      "url": "https://dev-mcp.sm.freightright.com/mcp"
    }
  }
}

VS Code

.vscode/mcp.json in your workspace:

{
  "servers": {
    "freight-right": {
      "type": "http",
      "url": "https://dev-mcp.sm.freightright.com/mcp"
    }
  }
}

Codex

~/.codex/config.toml:

[mcp_servers.freight-right]
url = "https://dev-mcp.sm.freightright.com/mcp"
tool_timeout_sec = 60

Then:

codex mcp login freight-right

MCP Inspector

Useful for reading the tool schemas by hand:

npx @modelcontextprotocol/inspector

Transport Streamable HTTP, the connector URL, then Connect — it runs the same OAuth flow in your browser.

Timeouts

A price check asks carriers live and can take up to a minute. Clients that let you set a tool timeout should allow at least 60 seconds; if yours gives up sooner, the connector hands back a pricing_id and the assistant collects the offers with a second, instant call.

Approval is your client's setting, not ours

Command-line clients differ in whether they ask before running a tool that writes. A quote request is a real message to our pricing team. A booking is the one thing no client can send: it is confirmed by you, on Freight Right's own page. What a write guarantees.