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