Skip to main content
Glama

configure_order_connection

DestructiveIdempotent

Save a standalone order connection's Orders Config and sync level. Use this to change an order connection's settings. order_config is a {code: value} map using codes from get_order_connection.orderConfigFields; order_sync_level is 'orders_and_stock' or 'stock_only'. Turning syncing on or off is a separate tool: activate_order_connection / disable_order_connection. Returns {connectionId, action:'configure', status, orderStatus, message}: 'updated' on success; 'rejected' (HTTP 400) if you tried to set an unknown, locked or unavailable field (NOTHING is saved — message lists them). Only order settings are changed here — marketplace credentials are never set via MCP. Provided order_config keys are merged (other settings are left untouched). connection_id is from get_order_overview. project_id is OPTIONAL (project_id_required otherwise — then call list_projects). Saved values overwrite the previous ones, which are not returned.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "connection_id": "<connection_id>"
    },
    "name": "configure_order_connection"
  }
}

Input Schema

NameRequiredDescriptionDefault
project_idNo
order_configNoMap of Orders Config values, {code: value}, using codes from get_order_connection.orderConfigFields.
connection_idYesconnectionId of the order connection (from get_order_overview).
order_sync_levelNoOrder sync level: 'orders_and_stock' or 'stock_only'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / properties / order_status
      Removed value: -{
      -  "description": "'active' enables order syncing for this connection, 'disabled' turns it off.",
      -  "enum": [
      -    "active",
      -    "disabled"
      -  ],
      -  "type": "string"
      -}
  2. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and non-read-only, and the description adds real value beyond them: rejection behavior (HTTP 400, nothing saved, message lists offending fields), merge semantics for provided keys, and that prior values are overwritten and not returned. What it does not disclose is whether omitted keys are preserved vs. reset beyond the merge statement, or any permission requirements; still, this is well above the annotation baseline.

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

Conciseness4/5

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

Front-loaded with purpose and the sibling exclusion, then parameters, then return/error semantics — a sensible order with no filler sentences. It is dense, packing several tool names and edge cases into a single paragraph, which slightly hurts scannability but every sentence carries information.

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

Completeness5/5

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

For a non-idempotent-looking write with a nested object parameter and no output schema, the description supplies the return shape ({connectionId, action, status, orderStatus, message}), success and rejection statuses, merge/overwrite semantics, and the credential boundary. Nothing an agent needs to invoke it safely appears to be missing.

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

Parameters5/5

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

With 75% schema coverage, the description still adds meaning the schema does not: order_config codes must come from get_order_connection.orderConfigFields, order_sync_level's two literal values are restated and scoped, connection_id's provenance is named, and project_id's optional-but-sometimes-required behavior with the list_projects fallback is explained. Only project_id's semantics are lightly covered elsewhere, so this materially compensates.

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 and resource: 'Save a standalone order connection's Orders Config and sync level,' then clarifies scope as 'order settings only, credentials never set via MCP.' It explicitly names the sibling tools that handle a different concern (activate_order_connection / disable_order_connection), so an agent can distinguish it without opening schemas.

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 routes the agent away from this tool for sync toggling ('Turning syncing on or off is a separate tool: activate_order_connection / disable_order_connection') and states prerequisites and fallbacks (connection_id from get_order_overview; project_id optional, else project_id_required and call list_projects). Both when-to-use and when-not-to-use are covered with named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources