Skip to main content
Glama
devkindhq

machship-mcp

by devkindhq

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

Capabilities

Features and capabilities supported by this server

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 raw attachment file bytes from Machship by attachment ID. Returns base64-encoded file content.

Args:

  • id (number): Attachment ID

machship_get_attachment_pod_reportA

Downloads a Proof of Delivery (POD) report that includes attachment and consignment details.

Args:

  • id (number): Attachment ID

machship_get_attachments_by_consignment_idsA

Downloads attachments for up to 40 consignments in bulk (returned as zip).

Args:

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

machship_upload_attachmentsC

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_entriesA

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_reconciliationC

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

Args:

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

machship_upload_commercial_invoiceA

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_itemB

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_skuA

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_skuB

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

Args:

  • companyId (number): Company ID

  • sku (string): Product SKU code

machship_create_item_complexA

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_itemA

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_locationB

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_pickupsB

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_consignmentA

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_reference1A

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_reference2A

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_consignmentsA

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_consignmentsA

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_consignmentsA

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_itemsA

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_consignmentsB

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_datesA

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_idsA

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_consolidationA

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_schemaB

Returns a specific custom schema by its DotNet class ID.

Args:

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

machship_create_custom_schemaA

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_schemaB

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_invoicesA

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_numberA

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_rolesA

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_companiesA

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_companyC

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_organisationA

Returns all identity providers for the specified organisation.

Args:

  • organisationId (number): Organisation ID

machship_get_consignment_label_pdfB

Returns the consignment label as a PDF (base64 or file bytes).

Args:

  • consignmentId (number): Consignment ID

machship_get_item_label_pdfA

Returns item/package labels for a consignment as a PDF.

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.

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_pdfA

Returns the manifest document as a PDF by manifest ID.

Args:

  • manifestId (number): Manifest ID

machship_get_manifest_label_pdf_by_consignmentB

Returns the manifest PDF for the manifest associated with a given consignment.

Args:

  • consignmentId (number): Consignment ID

machship_get_commercial_invoice_pdfA

Returns the commercial invoice PDF for a consignment (used for international shipments).

Args:

  • consignmentId (number): Consignment ID

machship_get_dangerous_goods_pdfA

Returns the dangerous goods declaration document PDF for a consignment.

Args:

  • consignmentId (number): Consignment ID

machship_send_labels_to_printerA

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_printingA

Groups consignments for batch label printing and returns print groups.

Args:

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

machship_get_consignment_pdf_file_infoA

Returns file metadata (name, size, URL) for the consignment label PDF without downloading it.

Args:

  • consignmentId (number): Consignment ID

machship_get_item_pdf_file_infoA

Returns file metadata for the item/package label PDF without downloading it.

Args:

  • consignmentId (number): Consignment ID

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

machship_get_manifest_pdf_file_infoA

Returns file metadata for the manifest PDF without downloading it.

Args:

  • manifestId (number): Manifest ID

machship_get_dangerous_goods_pdf_file_infoA

Returns file metadata for the dangerous goods declaration PDF without downloading it.

Args:

  • consignmentId (number): Consignment ID

machship_get_mo41_document_pdfB

Returns the MO41 document PDF for a consignment (used for specific carrier compliance documents).

Args:

  • consignmentId (number): Consignment ID

machship_get_mo41_document_pdf_file_infoA

Returns file metadata for the MO41 document PDF without downloading it.

Args:

  • consignmentId (number): Consignment ID

machship_get_special_instructions_pdfA

Returns the special instructions document PDF for a consignment.

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

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_exactA

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_manifestA

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

Args:

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

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/devkindhq/machship-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server