MCP connector

Ask Claude about your docks.

Dock Optimizer speaks the Model Context Protocol - the open standard AI agents use to reach real systems. Connect Claude and it can read your organization's dock schedule, inventory, loads and partner relationships, then answer in plain language. Read-only by default. One consent screen to set up.

Works with claude.ai, Claude Desktop, and any MCP client
https://dockoptimizer.com/api/mcp/v1/message
What it can read

Your whole operation, one question away

A connected agent sees the same data your team sees in the app, scoped to your organization. Every read is paginated and capped, so answers come back fast.

Docks and appointments

  • Appointments by day, with check-in and check-out state
  • Door status, availability and booking history
  • Slot availability per appointment type
  • No-show, stale and pending appointments

Inventory, to the transaction

  • Stock levels, low-stock and quarantine flags
  • Every receive, pull and adjustment, with lot numbers
  • Reservations against sales orders
  • Storage locations, kitting recipes, cycle counts

Freight and partners

  • Loads, bids, sales and purchase orders
  • Carrier performance and lane analytics
  • What you hold for customers - and what partners store for you
  • Detention, accessorial charges, statements
Computed answers

Questions with the arithmetic already done

Some questions need more than a list. For those, the connector works out the answer on our servers, using the same code as the app's report pages, so the number Claude gives you matches the one on your screen.

Unbilled detention

Every visit where dwell ran past free time and no one raised a charge, priced at your detention rate and totaled by carrier, next to what you have already billed. A visit long enough to look like a missed check-out is listed separately and never counted as money.

Carrier reliability

On-time pickup and delivery against each load's committed dates, plus arrivals and no-shows for every carrier that books your docks.

Stock that isn't moving

Inventory grouped by days since it last went out, with the value tied up in each group. The slowest items come first.

Unbilled detention and inventory aging are part of Pro WMS, and the carrier scorecard is part of Pro TMS, the same as the pages they come from. A new connection starts with an overview of what your organization has set up, so Claude can tell you when there is nothing to report yet.
Download the Dock Optimizer skill and add it to Claude. It tells Claude which fields line up with your ERP, WMS or TMS (PO, BOL, order and carrier numbers), and what each number does and doesn't cover. Read it first.
In practice

Questions operators actually ask

What detention did we forget to bill last month?Priced from check-in and check-out times, with suspected missed check-outs set aside.
When is my dock busiest, by weekday and hour?Answered from the same data behind the heat map.
Which inbound appointments tomorrow are missing a PO number?Appointments carry their check-in answers, so gaps are visible.
How much stock do we hold for this customer, and how much is reserved?Inventory is owner-aware - a 3PL's customer sees exactly their own stock.
Which carriers no-show most at our facilities?The carrier scorecard counts arrivals and no-shows from dock check-in records.
You: What's on the dock schedule Monday?
Claude: 38 appointments. The 8–10am window carries 14 of them -
9 at 450 Airtech, mostly LTL drop-offs. Two arrivals have no PO
on file: #17452 (returns) and #17466. Want the full list?
Security model

Built for the org boundary

Warehouses hold other companies' inventory and schedules. The connector is designed around that fact: every grant is scoped to one organization, resolved server-side, and nothing about a request can widen it.

Org-scoped by constructionConsent comes from your org's admin, and the token it mints reads that organization only. The audience is resolved on our servers at consent time - no request parameter can name a different org.
Read-only by defaultA connected agent can read, and that's all. It advertises no write tools, and write calls are refused at the scope check - not hidden in a policy document.
Changes wait for a humanWhen your admin allows proposals at consent, the agent can suggest changes such as blocking a door or raising a charge. Each one waits in Integration Hub until a person approves it. A connection made through Claude never writes directly.
Every call auditedEach request is logged with its key, resource and outcome, and the log is visible to your admins in Integration Hub → Agent Keys.
Standard OAuth 2.1Authorization-code flow with PKCE, dynamic client registration, one-hour access tokens, rotating refresh tokens, and tokens pinned to the environment that issued them.
Rotation without breakageRotating an agent key keeps the old key working for 24 hours while you swap in the new one, so a rotation never takes down a running integration. Revocation is immediate when you want it to be.
Setup

One consent screen

Turn on Integration HubAgent access is part of the Integration Hub subscription. If you already see Integration Hub in your sidebar, you're set.
Add the connector in ClaudeIn claude.ai: Settings → Connectors → Add custom connector, then paste https://dockoptimizer.com/api/mcp/v1/message.
Sign in and authorizeClaude sends you to Dock Optimizer to sign in. An Admin or Manager at your organization reviews exactly what the token can read and approves it.
AskClaude can now answer from your live operation. Access shows up under Integration Hub → Agent Keys, where you can watch it, rotate it, or revoke it.
Consent is limited to org Admins and Managers by design - connecting an agent grants read access to operational data, so the decision belongs to someone accountable for it.
New to Dock Optimizer? Create your organization free - dock scheduling is free to start, and the connector rides the Integration Hub subscription once you're in.
For developers

Spec-compliant, discoverable, documented

MCP endpointPOST https://dockoptimizer.com/api/mcp/v1/message - JSON-RPC 2.0; resources/list, resources/read, tools/list, tools/call
ManifestGET https://dockoptimizer.com/api/mcp/manifest.json - every tool and resource, generated from the live registry so it cannot drift
OAuth discovery/.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource (RFC 8414 / RFC 9728)
RegistrationPOST /api/mcp/oauth/register - RFC 7591 dynamic client registration; registration alone grants nothing
AuthorizationOAuth 2.1 authorization code + PKCE S256, interactive consent, single-use 10-minute codes, rotating refresh tokens
Tool metadataEvery tool carries MCP annotations (read-only, destructive, idempotent hints) so clients can render honest trust cues
Skill/mcp/skill (zip, one folder with SKILL.md) · /mcp/skill.md (plain text)
DocsAPI reference · status