DecoNetwork MCP by usefulapi
Server Details
Read production orders, mark orders produced or shipped, and add internal notes.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 5 tools
Each tool has a clearly different action: fetch one order, search a list, list orders due soon, add a note, change status. The only real overlap is deconetwork_list_orders_due versus deconetwork_search_orders with a date-due range, which can produce the same result with different defaults; descriptions call out the relationship so an agent can pick correctly.
All five tools share the deconetwork_ prefix followed by a consistent verb_noun pattern (get_order, add_order_note, list_orders_due, search_orders, update_order_status). No style mixing or vague verbs.
Five tools is a tight, well-scoped surface for an order-management integration: one detail read, two list/search reads, and two writes. Each tool earns its place with no redundant CRUD duplicates.
Read coverage is strong (single order, search, due list) and there are two write actions (note, status), but the lifecycle is incomplete: no order creation, cancellation/deletion, or editing of order fields, and no customer notification tool beyond a flag on status update. Agents can work around some gaps via external DecoNetwork access but will hit dead ends for edits.
Available Tools
5 toolsdeconetwork_add_order_noteAdd internal note to orderAInspect
WRITE: add an INTERNAL note (visible to staff, not sent to the customer) to an order, or to one line item with order_line_id. Each call adds a new note, so do not repeat it. POST /api/json/manage_orders/add_internal_note.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The note text. | |
| order_id | Yes | The order's invoice number, e.g. INV1234 (this is the order id). | |
| order_line_id | No | Attach the note to this line item instead of the order. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, and the description adds real value on top: the append-only semantics ('each call adds a new note'), audience visibility (staff only, not sent to the customer), and the underlying endpoint. It does not cover permissions or rate limits, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the 'WRITE' signal and the internal-visibility constraint, then the append warning, then the endpoint. Nothing is wasted and nothing essential is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and fully documented parameters, the description supplies the mutation type, the repeat-call warning, and the visibility semantics an agent needs before invoking. Only error behavior and any confirmation/return detail are absent, which is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented, including order_line_id's 'attach to this line item instead of the order' behavior. The description restates the order_line_id routing but adds no syntax or format guidance beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('add an INTERNAL note ... to an order, or to one line item'), and the 'visible to staff, not sent to the customer' clause removes any ambiguity about note type. It does not explicitly contrast itself with the sibling tools, though none of them create notes, so confusion risk is low.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: it is clearly the tool for internal, staff-visible notes as opposed to customer-facing communication. The only explicit guidance is 'Each call adds a new note, so do not repeat it', which is a non-idempotency warning rather than a when-to-use vs alternative rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deconetwork_get_orderGet orderARead-onlyInspect
One order by invoice number with everything the API holds: all line items with decoration views/areas/processes, fields and sizes, team names, payments, refunds, shipments with tracking and packages, notes, taxes, store, and (optional) workflow items and purchase-order data. Status codes are spelled out. Card numbers, coupons and credential-bearing document/media links are removed. Supplier catalog tools are unavailable. GET /api/json/manage_orders/find (invoice number condition).
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | The order's invoice number, e.g. INV1234 (this is the order id). | |
| include_po_data | No | Include purchase orders linked to the workflow items (implies workflow data). | |
| include_workflow_data | No | Include production workflow items (what is left to produce or ship). | |
| include_production_file_info | No | Include production file format, size and offsets per decoration. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld annotations: it discloses the data-hygiene behavior (card numbers, coupons, credential-bearing document/media links stripped), that status codes are spelled out, that workflow and PO data are opt-in, and that supplier catalog tools are unavailable. Missing is behavior on an unknown invoice number (empty result vs error) and any auth/rate-limit note, which would complete the picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core promise ('One order by invoice number with everything the API holds') and then enumerates payload contents in a compact run-on list. The trailing '(invoice number condition)' and the catalog-tools caveat are slightly out of place but each carries information; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so thoroughly by enumerating the order payload sections and noting redactions and status-code formatting. Combined with the endpoint reference and the optional-depth flags, an agent has enough to call it correctly and anticipate what comes back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented, including that include_po_data implies workflow data. The description only restates that workflow items and PO data are 'optional', adding no syntax, format, or default nuance beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('One order by invoice number') and immediately scopes it: 'everything the API holds', enumerating line items, payments, refunds, shipments, notes, taxes, store. This clearly separates it from siblings like deconetwork_search_orders and deconetwork_list_orders_due, which return sets rather than one fully-hydrated order.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly positions itself as the single-order detail fetch versus the search/list siblings by emphasizing 'all line items ... everything the API holds', and flags the optional workflow/PO depth via the include flags. It also states a useful constraint ('Supplier catalog tools are unavailable') and pins the underlying call (GET /api/json/manage_orders/find), but never explicitly says when NOT to use it (e.g., when you only have a customer name, use search_orders).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deconetwork_list_orders_dueList orders dueARead-onlyInspect
Orders due in a date window (default: the next 7 days from today, UTC), soonest first, as compact summaries. By default cancelled, deleted and already shipped orders are left out, so the list is the work still ahead; set include_closed to see them. Use to answer 'what has to ship this week?'. GET /api/json/manage_orders/find (date due condition).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Rows per call, 1-100 (default 25). | |
| due_to | No | Window end (default: 7 days after today). | |
| offset | No | Rows to skip (default 0). Pass the previous reply's next_offset. | |
| due_from | No | Window start (default: today). | |
| include_closed | No | Also return shipped, cancelled and deleted orders. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered; the description adds genuinely non-obvious behavior: default exclusion of cancelled, deleted and shipped orders, UTC default window, and soonest-first ordering. It doesn't mention pagination limits or rate limits, but the pagination params are documented in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences: scope and defaults first, then filtering behavior, then the use case and endpoint. No filler and nothing buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still signals the return shape ('compact summaries', sorted) which is what an agent needs. The only gap is that 'compact summaries' is not unpacked, but every parameter is documented and no required inputs exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, and the description still adds value by explaining the default window semantics and the meaning of include_closed as 'see the closed ones'. It doesn't clarify date string formats for due_from/due_to, which the schema also leaves as plain 'string'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Orders due in a date window'), plus scope defaults, sort order and output shape ('soonest first, as compact summaries'). This is clearly distinguishable from get_order (single record) and search_orders (arbitrary criteria).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit triggering question ('what has to ship this week?') and explains the default exclusion behavior with a named escape hatch (set include_closed). It stops short of naming a sibling alternative for arbitrary order queries, but the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deconetwork_search_ordersSearch ordersARead-onlyInspect
Search DecoNetwork orders by date ordered, date due, date shipped, date invoiced or date modified (each a from/to range) and/or invoice number. Conditions are ANDed; with no filter the last 30 days of orders (by date ordered) are returned. Returns a compact summary per order: invoice number (order_id), job name, order and payment status in words, dates, amounts, billing and ship-to contact, shipping method, tracking numbers and line items. Use deconetwork_get_order for everything on one order. order_status narrows the page after it is fetched (the vendor has no documented status filter), so it must be combined with a date range or invoice number; page with next_offset. Max 100 rows per call; total and next_offset page through the rest. GET /api/json/manage_orders/find.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Rows per call, 1-100 (default 25). | |
| due_to | No | Orders due on or before this UTC date. | |
| offset | No | Rows to skip (default 0). Pass the previous reply's next_offset. | |
| sort_by | No | Sort field (default: production files ready). | |
| due_from | No | Orders due on or after this UTC date. | |
| ordered_to | No | Orders placed on or before this UTC date (a bare date means end of that day). | |
| shipped_to | No | Orders shipped on or before this UTC date. | |
| invoiced_to | No | Orders invoiced on or before this UTC date. | |
| modified_to | No | Orders changed on or before this UTC date. | |
| order_status | No | Keep only orders in these statuses (applied to the fetched page): ready for production, ready for shipping, shipped, cancelled, deleted, on hold, awaiting purchase order, awaiting stock, awaiting artwork. | |
| ordered_from | No | Orders placed on or after this UTC date (date ordered). | |
| shipped_from | No | Orders shipped on or after this UTC date. | |
| invoiced_from | No | Orders invoiced on or after this UTC date. | |
| modified_from | No | Orders changed on or after this UTC date. | |
| invoice_number | No | Only the order with exactly this invoice number. | |
| include_shipments | No | Also load shipments (tracking, packages). Tracking numbers are listed either way when loaded. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds material behavior beyond the read-only/open-world annotations: the default 30-day window, ANDed conditions, the crucial fact that order_status is applied to the fetched page because the vendor has no documented status filter, the 100-row cap, and offset-based paging. It also lists the return payload fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense, front-loaded sentences that place the scope and default behavior first and the sibling pointer second. Slightly compressed by listing all five date axes, but nothing is pure filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description covers the return shape (invoice number/order_id, statuses in words, dates, amounts, contacts, shipping, tracking, line items), pagination, default behavior, and the filter quirk. Nothing an agent needs to invoke it correctly appears missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is already 100%, so baseline is 3; the description adds cross-parameter meaning the schema cannot: filter conjunction, the default date window, and especially that order_status is a post-fetch narrowing requiring another filter to be useful. It does not mention the sort_by default shown in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource plus the exact filter axes (five date ranges and/or invoice number), and explicitly says to use deconetwork_get_order for a single order. It does not differentiate from deconetwork_list_orders_due, which overlaps on due-date queries, so an agent choosing between them is left to infer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives strong when/how guidance: conditions are ANDed, no filter returns the last 30 days by date ordered, order_status must be combined with a date range or invoice number, and results page via next_offset. The one missing routing rule is when to prefer deconetwork_list_orders_due instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deconetwork_update_order_statusMark order produced or shippedADestructiveInspect
WRITE: move a whole order, one line item or part of a line item to 'produced' or 'shipped'. Cannot be undone through the API. With new_status shipped you can store a tracking number (shipping_code). contact_customer=true makes DecoNetwork EMAIL THE CUSTOMER about the change (only when the whole order changes status); it defaults to false, so set it only when the user asked to notify the customer. Give order_line_id to change one line, plus workflow_item_id (and optionally qty) to change part of it. POST /api/json/manage_orders/update_order_status.
| Name | Required | Description | Default |
|---|---|---|---|
| qty | No | Quantity to move; needs workflow_item_id. Default: the outstanding quantity. | |
| order_id | Yes | The order's invoice number, e.g. INV1234 (this is the order id). | |
| new_status | Yes | produced (status 2) or shipped (status 3). | |
| order_line_id | No | Only this line item (omit for the whole order). | |
| shipping_code | No | Tracking number to store when marking shipped. | |
| operator_login | No | Login of the operator to credit (default: the connected staff account). | |
| contact_customer | No | Email the customer about this change (default false). Whole-order changes only. | |
| workflow_item_id | No | Only this workflow item of the line (see deconetwork_get_order with include_workflow_data). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations marking it destructive and non-idempotent, the description discloses irreversibility through the API, customer-email side effects with the exact default and whole-order restriction, tracking-number storage only for shipped status, and scoping rules for partial updates. This is rich behavioral context that materially reduces misuse risk.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is dense but front-loaded: it starts with the write action and scope, then covers irreversibility, side effects, partial-update mechanics, and the endpoint. Every sentence adds operational value with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given eight parameters, no output schema, and rich annotations, the description provides enough context to call the tool safely: scope, status constraints, email side effects, irreversibility, and endpoint. No critical behavioral or parameter guidance is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaningful semantics beyond the schema: contact_customer sends an email only on whole-order changes and defaults to false, shipping_code applies only to shipped status, and workflow_item_id plus qty target part of a line. These details help an agent choose and combine parameters correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific write action and resource: moving an order, line item, or part of a line item to 'produced' or 'shipped'. It clearly distinguishes the three scopes and names the exact endpoint, so an agent can identify the operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit conditions for contact_customer, order_line_id, workflow_item_id, and qty, and warns that the action cannot be undone through the API. It does not explicitly route the agent to a sibling alternative, but no direct alternative exists for this mutation; the guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
deconetwork_add_order_note - First observed
deconetwork_get_order - First observed
deconetwork_list_orders_due - First observed
deconetwork_search_orders - First observed
deconetwork_update_order_status
Related MCP Connectors
Read Extensiv warehouse records, create outbound orders and cancel eligible orders.
Read marketplace orders and returns; send shipment, cancellation and stock updates.
131Read Shipday orders, carriers and delivery status; create orders and assign drivers.
Read Zenfulfillment orders and stock; import or cancel orders and mark returns done.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceDemonstrates a SAP Goods Receipt workflow, enabling AI Agents to interact with production orders and post goods receipts to SAP.-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to view SAP production orders, answer questions, and post goods receipts by integrating with SAP backend through MCP tools.-
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to query Odoo sales, purchasing, manufacturing, and inventory data — open orders, late lines, supplier promise dates, shipments, and stock levels — through 12 read tools, plus one opt-in write tool for updating a purchase order line's promise date. Runs read-only by default with Odoo's own access rights applied.MIT
- AlicenseNot gradedqualityBmaintenanceEnables an AI agent to query a warehouse management system for orders, stock, stalled orders, and audit logs, and to make narrowly scoped writes by changing order status with a required reason or appending notes, with all writes recorded in a full audit trail.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.