Skip to main content
Glama
bigl34

inFlow Inventory MCP Server

by bigl34

upsert_stock_adjustment

Create or update a stock adjustment in inFlow Inventory to add or remove inventory by location. Legacy immediate write; use set_stock_adjustment instead.

Instructions

[LEGACY IMMEDIATE WRITE — HIGH RISK: BYPASSES INFLOW_ENABLE_SAFE_WRITES] Use set_stock_adjustment instead. Create or update a stock adjustment to add or remove inventory

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoAdjustment ID (required for updates)
itemsYesItems to adjust
remarksNoNotes/remarks
reasonIdNoAdjustment reason ID
timestampNo
locationIdYesLocation ID where adjustment occurs
customFieldsNo
adjustmentDateNoAdjustment date (ISO format)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.4.0-alpha.2

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations at all, the description carries full behavioral burden. It discloses two critical traits: that this is a legacy immediate write, and that it bypasses INFLOW_ENABLE_SAFE_WRITES (a safety gate). It also says it mutates inventory (add or remove). Gaps remain: no mention of permissions required, reversibility, or rate limits, but the safety-bypass disclosure is the most important behavioral fact for an agent.

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?

Two sentences with zero waste. The critical warning is front-loaded, followed by the alternative, then the action. The structure maximizes the chance an agent sees the risk before the purpose.

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?

For a high-risk mutation tool with no annotations and no output schema, the description covers the essential 'don't use this' guidance but omits operational details like required permissions, whether changes are reversible, and what happens to existing adjustment data on update. It is minimum viable but not rich.

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 75%, so most parameters are documented in the schema itself. The description adds no parameter-level detail beyond restating 'add or remove inventory'. Baseline 3 is appropriate when the schema does the heavy lifting and the description adds nothing new.

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?

The description names a specific verb+resource: 'Create or update a stock adjustment to add or remove inventory.' This clearly distinguishes it from list_stock_adjustments and get_stock_adjustment. However, it is somewhat cluttered by the legacy warning banner before the actual purpose.

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 says '[LEGACY IMMEDIATE WRITE — HIGH RISK] Use set_stock_adjustment instead.' This names the alternative tool and gives a clear condition for when not to use this one. A rare example of strong routing guidance.

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