Skip to main content
Glama
bigl34

inFlow Inventory MCP Server

by bigl34

unreceive_purchase_order

Remove receive line entries from a purchase order to reverse received stock, using exact IDs, product quantities with LIFO, or full removal.

Instructions

[LEGACY IMMEDIATE WRITE — HIGH RISK: BYPASSES INFLOW_ENABLE_SAFE_WRITES] Use set_purchase_order_receipts instead. Remove receive line entries from a PO to reverse received stock. Supports exact ID removal, product-based LIFO removal, or full unreceive.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsNoProducts to unreceive by quantity — auto-matches receive lines newest-first
dryRunNoPreview what would be removed without making changes
unreceiveAllNoRemove ALL receive lines (fully unreceive the entire PO)
receiveLineIdsNoSpecific receive line IDs to remove entirely
purchaseOrderIdYesThe purchase order ID

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.4.0-alpha.2

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does unusually well: it discloses that this is a legacy immediate (non-deferred) write, that it bypasses the safe-writes gate, and that it is high risk. It omits reversibility, permission requirements, and what happens to existing stock/ledger entries when lines are removed.

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

Conciseness5/5

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

The risk banner is front-loaded, the redirect to the replacement tool follows, and the capability summary closes it out — three tight clauses with zero filler.

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

Completeness4/5

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

For a 5-parameter, annotation-free mutation with no output schema, the description covers purpose, risk, bypass behavior, and the alternative tool. Gaps remain around dryRun usage, parameter precedence/conflicts, and whether the operation is reversible.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds mode semantics that map onto parameter combinations: exact ID removal (receiveLineIds), product-based LIFO removal (items), and full unreceive (unreceiveAll). It does not mention dryRun or the precedence when multiple mode parameters are supplied together.

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

Purpose5/5

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

States a specific verb+resource ('Remove receive line entries from a PO to reverse received stock') and immediately distinguishes itself from the sibling set_purchase_order_receipts, which it tells the agent to prefer. An agent can identify this tool's role and risk profile without opening the schema.

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

Usage Guidelines5/5

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

Explicitly names the alternative ('Use set_purchase_order_receipts instead') and gives the reason (legacy, high risk, bypasses INFLOW_ENABLE_SAFE_WRITES), effectively stating when NOT to use it. It also enumerates the three supported removal modes so the agent knows which invocation patterns apply.

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