ReturnLogic MCP by usefulapi

Read returns, orders and products; flag returns and mark items received in ReturnLogic.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
98%
Vollständigkeit des Schemas
96%
Qualität der Benennung
76%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (4)

  • LOWTool 'returnlogic_get_rma_item_type_history' name length outside 3-30 rangein returnlogic_get_rma_item_type_history
  • LOWTool 'returnlogic_get_rma_item_metafields' name length outside 3-30 rangein returnlogic_get_rma_item_metafields
  • LOWTool 'returnlogic_list_product_categories' name length outside 3-30 rangein returnlogic_list_product_categories
  • LOWTool 'returnlogic_mark_rma_items_received' name length outside 3-30 rangein returnlogic_mark_rma_items_received

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~4,735Tokens (Tool-Definitionen)
~2.1 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (3.70% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "returnlogic": {
      "url": "https://returnlogic.usefulapi.io/mcp"
    }
  }
}

Remote-Endpunkte

https://returnlogic.usefulapi.io/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (18)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢returnlogic_list_rmas(created_after, created_before, workflow_status, return_type, return_reason_code, ...)

List return merchandise authorizations (RMAs, i.e. customer returns) with workflow status, return type (refund, exchange, warranty, giftcard), items, customer email and order. Filter by status, type, reason, email, order, date range, flags or 'requires action'. GET /v1/rmas.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "created_after": {
      "type": "string",
      "description": "Only RMAs created on or after this moment. A date (yyyy-mm-dd) or an ISO 8601 date-time."
    },
    "created_before": {
      "type": "string",
      "description": "Only RMAs created on or before this moment. A date (yyyy-mm-dd) or an ISO 8601 date-time."
    },
    "workflow_status": {
      "description": "Only RMAs in one of these workflow statuses.",
      "maxItems": 11,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "Abandoned",
          "Requested",
          "Authorized",
          "Canceled",
          "InTransit",
          "Delivered",
          "Active",
          "Received",
          "Processed",
          "Complete",
          "Rejected"
        ]
      }
    },
    "return_type": {
      "description": "Only RMAs with one of these return types.",
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "exchange",
          "warranty",
          "refund",
          "giftcard"
        ]
      }
    },
    "return_reason_code": {
      "description": "Only RMAs with one of these return reason codes.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100,
        "description": "A return reason code."
      }
    },
    "email": {
      "description": "RMAs whose RMA email or order email matches one of these (case-insensitive, exact).",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 254,
        "description": "An email address."
      }
    },
    "order_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The human-readable order name, e.g. #1001."
    },
    "external_order_number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The external (store) order number."
    },
    "show_archived": {
      "description": "true = only archived RMAs, false = only non-archived.",
      "type": "boolean"
    },
    "third_party_only": {
      "description": "Only RMAs whose order is not from Shopify.",
      "type": "boolean"
    },
    "requires_action": {
      "description": "Only RMAs that are not scheduled for automatic processing and need a person.",
      "type": "boolean"
    },
    "only_flagged": {
      "description": "Only flagged RMAs.",
      "type": "boolean"
    },
    "only_warranty_out_of_stock": {
      "description": "Only RMAs flagged Contact Customer Support (warranty item out of stock).",
      "type": "boolean"
    },
    "only_unpaid_invoices": {
      "description": "Only exchange or warranty RMAs with unpaid invoices.",
      "type": "boolean"
    },
    "skip": {
      "description": "Number of items to skip (default 0). Pass the previous reply's next_skip.",
      "type": "integer",
      "minimum": 0,
      "maximum": 2147483647
    },
    "limit": {
      "description": "Items to return, 1-250 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢returnlogic_count_rmas(created_after, created_before, workflow_status, return_type, return_reason_code, ...)

Count RMAs matching the same filters as returnlogic_list_rmas (for example how many returns are Requested or require action). GET /v1/rmas/count.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "created_after": {
      "type": "string",
      "description": "Only RMAs created on or after this moment. A date (yyyy-mm-dd) or an ISO 8601 date-time."
    },
    "created_before": {
      "type": "string",
      "description": "Only RMAs created on or before this moment. A date (yyyy-mm-dd) or an ISO 8601 date-time."
    },
    "workflow_status": {
      "description": "Only RMAs in one of these workflow statuses.",
      "maxItems": 11,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "Abandoned",
          "Requested",
          "Authorized",
          "Canceled",
          "InTransit",
          "Delivered",
          "Active",
          "Received",
          "Processed",
          "Complete",
          "Rejected"
        ]
      }
    },
    "return_type": {
      "description": "Only RMAs with one of these return types.",
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "exchange",
          "warranty",
          "refund",
          "giftcard"
        ]
      }
    },
    "return_reason_code": {
      "description": "Only RMAs with one of these return reason codes.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100,
        "description": "A return reason code."
      }
    },
    "email": {
      "description": "RMAs whose RMA email or order email matches one of these (case-insensitive, exact).",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 254,
        "description": "An email address."
      }
    },
    "order_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The human-readable order name, e.g. #1001."
    },
    "external_order_number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The external (store) order number."
    },
    "show_archived": {
      "description": "true = only archived RMAs, false = only non-archived.",
      "type": "boolean"
    },
    "third_party_only": {
      "description": "Only RMAs whose order is not from Shopify.",
      "type": "boolean"
    },
    "requires_action": {
      "description": "Only RMAs that are not scheduled for automatic processing and need a person.",
      "type": "boolean"
    },
    "only_flagged": {
      "description": "Only flagged RMAs.",
      "type": "boolean"
    },
    "only_warranty_out_of_stock": {
      "description": "Only RMAs flagged Contact Customer Support (warranty item out of stock).",
      "type": "boolean"
    },
    "only_unpaid_invoices": {
      "description": "Only exchange or warranty RMAs with unpaid invoices.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢returnlogic_get_rma(rma_id)

One RMA by id: status, comments, order link, shopper and warehouse addresses, items with quantities, reasons, approval/receipt state, labels and timeline. GET /v1/rmas/{rlRmaId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "rma_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "ReturnLogic RMA id (rlRmaId)."
    }
  },
  "required": [
    "rma_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢returnlogic_get_rma_item_type_history(rma_item_id)

The history of return-type changes (e.g. refund changed to exchange) of one RMA item. GET /v1/rmas/{rlRmaItemId}/returntypehistory.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "rma_item_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "ReturnLogic RMA item id (rlRmaItemId, from an RMA's items)."
    }
  },
  "required": [
    "rma_item_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢returnlogic_get_rma_metafields(rma_id)

Custom metafields (key, value, reportable) stored on an RMA. GET /v1/rmas/{rlRmaId}/metafields.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "rma_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "ReturnLogic RMA id."
    }
  },
  "required": [
    "rma_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢returnlogic_get_rma_item_metafields(rma_id, rma_item_id)

Custom metafields stored on one item of an RMA. GET /v1/rmas/{rlRmaId}/items/{rlRmaItemId}/metafields.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "rma_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "ReturnLogic RMA id."
    },
    "rma_item_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "ReturnLogic RMA item id."
    }
  },
  "required": [
    "rma_id",
    "rma_item_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢returnlogic_list_orders(order_number, order_name, email, created_after, created_before, ...)

List orders known to ReturnLogic (synced from the store) with items, customer, amounts and statuses. Filter by order number/name, email, date range or financial status. GET /v1/orders.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Find orders by order number."
    },
    "order_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Find orders by order name, e.g. #1001."
    },
    "email": {
      "type": "string",
      "minLength": 1,
      "maxLength": 254,
      "description": "Find orders by customer email (case-insensitive, exact)."
    },
    "created_after": {
      "type": "string",
      "description": "Only orders created on or after this moment. A date (yyyy-mm-dd) or an ISO 8601 date-time."
    },
    "created_before": {
      "type": "string",
      "description": "Only orders created on or before this moment. A date (yyyy-mm-dd) or an ISO 8601 date-time."
    },
    "financial_status": {
      "description": "Only orders with this financial status.",
      "type": "string",
      "enum": [
        "authorized",
        "paid",
        "partially_paid",
        "pending",
        "refunded",
        "voided",
        "ThirdParty"
      ]
    },
    "skip": {
      "description": "Number of items to skip (default 0). Pass the previous reply's next_skip.",
      "type": "integer",
      "minimum": 0,
      "maximum": 2147483647
    },
    "limit": {
      "description": "Items to return, 1-250 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢returnlogic_count_orders(order_number, order_name, email, created_after, created_before, ...)

Count orders matching the same filters as returnlogic_list_orders. GET /v1/orders/count.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Find orders by order number."
    },
    "order_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Find orders by order name, e.g. #1001."
    },
    "email": {
      "type": "string",
      "minLength": 1,
      "maxLength": 254,
      "description": "Find orders by customer email (case-insensitive, exact)."
    },
    "created_after": {
      "type": "string",
      "description": "Only orders created on or after this moment. A date (yyyy-mm-dd) or an ISO 8601 date-time."
    },
    "created_before": {
      "type": "string",
      "description": "Only orders created on or before this moment. A date (yyyy-mm-dd) or an ISO 8601 date-time."
    },
    "financial_status": {
      "description": "Only orders with this financial status.",
      "type": "string",
      "enum": [
        "authorized",
        "paid",
        "partially_paid",
        "pending",
        "refunded",
        "voided",
        "ThirdParty"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢returnlogic_get_order(order_id)

One order by ReturnLogic order id (rlOrderId) with its line items, addresses and statuses. GET /v1/orders/{rlOrderId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "ReturnLogic order id (rlOrderId; the rlOrderId field of an RMA)."
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢returnlogic_list_customers(email, external_customer_id, skip, limit)

List customers, or find one by email or external customer id. GET /v1/customers/list.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "minLength": 1,
      "maxLength": 254,
      "description": "Customer email address."
    },
    "external_customer_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The customer's id in the store (e.g. the Shopify customer id)."
    },
    "skip": {
      "description": "Number of items to skip (default 0). Pass the previous reply's next_skip.",
      "type": "integer",
      "minimum": 0,
      "maximum": 2147483647
    },
    "limit": {
      "description": "Items to return, 1-250 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢returnlogic_get_customer(customer_id)

One customer by ReturnLogic customer id (rlCustomerId). GET /v1/customers/{rlCustomerId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "customer_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "ReturnLogic customer id (rlCustomerId)."
    }
  },
  "required": [
    "customer_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢returnlogic_list_products(sku, category_id, status, external_product_ids, skip, ...)

List products with their variants (SKUs, barcodes). Filter by SKU, category id, status or external (store) product ids. GET /v1/products.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "sku": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Only products with a variant matching this SKU."
    },
    "category_id": {
      "description": "Only products in this ReturnLogic category id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647
    },
    "status": {
      "description": "active, inActive or any (default per API).",
      "type": "string",
      "enum": [
        "active",
        "inActive",
        "any"
      ]
    },
    "external_product_ids": {
      "description": "Only products matching these store product ids.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100,
        "description": "An external (store) product id."
      }
    },
    "skip": {
      "description": "Number of items to skip (default 0). Pass the previous reply's next_skip.",
      "type": "integer",
      "minimum": 0,
      "maximum": 2147483647
    },
    "limit": {
      "description": "Items to return, 1-250 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢returnlogic_count_products(sku, category_id, status)

Count products matching a SKU, category or status filter. GET /v1/products/count.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "sku": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Only products with a variant matching this SKU."
    },
    "category_id": {
      "description": "Only products in this ReturnLogic category id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647
    },
    "status": {
      "description": "active, inActive or any (default per API).",
      "type": "string",
      "enum": [
        "active",
        "inActive",
        "any"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢returnlogic_get_product(product_id)

One product by ReturnLogic product id (rlProductId) with its variants. GET /v1/products/{rlProductId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "ReturnLogic product id (rlProductId)."
    }
  },
  "required": [
    "product_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢returnlogic_list_product_categories(name, external_category_ids, skip, limit)

List product categories (used for return rules). Search by name or external category ids. GET /v1/productCategories.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Category name to search for."
    },
    "external_category_ids": {
      "description": "Only categories matching these store category ids.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100,
        "description": "An external (store) category id."
      }
    },
    "skip": {
      "description": "Number of items to skip (default 0). Pass the previous reply's next_skip.",
      "type": "integer",
      "minimum": 0,
      "maximum": 2147483647
    },
    "limit": {
      "description": "Items to return, 1-250 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 250
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴returnlogic_flag_rma(rma_id, comment)

WRITE: flag an RMA so the team can filter for it, with an optional comment. A flag cannot be removed afterwards. It sends nothing to the customer. POST /v1/rmas/{rlRmaId}/flag.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "rma_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "ReturnLogic RMA id."
    },
    "comment": {
      "description": "Why the RMA is flagged (visible to the team).",
      "type": "string",
      "minLength": 1,
      "maxLength": 1000
    }
  },
  "required": [
    "rma_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴returnlogic_mark_rma_items_received(rma_id, items)

WRITE: record the warehouse receipt of one or more RMA items (received true/false, optional disposition code that must already exist in ReturnLogic). When every item is received the RMA becomes Received, and if the store uses Automated Processing for Received, the RMA may then be processed automatically (refund, exchange or gift card issued, and the customer notified by ReturnLogic). Use only on the operator's instruction. PUT /v1/rmas/{rlRmaId}/fulfillment.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "rma_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "ReturnLogic RMA id."
    },
    "items": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rma_item_id": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 2147483647,
            "description": "ReturnLogic RMA item id (rlRmaItemId)."
          },
          "received": {
            "type": "boolean",
            "description": "true = the item arrived at the warehouse, false = not (yet) received."
          },
          "disposition_code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "An existing disposition code to record for the item."
          },
          "disposition_comment": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1000,
            "description": "Comment stored with the disposition."
          }
        },
        "required": [
          "rma_item_id",
          "received"
        ]
      },
      "description": "The items to update."
    }
  },
  "required": [
    "rma_id",
    "items"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴returnlogic_add_rma_metafields(rma_id, metafields)

WRITE: add custom metafields (key/value notes or reference numbers) to an RMA. A key can be used once per RMA. 'reportable' true makes the field visible on RMAs and reports; false keeps it API-only. Nothing is sent to the customer. POST /v1/rmas/{rlRmaId}/metafields.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "rma_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "ReturnLogic RMA id."
    },
    "metafields": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "Metafield key (name), unique per RMA."
          },
          "value": {
            "type": "string",
            "maxLength": 2000,
            "description": "Metafield value."
          },
          "reportable": {
            "type": "boolean",
            "description": "true = visible on RMAs and reports; false = only available through the API."
          }
        },
        "required": [
          "key",
          "value",
          "reportable"
        ]
      },
      "description": "The metafields to create."
    }
  },
  "required": [
    "rma_id",
    "metafields"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet18 Tools