Skip to main content
Glama
machship-mcp

machship-mcp

Machship MCP Server: freight quotes, bookings and labels for AI agents

npm Release License: ISC

Machship MCP server connects Claude Desktop, Claude Code, Cursor, VS Code and any other MCP client to the Machship freight platform API. It has 125 tools for live rates, quotes, consignments, labels, manifests, tracking and invoices. It runs with npx over stdio, or as an HTTP endpoint.

Quickstart

You need Node.js 22 or later and a Machship API token. In Machship, go to Settings > API and generate a token.

# Read the token without echo, so it stays out of shell history
read -rs MACHSHIP_API_TOKEN
claude mcp add --scope local machship -e MACHSHIP_API_TOKEN="$MACHSHIP_API_TOKEN" -- npx -y @devkind/machship-mcp

Then ask your agent: "Ping the Machship API". A successful reply confirms the token.

Install in your client

Requirements:

  • Node.js 22 or later

  • A Machship API token

  • Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Goose, LM Studio, Warp, or another MCP client

Standard config works in most MCP clients:

{
  "mcpServers": {
    "machship": {
      "command": "npx",
      "args": ["-y", "@devkind/machship-mcp"],
      "env": {
        "MACHSHIP_API_TOKEN": "your-token-here"
      }
    }
  }
}

Keep the token in your user-level client config. Do not put it in a project .mcp.json that you commit.

Open Settings > Developer > Edit Config, or edit the file directly:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the standard config above and restart Claude Desktop.

Use the Quickstart command above. --scope local stores the token in ~/.claude.json, outside the repository. You can also install the Claude Code plugin.

Or go to Cursor Settings > MCP > Add new MCP Server. Use type command, the command npx -y @devkind/machship-mcp, and set MACHSHIP_API_TOKEN.

code --add-mcp '{"name":"machship","command":"npx","args":["-y","@devkind/machship-mcp"],"env":{"MACHSHIP_API_TOKEN":"your-token-here"}}'

Or follow the VS Code MCP setup guide with the standard config above.

Follow the Windsurf MCP documentation and add the standard config above.

Go to Advanced settings > Extensions > Add custom extension. Use type STDIO, the command npx -y @devkind/machship-mcp, and set MACHSHIP_API_TOKEN.

Go to Program in the right sidebar > Install > Edit mcp.json and add the standard config above.

Go to Settings > AI > Manage MCP Servers > + Add, or type /add-mcp in the Warp prompt. Paste the standard config above.

No image is published to a registry. Build the image from this repo:

docker build -t devkind/machship-mcp .

Stdio config for an MCP client:

{
  "mcpServers": {
    "machship": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-e", "MACHSHIP_API_TOKEN", "devkind/machship-mcp"],
      "env": { "MACHSHIP_API_TOKEN": "your-token-here" }
    }
  }
}

HTTP mode on port 3000. The image sets MCP_HOST=0.0.0.0, so the published port accepts outside connections:

docker run --rm -e MACHSHIP_API_TOKEN -e TRANSPORT=http -p 3000:3000 devkind/machship-mcp

The server is also listed on Smithery.

Related MCP server: Deftship MCP Server

Tools

The server has 125 tools in 21 modules. Every tool name starts with machship_.

Area

Modules

Tools

Consignments

Consignments, PendingConsignments, Consolidation, Notes

36

Labels and documents

Labels, Attachments, CommercialInvoices

22

Accounts and access

Identities, IdentityProviders, OrganisationLinks, CustomSchemas

28

Companies, items and locations

Companies, CompanyItems, CompanyLocations, Locations

20

Rates

Quotes, Routes

7

Invoices

CarrierInvoices, FinancialInvoice

6

Manifests

Manifests

5

Connection check

Authenticate (machship_ping)

1

A typical flow: machship_get_companies for the company ID, machship_search_locations for suburbs and postcodes, machship_get_routes for live rates, machship_create_consignment to book, a label tool, then machship_manifest_consignments to send the booking to the carrier. machship_get_consignment_statuses tracks it.

Tool text output stops at 25,000 characters. The full response is in structuredContent.

Example

{
  "tool": "machship_get_routes",
  "arguments": {
    "request": {
      "companyId": 1790,
      "fromLocation": { "suburb": "Melbourne", "postcode": "3000", "state": "VIC", "country": "AU" },
      "toLocation": { "suburb": "Sydney", "postcode": "2000", "state": "NSW", "country": "AU" },
      "items": [{ "weight": 10, "length": 30, "width": 30, "height": 30, "name": "Parcel", "quantity": 1 }]
    }
  }
}

Illustrative output:

{
  "object": {
    "routes": [
      {
        "carrier": { "name": "Example Express" },
        "carrierService": { "name": "Road Express" },
        "consignmentTotal": { "totalSellPrice": 24.5 },
        "despatchOptions": [{ "etaLocal": "2026-11-05T17:00:00" }]
      }
    ]
  },
  "errors": null
}

Configuration

Variable

Required

Default

Purpose

MACHSHIP_API_TOKEN

Yes

none

Machship API token, sent only to MACHSHIP_API_URL. The server starts without it, but every tool call fails until it is set.

MACHSHIP_API_URL

No

https://live.machship.com

Machship API base URL.

TRANSPORT

No

stdio

Set to http for the HTTP transport.

PORT

No

3000

HTTP port when TRANSPORT=http.

MCP_HOST

No

127.0.0.1

HTTP bind address when TRANSPORT=http.

Network access and data

  • The plugin starts the server with npx, so npx downloads the pinned @devkind/machship-mcp package from the npm registry.

  • The server sends requests only to MACHSHIP_API_URL (default https://live.machship.com). Each request carries your API token and the tool arguments, such as addresses, items, consignment IDs and the invoice files you upload.

  • Labels and other documents come back in the tool result as base64. The server writes no files.

  • The server sends no telemetry and stores no data. It writes errors to stderr only.

  • In HTTP mode the server also accepts requests on MCP_HOST and PORT. See HTTP mode.

Claude Code plugin

The repo root is a Claude Code plugin. It adds the Machship MCP server, pinned to a release version of @devkind/machship-mcp (.mcp.json). When you enable the plugin, Claude Code asks for your API token and stores it as a sensitive value. You can also change the API URL.

The plugin also ships the machship-freight skill. The skill teaches Claude the freight workflow with exact tool names: rates, consignment, labels, manifest and tracking. It also tells Claude to ask you before it books, manifests or deletes.

Install it from this repo's marketplace (Claude Code 2.1.275 or later):

/plugin install machship --marketplace devkindhq/machship-mcp

The plugin will also be in the Claude plugin directory once it is listed. On older Claude Code versions, use the claude mcp add command in the Quickstart.

HTTP mode

MACHSHIP_API_TOKEN=your-token TRANSPORT=http npx -y @devkind/machship-mcp
  • MCP endpoint: POST http://localhost:3000/mcp (Streamable HTTP, stateless, JSON responses)

  • Health check: GET http://localhost:3000/health

By default the server listens on 127.0.0.1 only. It rejects requests whose Host header is not localhost, 127.0.0.1 or ::1, which blocks DNS rebinding attacks from web pages. Set MCP_HOST=0.0.0.0 to listen on all interfaces, for example in a container.

Warning: HTTP mode has no authentication, and every request uses the server's Machship token. If you set MCP_HOST to anything other than a loopback address, put an authenticating proxy in front of the server.

Security notes

  • HTTP mode has no authentication. See HTTP mode before you set MCP_HOST.

  • Tools can create, edit and delete live consignments, identities and organisation links. Tool annotations mark the delete and remove tools as destructive, so a client can ask you to confirm them. machship_update_identity sets omitted fields to null.

  • Use a token with the smallest Machship permissions that your work needs.

Development

This repo uses Yarn 1 (yarn.lock). Do not use npm install.

git clone https://github.com/devkindhq/machship-mcp.git
cd machship-mcp
yarn install
yarn lint && yarn build
MACHSHIP_API_TOKEN=your-token yarn start

See CONTRIBUTING.md for the checks, commit style and release flow.

Built by

Built by Devkind. Maintained by the Devkind team.

License

ISC. See CONTRIBUTING.md and SECURITY.md.

Automating freight for your store?

If you ship with Machship, Devkind can connect it to the rest of your stack. We build on Shopify, Swell and headless commerce stacks, and build custom MCP servers and AI agent workflows. Talk to Devkind or email hello@devkind.com.au.

Available Tools

125 tools
machship_add_permanent_pickupsAdd Permanent Pickups to Company LocationB

Adds permanent scheduled pickups to a company location.

Args:

  • payload (object): Contains companyLocationId and pickup schedule details

Inputs: payload (required). Returns: errors, object

machship_attempt_auto_reconciliationAttempt Auto ReconciliationB

Attempts automatic reconciliation of carrier invoices based on configured carrier thresholds.

Args:

  • body (object): Reconciliation request payload (carrierInvoiceId, etc.)

Inputs: body (required). Returns: errors, object

machship_create_company_locationCreate Company LocationC

Creates a new company location (warehouse, store, depot pickup point).

Args:

  • location (object): Location data including companyId, name, address, suburb, postcode, state, country, contactName, phone, etc.

Inputs: location (required). Returns: errors, object

machship_create_consignmentCreate ConsignmentB

Creates a new unmanifested consignment in Machship. This is the core operation for booking freight.

Args:

  • consignment (object): Full consignment details including:

    • companyId, fromCompanyLocationId, toAddress (suburb, postcode, state, country)

    • items (array of packages with weight, dimensions)

    • carrierId, serviceId, reference1, reference2, etc.

Inputs: consignment (required). Returns: errors, object

machship_create_consignment_existing_itemsCreate Consignment with Existing Saved ItemsB

Creates a consignment using previously saved company items (by item ID / SKU).

Args:

  • consignment (object): Consignment data referencing existing saved item IDs

Inputs: consignment (required). Returns: errors, object

machship_create_consignment_with_complex_itemsCreate Consignment with Complex ItemsB

Creates a consignment using complex item definitions (with detailed packaging/dangerous goods data).

Args:

  • consignment (object): Consignment data with complexItems array instead of standard items

Inputs: consignment (required). Returns: errors, object

machship_create_custom_schemaCreate Custom SchemaB

Creates a new custom schema to extend Machship entities with additional fields.

Args:

  • name (string): Schema name

  • type (string): Schema type/entity to extend

  • schema (object): JSON schema definition

Inputs: name (required), type (required), schema (required). Returns: errors, object

machship_create_identitiesCreate IdentitiesA

Create identities in MachShip and assign companies and roles. All identities must belong to the same identityProvider and organisation. Requires administrator access.

Args:

  • identities (array): Array of identity objects, each with:

    • givenName (string): First name (required)

    • familyName (string): Last name (required)

    • displayName (string): Display name (required)

    • emailAddress (string): Email (required)

    • identifyingClaim (string): Unique claim for identity provider (required)

    • organisationId (number): Organisation ID (required)

    • identityProviderId (number): Identity provider ID (required)

    • owningCompanyId (number): Owning company ID (required)

    • password (string, optional): Password

    • uniqueId (string, optional): Unique ID

    • userAndCompanyLinks (array, optional): Company/role links to create

Inputs: identities (required). Returns: errors, object

machship_create_item_complexCreate Complex Company ItemB

Creates a new complex item (product/SKU with detailed packaging info) for a company.

Args:

  • companyId (number): Company ID to create item under

  • item (object): Item details including sku, description, weight, dimensions, etc.

Inputs: item (required), companyId (required). Returns: errors, object

machship_create_pending_consignmentCreate Pending ConsignmentA

Creates a pending consignment — a draft/staging consignment that hasn't been rated or assigned to a carrier yet. Pending consignments can be converted to full consignments after quoting.

Args:

  • consignment (object): Pending consignment data including companyId, from/to address, items, references, etc.

Inputs: consignment (required). Returns: errors, object

machship_create_quoteCreate QuoteA

Creates a freight quote in Machship — returns available carrier rates for a shipment. Use this to compare carrier prices and transit times before creating a consignment.

Args:

  • quote (object): Quote request including:

    • companyId (number): Company to quote under

    • fromAddress or fromLocationId: Pickup address or location ID

    • toAddress: Delivery address (suburb, postcode, state, country)

    • items: Array of items with weight (kg), length/width/height (cm)

    • carrierId / serviceId (optional): Filter to a specific carrier/service

Returns: Array of available rate options, each with: { "carrierId", "serviceName", "totalCost", "transitDays", "accountId" }

Examples:

  • Use when: "Get freight quotes from Sydney to Melbourne for a 5kg parcel"

  • Don't use when: You already have a carrier in mind — use machship_create_consignment directly

Inputs: quote (required). Returns: errors, object

machship_create_quote_complex_itemsCreate Quote with Complex ItemsA

Creates a freight quote using complex item definitions (detailed packaging, dangerous goods, serialisation data).

Args:

  • quote (object): Quote request with complexItems array instead of standard items

Returns: Same as machship_create_quote — array of rate options with cost and transit info.

Examples:

  • Use when: Items have dangerous goods codes, serial numbers, or non-standard packaging

  • Use when: machship_create_quote returned a validation error about item structure

Inputs: quote (required). Returns: errors, object

machship_delete_consignmentsDelete Unmanifested ConsignmentsA
Destructive

Deletes multiple unmanifested consignments. Cannot delete manifested consignments.

Args:

  • ids (number[]): Array of consignment IDs to delete

Inputs: ids (required). Returns: errors, object

machship_delete_custom_schemaDelete Custom SchemaA
Destructive

Deletes a custom schema by its DotNet class ID. This is irreversible.

Args:

  • id (string): DotNet class ID of the schema to delete

Inputs: id (required). Returns: errors, object

machship_delete_identitiesDelete IdentitiesA
Destructive

Delete the identities with the given IDs. This action is irreversible.

Args:

  • ids (number[]): Array of identity IDs to delete

Inputs: ids (required). Returns: errors, object

machship_delete_itemDelete Company ItemB
Destructive

Deletes a saved item from a company. This action is irreversible.

Args:

  • companyItemId (number): The ID of the item to delete

Inputs: companyItemId (required). Returns: errors, object

machship_delete_pending_consignmentsDelete Pending ConsignmentsB
Destructive

Deletes one or more pending consignments.

Args:

  • ids (number[]): Pending consignment IDs to delete

Inputs: ids (required). Returns: errors, object

machship_disable_identitiesDisable IdentitiesA

Disable the identities with the given IDs, preventing them from logging in.

Args:

  • ids (number[]): Array of identity IDs to disable

Inputs: ids (required). Returns: errors, object

machship_edit_company_locationEdit Company LocationC

Edits an existing company location.

Args:

  • location (object): Updated location data including id and any fields to update

Inputs: location (required). Returns: errors, object

machship_edit_consignmentEdit Unmanifested ConsignmentA

Edits an existing unmanifested (not yet booked) consignment. Cannot edit manifested consignments.

Args:

  • consignment (object): Updated consignment data including the consignment id

Inputs: consignment (required). Returns: errors, object

machship_get_active_consignmentsGet Active ConsignmentsB
Read-onlyIdempotent

Returns all active (in-transit) consignments for a company.

Args:

  • companyId (number): Company ID

  • startIndex (number, optional): Pagination start index

  • retrieveSize (number, optional): Number to retrieve

  • carrierId (number, optional): Filter by carrier

  • includeChildCompanies (boolean, optional): Include sub-companies

Inputs: companyId (required), carrierId, startIndex, retrieveSize, +1 more. Returns: errors, object

machship_get_all_consignmentsGet All ConsignmentsC
Read-onlyIdempotent

Returns all consignments for a company with date range and status filtering.

Args:

  • companyId (number): Company ID

  • startIndex (number, optional): Pagination start index

  • retrieveSize (number, optional): Number to retrieve

  • carrierId (number, optional): Filter by carrier

  • includeChildCompanies (boolean, optional): Include sub-companies

  • includeDeletedConsignments (boolean, optional): Include deleted

  • fromDateTimeLocal (string, optional): Start date filter (local time)

  • toDateTimeLocal (string, optional): End date filter (local time)

  • filterByEtaCompletedOrDespatch (string, optional): Filter by ETA/despatch status

Inputs: companyId (required), carrierId, startIndex, retrieveSize, +5 more. Returns: errors, object

machship_get_attachmentGet AttachmentB
Read-onlyIdempotent

Downloads the raw attachment file from Machship by attachment ID. Returns { fileBase64, contentType, sizeBytes }. contentType comes from the response header.

Args:

  • id (number): Attachment ID

Inputs: id (required). Returns: errors, object

machship_get_attachment_pod_reportGet Attachment POD ReportA
Read-onlyIdempotent

Downloads a Proof of Delivery (POD) report that includes attachment and consignment details. Returns { fileBase64, contentType, sizeBytes }. contentType comes from the response header.

Args:

  • id (number): Attachment ID

Inputs: id (required). Returns: errors, object

machship_get_attachments_by_consignment_idsGet Attachments by Consignment IDsA
Read-onlyIdempotent

Downloads attachments for up to 40 consignments in bulk (returned as zip). Returns { fileBase64, contentType, sizeBytes }. contentType comes from the response header.

Args:

  • ids (number[]): Array of consignment IDs (max 40)

Inputs: ids (required). Returns: errors, object

machship_get_available_rolesGet Available RolesB
Read-onlyIdempotent

Get all roles that are available to assign to users of a certain company.

Args:

  • companyId (number): Company ID

Inputs: companyId (required). Returns: errors, object

machship_get_carrier_invoice_entriesGet Carrier Invoice EntriesC
Read-onlyIdempotent

Gets carrier invoice line entries with optional status filtering.

Args:

  • carrierInvoiceId (number): The carrier invoice ID

  • status (string, optional): Filter entries by status

Inputs: carrierInvoiceId (required), status. Returns: errors, object

machship_get_carrier_invoicesGet Carrier InvoicesB
Read-onlyIdempotent

Returns basic carrier invoice information (max 100 records per call).

Args:

  • companyId (number, optional): Filter by company ID

  • carrierId (number, optional): Filter by carrier ID

  • fileName (string, optional): Filter by invoice file name

  • invoiceId (number, optional): Filter by specific invoice ID

Inputs: fileName, carrierId, companyId, invoiceId. Returns: errors, object

machship_get_commercial_invoice_pdfGet Commercial Invoice PDFA
Read-onlyIdempotent

Returns the commercial invoice PDF for a consignment (used for international shipments). Returns { fileBase64, contentType, sizeBytes }. contentType comes from the response header.

Args:

  • consignmentId (number): Consignment ID

Inputs: consignmentId (required). Returns: errors, object

machship_get_companiesGet CompaniesA
Read-onlyIdempotent

Returns all companies accessible to the authenticated user.

Args:

  • atOrBelowCompanyId (number, optional): Filter to companies at or below this company in the hierarchy

  • response_format ('json' | 'markdown'): Output format (default: 'json')

Returns: Array of company objects, each containing: { "id": number, // Company ID — use this in other tool calls "name": string, // Display name of the company "isActive": boolean, // Whether the company is active "parentCompanyId": number | null }

Examples:

  • Use when: "List all companies I have access to"

  • Use when: "What company ID does Acme Corp have?" -> call this, then search by name

  • Don't use when: You need carrier/service info (use machship_get_company_carriers instead)

Error Handling:

  • Error 401: Check MACHSHIP_API_TOKEN is set correctly

  • Error 403: Token lacks permission to list companies

Inputs: response_format, atOrBelowCompanyId. Returns: errors, object

machship_get_company_carriersGet Company Carriers, Accounts and ServicesA
Read-onlyIdempotent

Returns all available carriers, carrier accounts, and freight services for a company. Call this before creating consignments or quotes to discover which services and accounts are available.

Args:

  • companyId (number): Company ID

  • response_format ('json' | 'markdown'): Output format (default: 'json')

Returns: Array of carrier objects with nested accounts and services, each containing: { "carrierId": number, "carrierName": string, "accounts": [ { "accountId": number, "accountName": string, "services": [{ "serviceId": number, "serviceName": string }] } ] }

Examples:

  • Use when: "What carriers are available for company 123?"

  • Use when: You need a serviceId to pass to createConsignment

  • Don't use when: You just need a company list (use machship_get_companies instead)

Inputs: companyId (required), response_format. Returns: errors, object

machship_get_company_locationGet Company LocationA
Read-onlyIdempotent

Returns details for a single company location (warehouse, store, depot).

Args:

  • id (number): Company location ID

Inputs: id (required). Returns: errors, object

machship_get_company_locationsGet All Company LocationsA
Read-onlyIdempotent

Returns all locations (warehouses, stores, depots) for a given company.

Args:

  • companyId (number): Company ID

Inputs: companyId (required). Returns: errors, object

machship_get_completed_consignmentsGet Completed ConsignmentsB
Read-onlyIdempotent

Returns completed (delivered) consignments within a date range (max 2000 results).

Args:

  • companyId (number): Company ID

  • startDate (string): Start date (ISO 8601)

  • endDate (string): End date (ISO 8601)

  • includeChildCompanies (boolean, optional): Include sub-companies

Inputs: endDate (required), companyId (required), startDate (required), includeChildCompanies. Returns: errors, object

machship_get_consignmentGet ConsignmentB
Read-onlyIdempotent

Returns full details for a single consignment by ID.

Args:

  • id (number): Consignment ID

  • includeDeleted (boolean, optional): Include deleted consignments

  • includeRequestGuids (boolean, optional): Include request GUIDs in response

Inputs: id (required), includeDeleted, includeRequestGuids. Returns: errors, object

machship_get_consignment_attachmentsGet Consignment AttachmentsA
Read-onlyIdempotent

Returns attachment metadata (not file contents) for a consignment.

Args:

  • consignmentId (number): Consignment ID

Inputs: consignmentId (required). Returns: errors, object

machship_get_consignment_by_pending_idGet Consignment by Pending Consignment IDA
Read-onlyIdempotent

Get consignment details (if it exists) using a pending consignment ID that has been transformed (linked) into a consignment.

Args:

  • id (number): Pending consignment ID

Inputs: id (required). Returns: errors, object

machship_get_consignment_creation_settingsGet Consignment Creation SettingsA
Read-onlyIdempotent

Returns settings and defaults needed for creating consignments for a company (required fields, defaults, etc.).

Args:

  • companyId (number, optional): Company ID (defaults to authenticated company)

Inputs: companyId. Returns: errors, object

machship_get_consignment_for_cloneGet Consignment for CloneA
Read-onlyIdempotent

Get the details of an existing consignment in a format that can be passed directly to the createConsignmentWithComplexItems endpoint to create a copy.

Args:

  • id (number): Consignment ID to retrieve in clone format

Inputs: id (required). Returns: errors, object

machship_get_consignment_label_pdfGet Consignment Label PDFB
Read-onlyIdempotent

Returns the consignment label PDF. Returns { fileBase64, contentType, sizeBytes }. contentType comes from the response header.

Args:

  • consignmentId (number): Consignment ID

Inputs: consignmentId (required). Returns: errors, object

machship_get_consignment_notesGet Consignment NotesA
Read-onlyIdempotent

Returns all notes attached to a consignment (internal comments, delivery instructions, etc.).

Args:

  • id (number): Consignment ID

Inputs: id (required). Returns: errors, object

machship_get_consignment_pdf_file_infoGet Consignment PDF File InfoB
Read-onlyIdempotent

Returns the consignment label PDF as JSON. object.content holds the file as base64, with object.fileName and object.contentType.

Args:

  • consignmentId (number): Consignment ID

Inputs: consignmentId (required). Returns: errors, object

machship_get_consignments_by_carrier_idGet Consignments by Carrier Consignment IDA
Read-onlyIdempotent

Finds consignments by carrier's own consignment/tracking ID. Max 10 per request.

Args:

  • carrierConsignmentIds (string[]): Array of carrier consignment IDs (max 10)

Inputs: carrierConsignmentIds (required). Returns: errors, object

machship_get_consignments_by_idsGet Consignments by IDs (Batch)A
Read-onlyIdempotent

Returns details for multiple consignments by their IDs (max 100 per request).

Args:

  • ids (number[]): Array of consignment IDs (max 100)

Inputs: ids (required). Returns: errors, object

machship_get_consignments_by_pending_idsGet Consignments by Pending Consignment IDs (Batch)B
Read-onlyIdempotent

Get consignment details for multiple consignments using Pending Consignment IDs as the lookup. Maximum of 100 consignments per request.

Args:

  • ids (number[]): Array of pending consignment IDs (max 100)

Inputs: ids (required). Returns: errors, object

machship_get_consignments_by_reference1Get Consignments by Reference 1B
Read-onlyIdempotent

Finds consignments by their Reference 1 field (order number, etc). Max 10 per request.

Args:

  • references (string[]): Array of Reference 1 values (max 10)

Inputs: references (required). Returns: errors, object

machship_get_consignments_by_reference2Get Consignments by Reference 2B
Read-onlyIdempotent

Finds consignments by their Reference 2 field. Max 10 per request.

Args:

  • references (string[]): Array of Reference 2 values (max 10)

Inputs: references (required). Returns: errors, object

machship_get_consignment_statusesGet Consignment Tracking StatusesA
Read-onlyIdempotent

Returns tracking/delivery statuses for a batch of consignments, with optional date filter.

Args:

  • ids (number[]): Consignment IDs

  • sinceDateCreatedUtc (string, optional): Only return statuses since this UTC datetime (ISO 8601)

Inputs: ids (required), sinceDateCreatedUtc. Returns: errors, object

machship_get_custom_schemaGet Custom Schema by IDC
Read-onlyIdempotent

Returns a specific custom schema by its DotNet class ID.

Args:

  • id (string): The DotNet class ID of the schema

Inputs: id (required). Returns: errors, object

machship_get_custom_schemasGet All Custom SchemasA
Read-onlyIdempotent

Returns all custom schemas defined in the Machship organisation. Custom schemas extend Machship entities with additional fields.

Inputs: no named parameters. Returns: errors, object

machship_get_dangerous_goods_pdfGet Dangerous Goods Document PDFA
Read-onlyIdempotent

Returns the dangerous goods declaration document PDF for a consignment. Returns { fileBase64, contentType, sizeBytes }. contentType comes from the response header.

Args:

  • consignmentId (number): Consignment ID

Inputs: consignmentId (required). Returns: errors, object

machship_get_dangerous_goods_pdf_file_infoGet Dangerous Goods Document PDF File InfoB
Read-onlyIdempotent

Returns the dangerous goods declaration PDF as JSON. object.content holds the file as base64, with object.fileName and object.contentType.

Args:

  • consignmentId (number): Consignment ID

Inputs: consignmentId (required). Returns: errors, object

machship_get_identitiesGet IdentitiesA
Read-onlyIdempotent

Get all identities owned by an organisation, with details on which companies they are linked to. Requires administrator access to the organisation.

Args:

  • organisationId (number): Organisation ID

  • onlyUnlinkedIdentities (boolean, optional): Return only identities not linked to any company

  • identityProviderId (number, optional): Filter by identity provider

Inputs: organisationId (required), identityProviderId, onlyUnlinkedIdentities. Returns: errors, object

machship_get_identityGet IdentityB
Read-onlyIdempotent

Get the identity with the given ID.

Args:

  • id (number): Identity ID

Inputs: id (required). Returns: errors, object

machship_get_identity_providerGet Identity ProviderB
Read-onlyIdempotent

Get a specific identity provider by ID.

Args:

  • identityProviderId (number): Identity provider ID

Inputs: identityProviderId (required). Returns: errors, object

machship_get_identity_providers_for_companyGet Identity Providers for CompanyA
Read-onlyIdempotent

Get all identity providers associated with a specific company.

Args:

  • companyId (number): Company ID

Inputs: companyId (required). Returns: errors, object

machship_get_identity_providers_for_logged_userGet Identity Providers for Logged-in UserA
Read-onlyIdempotent

Returns all identity providers for the current user's organisation. No parameters required.

Inputs: no named parameters. Returns: errors, object

machship_get_identity_providers_for_organisationGet Identity Providers for OrganisationC
Read-onlyIdempotent

Returns all identity providers for the specified organisation.

Args:

  • organisationId (number): Organisation ID

Inputs: organisationId (required). Returns: errors, object

machship_get_invoice_by_document_numberGet Financial Invoice by Document NumberB
Read-onlyIdempotent

Returns a specific financial invoice by document number, with optional PDF download.

Args:

  • documentNumber (string): Invoice document number

  • returnPdfFileBytes (boolean, optional): Include PDF as base64 bytes in response

Inputs: documentNumber (required), returnPdfFileBytes. Returns: errors, object

machship_get_itemGet Company ItemA
Read-onlyIdempotent

Returns a single saved item (product/SKU) with its dimensions by ID.

Args:

  • id (number): Item ID

Inputs: id (required). Returns: errors, object

machship_get_item_by_skuGet Company Item by SKUB
Read-onlyIdempotent

Returns a saved item matching the given SKU for a company.

Args:

  • companyId (number): Company ID

  • sku (string): Product SKU code

Inputs: sku (required), companyId (required). Returns: errors, object

machship_get_item_complexGet Complex Company ItemA
Read-onlyIdempotent

Returns a single complex item (with detailed dimensions/packaging data) by ID.

Args:

  • id (number): Item ID

Inputs: id (required). Returns: errors, object

machship_get_item_complex_by_skuGet Complex Company Item by SKUA
Read-onlyIdempotent

Returns a complex item (detailed dimensions) by SKU for a company.

Args:

  • companyId (number): Company ID

  • sku (string): Product SKU code

Inputs: sku (required), companyId (required). Returns: errors, object

machship_get_item_label_pdfGet Item Label PDFB
Read-onlyIdempotent

Returns item/package labels for a consignment as a PDF. Returns { fileBase64, contentType, sizeBytes }. contentType comes from the response header.

Args:

  • consignmentId (number): Consignment ID

  • printA4 (boolean, optional): Print in A4 format (default: label-size)

Inputs: consignmentId (required), printA4. Returns: errors, object

machship_get_item_labels_zipGet Item Labels ZIP (Batch)A
Read-onlyIdempotent

Gets item labels as a zip file for up to 40 consignments. Returns { fileBase64, contentType, sizeBytes }. contentType comes from the response header.

Args:

  • consignmentIds (number[]): Consignment IDs (max 40)

  • printA4 (boolean, optional): Print in A4 format

  • singlePdf (boolean, optional): Combine all labels into a single PDF inside the zip

Inputs: consignmentIds (required), printA4, singlePdf. Returns: errors, object

machship_get_item_pdf_file_infoGet Item Label PDF File InfoA
Read-onlyIdempotent

Returns the item/package label PDF as JSON. object.content holds the file as base64, with object.fileName and object.contentType.

Args:

  • consignmentId (number): Consignment ID

  • printA4 (boolean, optional): Whether the label is in A4 format

Inputs: consignmentId (required), printA4. Returns: errors, object

machship_get_itemsGet All Company ItemsA
Read-onlyIdempotent

Returns a paginated list of saved items for a company (max 200 per request).

Args:

  • companyId (number): Company ID

  • startIndex (number, optional): Pagination start index (default 1)

  • retrieveSize (number, optional): Number of items to retrieve (default 200, max 200)

Inputs: companyId (required), startIndex, retrieveSize. Returns: errors, object

machship_get_items_by_skusGet Company Items by SKUs (Batch)A
Read-onlyIdempotent

Returns a list of saved items matching any of the supplied SKUs (standard items only, max 100 SKUs). SKUs that don't match any item are silently omitted — compare returned Sku values against your input to detect misses.

Args:

  • companyId (number): Company ID

  • skus (string[]): Array of SKU codes to look up (max 100)

Inputs: skus (required), companyId (required). Returns: errors, object

machship_get_items_complexGet All Complex Company ItemsA
Read-onlyIdempotent

Returns a paginated list of complex items for a company (max 200 per request).

Args:

  • companyId (number): Company ID

  • startIndex (number, optional): Pagination start index (default 1)

  • retrieveSize (number, optional): Number of items to retrieve (default 200, max 200)

Inputs: companyId (required), startIndex, retrieveSize. Returns: errors, object

machship_get_linked_from_organisationsGet Linked-From OrganisationsB
Read-onlyIdempotent

Returns all organisations that have linked INTO this organisation (suppliers, partners).

Args:

  • startIndex (number, optional): Pagination start index

  • retrieveSize (number, optional): Number to retrieve

  • sort (string, optional): Sort field

  • searchText (string, optional): Filter by name

Inputs: sort, searchText, startIndex, retrieveSize. Returns: errors, object

machship_get_linked_to_organisationsGet Linked-To OrganisationsB
Read-onlyIdempotent

Returns all organisations this organisation has linked TO (customers, subsidiaries).

Args:

  • startIndex (number, optional): Pagination start index

  • retrieveSize (number, optional): Number to retrieve

  • sort (string, optional): Sort field

  • searchText (string, optional): Filter by name

Inputs: sort, searchText, startIndex, retrieveSize. Returns: errors, object

machship_get_locations_exactGet Locations (Exact Match)B
Read-onlyIdempotent

Returns locations that exactly match provided suburb/postcode combinations. Supports multiple location lookups in one call.

Args:

  • locations (array): Array of suburb/postcode pairs to look up exactly

Inputs: locations (required). Returns: errors, object

machship_get_locations_with_optionsGet Locations with Search OptionsC
Read-onlyIdempotent

Returns locations with additional search options/filters applied.

Args:

  • s (string): Search string

  • options (object): Additional search options (country, state, etc.)

Inputs: s (required), options. Returns: errors, object

machship_get_manifest_label_pdfGet Manifest Label PDFB
Read-onlyIdempotent

Returns the manifest document as a PDF by manifest ID. Returns { fileBase64, contentType, sizeBytes }. contentType comes from the response header.

Args:

  • manifestId (number): Manifest ID

Inputs: manifestId (required). Returns: errors, object

machship_get_manifest_label_pdf_by_consignmentGet Manifest Label PDF by ConsignmentA
Read-onlyIdempotent

Returns the manifest PDF for the manifest associated with a given consignment. Returns { fileBase64, contentType, sizeBytes }. contentType comes from the response header.

Args:

  • consignmentId (number): Consignment ID

Inputs: consignmentId (required). Returns: errors, object

machship_get_manifest_pdf_file_infoGet Manifest PDF File InfoB
Read-onlyIdempotent

Returns the manifest PDF as JSON. object.content holds the file as base64, with object.fileName and object.contentType.

Args:

  • manifestId (number): Manifest ID

Inputs: manifestId (required). Returns: errors, object

machship_get_manifestsGet ManifestsA
Read-onlyIdempotent

Returns a paginated list of manifests for a company (max 200 per call). A manifest represents a carrier pickup booking for a group of consignments.

Args:

  • companyId (number, optional): Company ID

  • startIndex (number, optional): Pagination start index (default 1)

  • retrieveSize (number, optional): Number to retrieve (default 40, max 200)

  • carrierId (number, optional): Filter by carrier

  • includeChildCompanies (boolean, optional): Include sub-companies

  • startDate / endDate (string, optional): Date range filter (ISO 8601)

  • response_format ('json' | 'markdown'): Output format (default: 'json')

Returns: Array of manifest summary objects: { "id": number, "manifestDate": string, "carrierName": string, "status": string, "consignmentCount": number }

Examples:

  • Use when: "List today's manifests" -> set startDate/endDate to today

  • Use when: You need a manifestId to download a manifest PDF

Inputs: endDate, carrierId, companyId, startDate, +4 more. Returns: errors, object

machship_get_mo41_document_pdfGet MO41 Document PDFA
Read-onlyIdempotent

Returns the MO41 document PDF for a consignment (used for specific carrier compliance documents). Returns { fileBase64, contentType, sizeBytes }. contentType comes from the response header.

Args:

  • consignmentId (number): Consignment ID

Inputs: consignmentId (required). Returns: errors, object

machship_get_mo41_document_pdf_file_infoGet MO41 Document PDF File InfoA
Read-onlyIdempotent

Returns the MO41 document PDF as JSON. object.content holds the file as base64, with object.fileName and object.contentType.

Args:

  • consignmentId (number): Consignment ID

Inputs: consignmentId (required). Returns: errors, object

machship_get_organisation_by_public_keyGet Organisation Details by Public KeyA
Read-onlyIdempotent

Validates a public key and returns the corresponding organisation details. Use this to verify a partner's public key before linking.

Args:

  • publicKey (string): Organisation public key to look up

Inputs: publicKey (required). Returns: errors, object

machship_get_organisation_public_keyGet Organisation Public KeyA
Read-onlyIdempotent

Returns the public key for an organisation, used to set up inter-organisation links.

Args:

  • id (number, optional): Organisation ID (defaults to current org)

Inputs: id. Returns: errors, object

machship_get_pending_consignmentGet Pending ConsignmentA
Read-onlyIdempotent

Returns details for a single pending consignment by ID.

Args:

  • id (number): Pending consignment ID

Inputs: id (required). Returns: errors, object

machship_get_pending_consignments_by_idsGet Pending Consignments by IDs (Batch)B
Read-onlyIdempotent

Returns details for multiple pending consignments by IDs (max 10 per request).

Args:

  • ids (number[]): Pending consignment IDs (max 10)

Inputs: ids (required). Returns: errors, object

machship_get_pending_consignments_by_reference1Get Pending Consignments by Reference 1B
Read-onlyIdempotent

Finds pending consignments by Reference 1 field. Max 10 per request.

Args:

  • references (string[]): Reference 1 values (max 10)

Inputs: references (required). Returns: errors, object

machship_get_pending_consignments_by_reference2Get Pending Consignments by Reference 2B
Read-onlyIdempotent

Finds pending consignments by Reference 2 field. Max 10 per request.

Args:

  • references (string[]): Reference 2 values (max 10)

Inputs: references (required). Returns: errors, object

machship_get_permanent_pickupsGet Permanent Pickups for Company LocationA
Read-onlyIdempotent

Gets all permanent scheduled pickups configured for a company location.

Args:

  • companyLocationId (number): Company location ID

Inputs: companyLocationId (required). Returns: errors, object

machship_get_posted_invoicesGet Posted Financial InvoicesB
Read-onlyIdempotent

Returns posted financial invoices within an optional date range (max 100 per call).

Args:

  • startDate (string, optional): Start date filter (ISO 8601)

  • endDate (string, optional): End date filter (ISO 8601)

  • startIndex (number, optional): Pagination start index (default 1)

  • retrieveSize (number, optional): Number to retrieve (default 100, max 100)

Inputs: endDate, startDate, startIndex, retrieveSize. Returns: errors, object

machship_get_quoteGet QuoteA
Read-onlyIdempotent

Returns full details for a single quote by ID, including all carrier rate options.

Args:

  • id (number): Quote ID

  • response_format ('json' | 'markdown'): Output format (default: 'json')

Returns: Full quote object with all carrier rate options, addresses, and item details.

Examples:

  • Use when: "Show me the full details for quote 456"

  • Use when: You have a quote ID and need the carrier rates to pick one for a consignment

Inputs: id (required), response_format. Returns: errors, object

machship_get_quotesGet All QuotesA
Read-onlyIdempotent

Returns all quotes for a given company.

Args:

  • companyId (number): Company ID

  • response_format ('json' | 'markdown'): Output format (default: 'json')

Returns: Array of quote summary objects: { "id": number, "reference": string, "status": string, "createdDate": string }

Examples:

  • Use when: "List all quotes for company 123"

  • Use when: You need a quote ID to pass to machship_get_quote for full details

  • Don't use when: You want to create a new quote (use machship_create_quote instead)

Error Handling:

  • Error 404: companyId does not exist or is not accessible

Inputs: companyId (required), response_format. Returns: errors, object

machship_get_recent_consignmentsGet Recently Created or Updated ConsignmentsA
Read-onlyIdempotent

Returns consignments created or updated within a UTC date range. Ideal for sync/polling workflows.

Args:

  • companyId (number): Company ID

  • fromDateUtc (string): Start datetime in UTC (ISO 8601)

  • toDateUtc (string): End datetime in UTC (ISO 8601)

  • startIndex (number, optional): Pagination start index

  • retrieveSize (number, optional): Number to retrieve

  • carrierId (number, optional): Filter by carrier

  • includeChildCompanies (boolean, optional): Include sub-companies

  • getNotes (boolean, optional): Include notes in response

  • getReconciliationData (boolean, optional): Include reconciliation data

Inputs: companyId (required), toDateUtc (required), fromDateUtc (required), getNotes, +5 more. Returns: errors, object

machship_get_recent_pending_consignmentsGet Recently Created/Updated Pending ConsignmentsB
Read-onlyIdempotent

Returns pending consignments created or updated within a UTC date range. Useful for sync workflows.

Args:

  • companyId (number): Company ID

  • fromDateUtc (string): Start datetime UTC (ISO 8601)

  • toDateUtc (string): End datetime UTC (ISO 8601)

  • startIndex (number, optional): Pagination start

  • retrieveSize (number, optional): Page size

  • carrierId (number, optional): Filter by carrier

  • includeChildCompanies (boolean, optional): Include sub-companies

  • getDeleted (boolean, optional): Include deleted pending consignments

Inputs: companyId (required), toDateUtc (required), fromDateUtc (required), carrierId, +4 more. Returns: errors, object

machship_get_routesGet Available RoutesA
Read-only

Returns a list of available freight routes and carrier services for a single shipment request. Use this to find all carrier options (rates, ETAs) before creating a consignment.

Args:

  • request (object): Route request including:

    • companyId: Company ID (required)

    • fromLocation: { suburb, postcode, state, country } — origin location

    • toLocation: { suburb, postcode, state, country } — destination location

    • items: Array of packages with weight (kg), length/width/height (cm), name (string), quantity (integer > 0)

    • despatchDate (optional): Planned despatch date (ISO 8601)

Example: { "companyId": 1790, "fromLocation": { "suburb": "Melbourne", "postcode": "3000", "state": "VIC", "country": "AU" }, "toLocation": { "suburb": "Sydney", "postcode": "2000", "state": "NSW", "country": "AU" }, "items": [{ "weight": 10, "length": 30, "width": 30, "height": 30, "name": "Parcel", "quantity": 1 }] }

Inputs: request (required). Returns: errors, object

machship_get_routes_batchGet Available Routes (Batch)B
Read-only

Returns available routes for multiple shipment requests in a single call. Efficient for bulk rate shopping across multiple shipments.

Args:

  • requests (array): Array of route request objects (same structure as single route request)

Inputs: requests (required). Returns: errors, object

machship_get_routes_complex_itemsGet Available Routes with Complex ItemsB
Read-only

Returns available routes for a shipment with complex item definitions (dangerous goods, specialised packaging).

Args:

  • request (object): Route request with complexItems array (including dangerous goods classifications)

Inputs: request (required). Returns: errors, object

machship_get_special_instructions_pdfGet Special Instructions PDFB
Read-onlyIdempotent

Returns the special instructions document PDF for a consignment. Returns { fileBase64, contentType, sizeBytes }. contentType comes from the response header.

Args:

  • consignmentId (number): Consignment ID

  • printA4 (boolean, optional): Print in A4 format

Inputs: consignmentId (required), printA4. Returns: errors, object

machship_get_unmanifested_consignment_for_editGet Unmanifested Consignment for EditA
Read-onlyIdempotent

Get an unmanifested consignment in the same format required to perform an update via the editUnmanifestedConsignment endpoint.

Args:

  • id (number): Consignment ID (must be in unmanifested state)

Inputs: id (required). Returns: errors, object

machship_get_unmanifested_consignmentsGet Unmanifested ConsignmentsA
Read-onlyIdempotent

Returns consignments that have been created but not yet manifested (booked with carrier).

Args:

  • companyId (number): Company ID

  • startIndex (number, optional): Pagination start index

  • retrieveSize (number, optional): Number to retrieve

  • carrierId (number, optional): Filter by carrier

  • includeChildCompanies (boolean, optional): Include sub-companies

Inputs: companyId (required), carrierId, startIndex, retrieveSize, +1 more. Returns: errors, object

machship_group_all_for_manifestGroup All Unmanifested Consignments for ManifestA
Read-only

Groups ALL unmanifested consignments for a company into manifest groups (preview before manifesting).

Args:

  • companyId (number): Company ID

Inputs: companyId (required). Returns: errors, object

machship_group_and_perform_consolidationGroup and Perform ConsolidationB

Groups and consolidates consignments in a single operation (combines grouping + performing).

Args:

  • options (object): Consolidation options (companyId, carrierId, grouping rules, etc.)

Inputs: options (required). Returns: errors, object

machship_group_consignments_for_consolidationGroup Consignments for ConsolidationA
Read-only

Automatically groups consignments into consolidation groups based on options (carrier, route, etc.). Returns groups without actually consolidating — preview step before consolidation.

Args:

  • options (object): Consolidation grouping options (companyId, carrierId, etc.)

Inputs: options (required). Returns: errors, object

machship_group_consignments_for_manifestGroup Consignments for ManifestB
Read-only

Groups a specific set of consignments into manifest groups (preview before manifesting).

Args:

  • consignmentIds (number[]): Consignment IDs to group

Inputs: consignmentIds (required). Returns: errors, object

machship_group_consignments_for_printingGroup Consignments for PrintingB
Read-only

Groups consignments for batch label printing and returns print groups.

Args:

  • consignmentIds (number[]): Consignment IDs to group for printing

Inputs: consignmentIds (required). Returns: errors, object

machship_manifest_consignmentsManifest / Book Consignments with CarrierA

Books/manifests consignments with the carrier — creates the pickup booking and generates tracking numbers. This is the final step in the consignment workflow before physical pickup.

Args:

  • manifests (array): Array of booked manifest objects with consignment IDs and carrier booking details

Inputs: manifests (required). Returns: errors, object

machship_perform_consolidationPerform ConsolidationB

Consolidates a set of consignments into consolidated shipments. This merges multiple consignments into fewer shipment units for carrier efficiency.

Args:

  • request (object): Consolidation request with consignment IDs and consolidation parameters

Inputs: request (required). Returns: errors, object

machship_pingPing / Check Auth StatusA
Read-onlyIdempotent

Determines the current user's login status and retrieves session properties from Machship. Use this to verify authentication is working and to get the current user/company context.

Returns: session info including user details, company ID, and permissions.

Inputs: no named parameters. Returns: errors, object

machship_rebook_manifest_pickupRebook Manifest PickupA

Rebooks the carrier pickup for an existing manifest (e.g. missed pickup or changed schedule).

Args:

  • rebooking (object): Rebooking details including manifestId and new pickup datetime

Inputs: rebooking (required). Returns: errors, object

machship_reenable_identitiesRe-enable IdentitiesA

Re-enable previously disabled identities, restoring login access.

Args:

  • ids (number[]): Array of identity IDs to re-enable

Inputs: ids (required). Returns: errors, object

machship_reset_organisation_public_keyReset Organisation Public KeyA

Resets the public key for an organisation (generates new key). Does NOT affect existing links.

Args:

  • id (number, optional): Organisation ID (defaults to current org)

Inputs: id. Returns: errors, object

machship_return_identity_public_keysReturn Identity Public KeysA
Read-onlyIdempotent

Get the public keys of the supplied identities. These keys can be used by a linked organisation to grant those identities access to companies in their organisation. Requires administrator access.

Args:

  • ids (number[]): Array of identity IDs to retrieve public keys for

Inputs: ids (required). Returns: errors, object

machship_return_item_pdfs_for_consignmentsReturn Item PDFs for Consignments (POST)A
Read-onlyIdempotent

Returns item labels as a zip for up to 40 consignments (POST variant — use this when passing a body payload is preferred over query string). Returns { fileBase64, contentType, sizeBytes }. contentType comes from the response header.

Args:

  • consignmentIds (number[]): Consignment IDs (max 40)

  • printA4 (boolean, optional): Print in A4 format

Inputs: consignmentIds (required), printA4. Returns: errors, object

machship_search_consignmentsSearch ConsignmentsC
Read-onlyIdempotent

Searches consignments by reference numbers (Reference 1, Reference 2, or carrier IDs).

Args:

  • references (string[]): Array of reference strings to search for

Inputs: references (required). Returns: errors, object

machship_search_locationsSearch LocationsA
Read-onlyIdempotent

Returns up to 10 Machship locations matching a suburb or postcode search string. Use this to look up valid delivery/pickup locationIds before creating consignments.

Args:

  • s (string): Search string — suburb name, postcode, or both (e.g. "Melbourne 3000")

  • response_format ('json' | 'markdown'): Output format (default: 'json')

Returns: Array of location objects: { "id": number, "suburb": string, "postcode": string, "state": string, "country": string }

Examples:

  • Use when: "What location ID is for Sydney 2000?" -> search "Sydney 2000", pick from results

  • Use when: Validating a delivery address before creating a consignment

Inputs: s (required), response_format. Returns: errors, object

machship_send_labels_to_printerSend Labels to PrinterB

Sends labels directly to a configured printer in Machship.

Args:

  • requests (array): Array of print requests, each with consignmentId, printerId, labelType, etc.

Inputs: requests (required). Returns: errors, object

machship_update_consignment_statusesUpdate Consignment Tracking StatusesB

Manually updates tracking statuses for consignments (e.g. mark as delivered).

Args:

  • statuses (array): Array of manual tracking status objects, each with consignmentId, status, and datetime

Inputs: statuses (required). Returns: errors, object

machship_update_custom_schemaUpdate Custom SchemaC

Updates an existing custom schema by its DotNet class ID.

Args:

  • id (string): DotNet class ID of the schema to update

  • schema (object): Updated JSON schema definition

Inputs: id (required), schema (required). Returns: errors, object

machship_update_despatch_datesUpdate Despatch Dates for ManifestC

Updates despatch dates and estimated time of arrival (ETA) for a set of consignments.

Args:

  • updates (array): Array of objects with consignmentId and new despatch date/ETA

Inputs: updates (required). Returns: errors, object

machship_update_identityUpdate IdentityA

Updates properties on an identity. All fields except password are required; omitted fields are set to null.

Args:

  • id (number): Identity ID (required)

  • givenName (string): First name (required)

  • familyName (string): Last name (required)

  • displayName (string): Display name (required)

  • emailAddress (string): Email address (required)

  • owningCompanyId (number): Owning company ID (required)

  • password (string, optional): New password

  • phone / businessPhone / mobile / position / notes (optional)

Inputs: id (required), givenName (required), familyName (required), displayName (required), +8 more. Returns: errors, object

machship_update_reprice_consignmentUpdate and Reprice ConsignmentA

Updates consignment items on a carrier invoice entry and triggers repricing. Use for reconciling carrier invoice discrepancies.

Args:

  • body (object): Repricing request payload (consignmentId, items, etc.)

Inputs: body (required). Returns: errors, object

machship_upload_attachmentsUpload AttachmentsB

Uploads one or more attachments to Machship.

Args:

  • attachments (array): Array of attachment objects. Each object should contain:

    • consignmentId (number): Consignment to attach to

    • fileName (string): File name with extension

    • fileBase64 (string): Base64-encoded file content

    • attachmentTypeId (number, optional): Type of attachment

Inputs: attachments (required). Returns: errors, object

machship_upload_commercial_invoiceUpload Commercial InvoiceB

Uploads one or more commercial invoice files for a consignment (for international shipments). Files are provided as base64-encoded content.

Args:

  • consignmentId (number): The consignment to attach the invoice to

  • files (array): Array of files, each with fileName and fileBase64 content

Inputs: files (required), consignmentId (required). Returns: errors, object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 125 tools

    Disambiguation2/5

    Several tool pairs are functionally near-duplicates: the PDF getters exist in two flavours (e.g. machship_get_consignment_label_pdf vs machship_get_consignment_pdf_file_info, same for item, manifest, dangerous goods and MO41), and machship_get_item_labels_zip vs machship_return_item_pdfs_for_consignments is explicitly the same operation with a different payload style. Search surfaces also overlap heavily: machship_search_consignments versus the three machship_get_consignments_by_reference1/reference2/carrier_id tools, and machship_search_locations vs machship_get_locations_exact vs machship_get_locations_with_options. On top of that, machship_create_quote and machship_get_routes both return carrier rate options, making selection genuinely uncertain.

    Naming Consistency4/5

    Almost every tool follows a predictable machship_verb_noun snake_case pattern (get_, create_, update_, delete_, group_, upload_). Minor deviations exist: machship_ping has no verb_noun form, 'edit' is used alongside 'update' (machship_edit_consignment, machship_edit_company_location vs machship_update_custom_schema, machship_update_despatch_dates), and 'return' is used inconsistently (machship_return_identity_public_keys, machship_return_item_pdfs_for_consignments). These are small blemishes rather than a broken convention.

    Tool Count1/5

    125 tools for a single server is far past any reasonable agent-facing surface; selection cost and misselection risk dominate. A meaningful chunk of that count is redundant (duplicated PDF variants, POST-vs-GET duplicates, three location search variants), so the surface could be halved without losing capability. Even for a broad TMS domain, this is an extreme overload.

    Completeness4/5

    Coverage across the freight lifecycle is genuinely deep: consignments (create/edit/delete/search/statuses/despatch dates), pending consignments, quoting and route shopping, manifests and rebooking, labels/PODs/commercial invoices, attachments, items, locations, identities/roles, organisation links, custom schemas and carrier invoice reconciliation. The main gaps are around items (there is create_item_complex and delete_item but no standard create_item and no update/edit item) and no manifest cancellation operation. These are minor and workable rather than blocking.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to manage global shipping operations, including rate comparison, shipment creation, label purchasing, tracking, pickup scheduling, address validation, billing, and analytics, via natural language.
      25 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to track packages, rate and create shipments, manage pickups and customs documentation, and perform international shipping logistics checks through natural language.
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants in Cursor and other MCP hosts to connect to a company REST API, handling token-based authentication, read-only lookups, and guarded job/package creation with optional shipping labels.
      19 npm
      MIT