Skip to main content
Glama
machship-mcp

machship-mcp

Get Carrier Invoices

machship_get_carrier_invoices
Read-onlyIdempotent

Retrieve basic carrier invoice records, up to 100 per call, filtered by company, carrier, invoice ID, or file name to review freight invoices.

Instructions

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

Input Schema

NameRequiredDescriptionDefault
fileNameNoFilter by invoice file name
carrierIdNoFilter by carrier ID
companyIdNoFilter by company ID
invoiceIdNoFilter by invoice ID

Output Schema

NameRequiredDescriptionDefault
errorsNoValidation errors returned by Machship, if any
objectNoResponse payload from the Machship API

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.0.1
    • addedInput schema / properties / carrierId / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / companyId / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / invoiceId / maximum
      Added value: +9007199254740991
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "errors": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Validation errors returned by Machship, if any"
      +    },
      +    "object": {
      +      "description": "Response payload from the Machship API"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observedv1.0.0

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful behavior beyond that with the max 100 records per call limit. It does not explain what happens when more than 100 invoices match (no pagination or truncation behavior) or whether any authentication/company scoping is required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the key fact (returns carrier invoice info, capped at 100 records) in the first sentence and presents filters in a clean list. The Args list is fully redundant with the input schema, so a little space is wasted, but the structure is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value details need not be repeated, and annotations cover the safety profile. However, for a simple filtered list with no required parameters, the description omits two things an agent would want: how to handle results beyond the 100-record cap and how this differs from sibling invoice tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description's Args list restates each parameter exactly as the schema documents it, adding no new meaning. It does confirm all filters are optional, but repeats rather than enriches the schema. Baseline 3 is appropriate when the schema carries parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: returns basic carrier invoice information, with a concrete cap of max 100 records per call. It does not differentiate itself from the closely related sibling machship_get_carrier_invoice_entries or from machship_get_posted_invoices, leaving an agent to infer which invoice-retrieval tool applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance or alternative is named. The use case (filtered invoice listing) is implied by the parameters, but the description never says when to choose this over machship_get_carrier_invoice_entries, machship_get_posted_invoices, or machship_get_invoice_by_document_number.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools