goods-receipt
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| po_addA | Create a purchase order to receive goods against. Lines carry a sku, a description and an ordered whole-unit quantity. Over/under tolerances are whole percentages allowed above/below ordered before a GRN is flagged. Ids look like PO-0001. Free tier, full CRUD. |
| grn_addA | Create a goods-receipt note (GRN) against an open purchase order. Give one cell per PO line: the whole units received and/or damaged. received is checked against the line's ordered quantity and the PO's over tolerance; receiving past the over tolerance is refused unless declared damaged. Shortage is recorded automatically (ordered minus received, floored at zero) and shown as a discrepancy. Partial deliveries are fine: raise several GRNs against the same PO. Free tier, full CRUD. |
| grn_line_addA | Add another PO line (or more units on a line already open on this GRN) to an existing open goods-receipt note. Useful when one delivery arrives in batches. The over-tolerance gate still applies to the PO line's cumulative received count across every GRN. Free tier, full CRUD. |
| grn_listA | List goods-receipt notes, newest first, optionally filtered to one purchase order. |
| grn_getA | Get a single goods-receipt note by id, with its lines, damage and shortage per line. |
| grn_discrepancyA | List lines that are not as ordered: damaged units, a declared shortage, or received below the PO line's under tolerance. Optionally filter to one PO. |
| grn_closeA | Close an open GRN. A closed GRN can no longer take lines, and its discrepancies are treated as resolved. Closing is free-tier and never mutates the PO. |
| grn_status_reportA | Reconcile every purchase order against every GRN: open POs (not yet fully received), POs fully received within tolerance, POs with at least one discrepancy, and per-line open/short/damaged counts. Nothing is written. |
| grn_export_csvA | Pro. Export every GRN (or just one PO's GRNs) as CSV with a header row: grn,po,po_reference,received_at,carrier,status,line,sku,received,damaged,shortage,damage_note,shortage_note. Watermark-free and not truncated. |
| license_statusA | Report this server's licence state: product, tier free or pro, licence id, expiry, the key source and the upgrade URL. No arguments, no network. Explains a free-tier refusal; license_activate installs a key. |
| license_activateA | Activate a Pro key (MCPL1.xxx.yyy) from checkout: verified offline against a built-in public key, saved to your config file. A wrong, malformed or expired key is refused, unsaved. license_status reads it back. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool targets a distinct action and resource: PO creation, GRN creation, line addition, GRN retrieval/listing/export/close, discrepancy and status reporting, and license management. The two report tools are cleanly separated by aggregation level, so an agent can tell them apart.
Most tools follow a readable snake_case pattern with prefixes like grn_, po_, and license_. A few names such as grn_discrepancy and license_status are noun phrases rather than verb phrases, but the overall convention is consistent enough to be predictable.
Eleven tools is a well-scoped number for a goods-receipt server covering PO creation, GRN lifecycle, reporting, export, and licensing. No tool feels redundant, and the set is neither bloated nor too thin.
The receiving workflow is covered, but the surface has significant lifecycle gaps: POs can only be created and never listed, updated, or deleted, and GRNs/lines cannot be corrected or removed once added. These gaps can strand agents when an entry is wrong or a PO needs adjustment.