MCPInventory
Split a package
distru-split-packageWriteMetrcTrymSplits part of a package into new packages, each with its own Metrc tag. Claims those tags in Trym when your company is connected to it.
Inputs
Every tool also takes the common inputs.
| Field | Type | Required | Description |
|---|---|---|---|
| packageId | string | Yes | The source: active, not syncing, on hold or on an order. Resolve via distru-search-packages. |
| outputs | object[] | Yes | One new package each. |
| outputs[]. | string | Yes | An unused Metrc package tag on the source's license. Resolve via distru-search-available-metrc-tags (licenseId). |
| outputs[]. | string or number | Yes | Greater than 0, in the source package's unit type; the same amount leaves the source. |
| outputs[]. | string | No | Defaults to the source's. On the source's license. Resolve via distru-search-locations. |
| outputs[]. | string | No | Metrc room. Defaults to the source's where the state uses Metrc rooms. Resolve via distru-search-metrc-locations (licenseId). |
| outputs[]. | string | No | Defaults to the source's. Resolve via distru-search-products. |
| outputs[]. | string | No | Defaults to the source's Metrc item. Resolve via distru-search-metrc-items. |
| outputs[]. | string | No | Marks the output a Metrc production batch, so set it only when it is one. |
| outputs[]. | string | No | The package's free-text batch number, not a Distru batch. Defaults to the source's. |
| outputs[]. | string | No | YYYY-MM-DD. Defaults to today. |
| outputs[]. | string | No | Defaults to the source's. ISO 8601 with a UTC offset, e.g. "2026-09-01T00:00:00-07:00"; the company timezone is on distru-get-me. |
| outputs[]. | string | No | Package note sent to Metrc. |
| outputs[]. | boolean | No | Copies the source's custom field values. |
| outputs[]. | object[] | No | Added to the cost carried over from the source. |
| outputs[]. | string | Yes | Resolve via distru-search-lookups (type COST_TYPE). |
| outputs[]. | string or number | Yes | Greater than 0, in the cost type's unit type. |
| outputs[]. | string or number | No | Dollars per unit of the cost type's unit type. Defaults to the cost type's costPerUnit; refused when the cost type's allowInlineEdits is false. |
| outputs[]. | string | No |
Output
Presence on a nested field assumes its parent exists.
| Field | Type | Presence |
|---|---|---|
| assemblyId | string | Always |
| packages | object[] | Always |
| packages[]. | string | Always |
| packages[]. | string | Always |
| packages[]. | string | Always |
| packages[]. | object | Always |
| packages[]. | string | Always |
| packages[]. | string | Always |
| packages[]. | object | Always |
| packages[]. | string | Always |
| packages[]. | string | Always |
| sourcePackage | object | Always |
| sourcePackage. | string | Always |
| sourcePackage. | string | Always |
| sourcePackage. | string | Always |
What the AI reads
Splits part of one package into new packages, completed at once: each output takes its quantity from the source and becomes a new package with its own Metrc label, at the source's location unless locationId is set (same license). Each new package is then created in Metrc in the background; follow it with distru-search-metrc-activities. Not idempotent, but a used label is refused, so a repeated call fails. Returns the new packages and the source's remaining quantity, in the package's unit type.