Overview
What eCMR Hub is, who uses it, and how a company and its agents work with it.
eCMR Hub is a platform for electronic consignment notes (e-CMR). A company uses it to prepare drafts, issue documents, send signing links, download PDFs and evidence, and check which eFTI data is still missing. It does that itself in the dashboard, or through its own agent: Claude, ChatGPT, Codex, a script or a transport management system (TMS).
Who uses Hub
| Who | What they do in Hub |
|---|---|
| The company (carrier, forwarder, shipper) | The only kind of Hub account. It owns its data: drafts, issued documents, signatures and eFTI data. People of the company sign in to the dashboard. |
| Its agents and programs | Connect to the company account with the company's consent, through OAuth or an API key. They act within the permissions the company granted. |
| A person in the dashboard | Approves what cannot be undone: issuing a document, sending a signing link, deleting. Sees every connection and can disconnect it. |
There is no separate developer account and no app catalog. A program that serves many companies (a TMS, for example) gets a separate consent from each company through OAuth.
Three ways in, one catalog
| Way in | Best for | Page |
|---|---|---|
ecmrhub CLI | Terminals, coding agents, CI jobs | CLI reference |
| Remote MCP server | Chat assistants: Claude, ChatGPT and other MCP clients | MCP & connectors |
| HTTP API | Your own code and integrations | API reference |
The CLI and the MCP server are built from the same operation catalog, so a command and a tool do the same thing with the same input. The full list is the operation catalog.
The rule an agent must know
Some operations need a person's approval: issuing a draft, creating or sending signing links,
deleting, and a few more listed in the catalog. The agent asks, Hub answers
428 APPROVAL_REQUIRED with a link to the dashboard, a person approves the exact call, and the
agent repeats the same call. An agent cannot approve anything itself, neither with a CLI flag nor
through MCP. Details: Human approvals.
Words used in these docs
| Word | Meaning |
|---|---|
| Draft | An editable consignment note with a revision number. It may be incomplete. |
| Document | An issued consignment note. Issuing creates an immutable version; later events (signatures) are appended, nothing is overwritten. |
| Signing link | A link for one party (sender, carrier or consignee) to sign an issued document. Valid for 7 days. |
| Evidence | The canonical record of a document: versions, events, signatures and their digests. |
| Connection | An agent or program connected to the company account: an OAuth client or an API key, with its permissions. |
| Approval | A person's decision in the dashboard on one exact operation call. Valid 24 hours, used once. |
| Operation | One entry in the catalog, e.g. draft.publish. The CLI and MCP call operations by name. |
What is ready and what is in build
Hub is being built in phases. These docs describe phase 1 and mark every part that is not released yet as In build.
| Part | State |
|---|---|
| Drafts, issuing, documents, PDFs, evidence, signing links (HTTP API, SDK) | Available |
| Company API keys with permissions | Available |
| eFTI data checks (missing fields) | Available |
| OAuth sign-in for agents and the CLI, connection list in the dashboard | In build |
Human approvals with 428 APPROVAL_REQUIRED | In build |
ecmrhub CLI | In build |
| Remote MCP server for Claude, ChatGPT and other clients | In build |
| Hub dashboard (company, documents, keys, connections, approvals, log) | In build |
| Hosted signing page and signing API inside Hub | Later phase |
| Sending eFTI data to an eFTI gateway or to authorities | Not offered; see eFTI |