Skip to main content
Glama
machship-mcp

machship-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoHTTP port when TRANSPORT=http3000
TRANSPORTNoTransport type: stdio or httpstdio
MACHSHIP_API_URLNoAPI base URLhttps://live.machship.com
MACHSHIP_API_TOKENYesMachship Bearer token

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
machship_pingA

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.

machship_get_attachmentB

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

machship_get_attachment_pod_reportA

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

machship_get_attachments_by_consignment_idsA

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)

machship_upload_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

machship_get_carrier_invoicesB

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

machship_get_carrier_invoice_entriesC

Gets carrier invoice line entries with optional status filtering.

Args:

  • carrierInvoiceId (number): The carrier invoice ID

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

machship_update_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.)

machship_attempt_auto_reconciliationB

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

Args:

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

machship_upload_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

machship_get_companiesA

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

machship_get_company_carriersA

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)

machship_get_itemA

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

Args:

  • id (number): Item ID

machship_get_itemsA

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)

machship_get_item_by_skuB

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

Args:

  • companyId (number): Company ID

  • sku (string): Product SKU code

machship_get_item_complexA

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

Args:

  • id (number): Item ID

machship_get_items_complexA

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)

machship_get_item_complex_by_skuA

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

Args:

  • companyId (number): Company ID

  • sku (string): Product SKU code

machship_create_item_complexB

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.

machship_delete_itemB

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

Args:

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

machship_get_items_by_skusA

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)

machship_get_company_locationA

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

Args:

  • id (number): Company location ID

machship_get_company_locationsA

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

Args:

  • companyId (number): Company ID

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

machship_edit_company_locationC

Edits an existing company location.

Args:

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

machship_get_permanent_pickupsA

Gets all permanent scheduled pickups configured for a company location.

Args:

  • companyLocationId (number): Company location ID

machship_add_permanent_pickupsB

Adds permanent scheduled pickups to a company location.

Args:

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

machship_get_consignmentB

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

machship_get_consignments_by_idsA

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

Args:

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

machship_get_consignments_by_reference1B

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

Args:

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

machship_get_consignments_by_reference2B

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

Args:

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

machship_get_consignments_by_carrier_idA

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

Args:

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

machship_get_consignment_statusesA

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)

machship_update_consignment_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

machship_get_unmanifested_consignmentsA

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

machship_get_active_consignmentsB

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

machship_get_all_consignmentsC

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

machship_get_recent_consignmentsA

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

machship_get_completed_consignmentsB

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

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

machship_create_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

machship_create_consignment_existing_itemsB

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

Args:

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

machship_edit_consignmentA

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

Args:

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

machship_delete_consignmentsA

Deletes multiple unmanifested consignments. Cannot delete manifested consignments.

Args:

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

machship_search_consignmentsC

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

Args:

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

machship_get_consignment_creation_settingsA

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)

machship_get_consignment_attachmentsA

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

Args:

  • consignmentId (number): Consignment ID

machship_update_despatch_datesC

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

machship_get_consignment_by_pending_idA

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

machship_get_consignment_for_cloneA

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

machship_get_unmanifested_consignment_for_editA

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)

machship_get_consignments_by_pending_idsB

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)

machship_group_consignments_for_consolidationA

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

machship_perform_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

machship_group_and_perform_consolidationB

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

Args:

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

machship_get_custom_schemasA

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

machship_get_custom_schemaC

Returns a specific custom schema by its DotNet class ID.

Args:

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

machship_create_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

machship_update_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

machship_delete_custom_schemaA

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

Args:

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

machship_get_posted_invoicesB

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)

machship_get_invoice_by_document_numberB

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

machship_get_identitiesA

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

machship_get_identityB

Get the identity with the given ID.

Args:

  • id (number): Identity ID

machship_get_available_rolesB

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

Args:

  • companyId (number): Company ID

machship_create_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

machship_update_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)

machship_delete_identitiesA

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

Args:

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

machship_disable_identitiesA

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

Args:

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

machship_reenable_identitiesA

Re-enable previously disabled identities, restoring login access.

Args:

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

machship_link_identities_to_companiesB

Assign companies and roles to identities to give them access to the system. Requires administrator access.

Args:

  • links (array): Array of identity-company link objects, each with identityId, companyId, and roles

machship_unlink_identities_from_companiesB

Remove company access from identities. Each entry specifies an identity and the company to revoke access from.

Args:

  • unlinks (array): Array of objects with identityId and companyId to unlink

machship_return_identity_public_keysA

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

machship_get_identity_providerB

Get a specific identity provider by ID.

Args:

  • identityProviderId (number): Identity provider ID

machship_get_identity_providers_for_companyA

Get all identity providers associated with a specific company.

Args:

  • companyId (number): Company ID

machship_get_identity_providers_for_logged_userA

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

machship_get_identity_providers_for_organisationC

Returns all identity providers for the specified organisation.

Args:

  • organisationId (number): Organisation ID

machship_get_consignment_label_pdfB

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

Args:

  • consignmentId (number): Consignment ID

machship_get_item_label_pdfB

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)

machship_get_item_labels_zipA

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

machship_get_manifest_label_pdfB

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

machship_get_manifest_label_pdf_by_consignmentA

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

machship_get_commercial_invoice_pdfA

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

machship_get_dangerous_goods_pdfA

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

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

machship_group_consignments_for_printingB

Groups consignments for batch label printing and returns print groups.

Args:

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

machship_get_consignment_pdf_file_infoB

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

machship_get_item_pdf_file_infoA

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

machship_get_manifest_pdf_file_infoB

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

Args:

  • manifestId (number): Manifest ID

machship_get_dangerous_goods_pdf_file_infoB

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

machship_get_mo41_document_pdfA

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

machship_get_mo41_document_pdf_file_infoA

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

machship_get_special_instructions_pdfB

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

machship_return_item_pdfs_for_consignmentsA

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

machship_search_locationsA

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

machship_get_locations_exactB

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

machship_get_locations_with_optionsC

Returns locations with additional search options/filters applied.

Args:

  • s (string): Search string

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

machship_get_manifestsA

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

machship_group_all_for_manifestA

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

Args:

  • companyId (number): Company ID

machship_group_consignments_for_manifestB

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

Args:

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

machship_manifest_consignmentsA

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

machship_rebook_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

machship_get_consignment_notesA

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

Args:

  • id (number): Consignment ID

machship_get_organisation_linksB

Returns all links (partnerships/integrations) that exist for an organisation.

Args:

  • id (number, optional): Organisation ID (leave blank for current authenticated org)

machship_get_linked_from_organisationsB

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

machship_get_linked_to_organisationsB

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

machship_get_organisation_public_keyA

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

Args:

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

machship_get_organisation_by_public_keyA

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

machship_add_organisation_linkB

Links another organisation into yours using their public key.

Args:

  • request (object): Link request with the partner's publicKey and optional configuration

machship_remove_organisation_linkB

Removes an existing link between two organisations. This action is irreversible.

Args:

  • request (object): Unlink request with organisationLinkId to remove

machship_reset_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)

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

machship_get_pending_consignmentA

Returns details for a single pending consignment by ID.

Args:

  • id (number): Pending consignment ID

machship_get_pending_consignments_by_idsB

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

Args:

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

machship_get_pending_consignments_by_reference1B

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

Args:

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

machship_get_pending_consignments_by_reference2B

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

Args:

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

machship_get_recent_pending_consignmentsB

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

machship_delete_pending_consignmentsB

Deletes one or more pending consignments.

Args:

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

machship_create_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

machship_create_quote_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

machship_get_quotesA

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

machship_get_quoteA

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

machship_get_routesA

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 }] }

machship_get_routes_batchB

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)

machship_get_routes_complex_itemsB

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)

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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