Channable MCP by usefulapi

Read marketplace orders and returns; send shipment, cancellation and stock updates.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
96%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~5,259Tokens (definiciones de herramientas)
~2.8 KBTamaño de respuesta típico
Impacto significativo en la atención (4.11% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (13)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢channable_list_orders(project_id, status, search, errors, start_date, ...)

List the marketplace orders of a project, newest first. Filters combine with AND; dates are read as UTC. Paged: pass next_offset as offset (total is the size of the page, not of all orders). Reply: orders, error_count (orders with an error), count, next_offset. GET /v2/companies/{company}/projects/{project}/orders.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "status": {
      "description": "Only orders in one of these statuses: shipped, not_shipped, waiting, cancelled, processing, pending_shipment, pending_cancellation, cancellation_request, awaiting_confirmation, partial, manual.",
      "minItems": 1,
      "maxItems": 11,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "shipped",
          "not_shipped",
          "waiting",
          "cancelled",
          "processing",
          "pending_shipment",
          "pending_cancellation",
          "cancellation_request",
          "awaiting_confirmation",
          "partial",
          "manual"
        ]
      }
    },
    "search": {
      "description": "Free-text search (order ids, names, products).",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "errors": {
      "description": "true = only orders with an error.",
      "type": "boolean"
    },
    "start_date": {
      "description": "Orders created on or after this date (yyyy-mm-dd or ISO 8601, UTC).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "end_date": {
      "description": "Orders created on or before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "last_modified_after": {
      "description": "Orders modified after this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "last_modified_before": {
      "description": "Orders modified before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "retrieved_at_start": {
      "description": "Orders retrieved from the marketplace on or after this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "retrieved_at_end": {
      "description": "Orders retrieved from the marketplace on or before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "limit": {
      "description": "Results per page, 1-100 (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "description": "Skip this many results (default 0). Use next_offset from the previous reply.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢channable_get_order(order_id, project_id)

One order with its customer, addresses, items, status, fulfillments and event log. order_id is the Channable order id (the id field from channable_list_orders). GET /v2/companies/{company}/projects/{project}/orders/{order_id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Channable order id."
    },
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴channable_ship_order(order_id, project_id, transporter, tracking_code, return_transporter, ...)

Set an order to shipped, with tracking data. Give transporter as a Channable transporter code (channable_list_transporters lists them) and tracking_code. Pass order_item_ids to ship only some items (the order then becomes partial; repeat with the other items later); omit it to ship the whole order. Spartoo and Veepee do not support partial shipments. POST /v1/companies/{company}/projects/{project}/orders/{order_id}/shipment. Channable passes this change on to the marketplace. It cannot be undone through this API and the call is never retried; if it times out, check the order in Channable before trying again.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Channable order id."
    },
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "transporter": {
      "description": "Channable transporter code, e.g. POSTNL, DHL, DPD.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "tracking_code": {
      "description": "Track and trace code of the parcel.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "return_transporter": {
      "description": "Transporter code for the return label, if the marketplace asks for it.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "return_tracking_code": {
      "description": "Track and trace code of the return label.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "delivery_bill_id": {
      "description": "Delivery bill id, if the marketplace asks for it.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "order_item_ids": {
      "description": "Only these order items are shipped (partial shipment). Omit to ship all.",
      "minItems": 1,
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991,
        "description": "Channable order item id."
      }
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴channable_cancel_order(order_id, project_id, order_item_ids)

Seller-side cancellation: set an order to cancelled. Pass order_item_ids to cancel only some items (the order then becomes partial); omit it to cancel the whole order. Amazon, Cdiscount and Spartoo do not support partial cancellations. A buyer-side cancellation must be confirmed in the marketplace seller account instead. POST /v1/companies/{company}/projects/{project}/orders/{order_id}/cancel. Channable passes this change on to the marketplace. It cannot be undone through this API and the call is never retried; if it times out, check the order in Channable before trying again.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Channable order id."
    },
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "order_item_ids": {
      "description": "Only these order items are cancelled (partial cancellation). Omit to cancel all.",
      "minItems": 1,
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991,
        "description": "Channable order item id."
      }
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴channable_mark_order_manual(order_id, project_id)

Tell Channable that you handle this order yourself: Channable takes no further action on it (no status updates to the marketplace). POST /v1/companies/{company}/projects/{project}/orders/{order_id}/manual. Channable passes this change on to the marketplace. It cannot be undone through this API and the call is never retried; if it times out, check the order in Channable before trying again.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Channable order id."
    },
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴channable_create_return(order_id, project_id, products)

Manually create a return on the marketplace for products of an order. Only Fruugo, Otto, Veepee and Zalando support this. products lists the product ids (the item id of the order), the quantity and optionally accepted or rejected. POST /v1/companies/{company}/projects/{project}/orders/{order_id}/return. Channable passes this change on to the marketplace. It cannot be undone through this API and the call is never retried; if it times out, check the order in Channable before trying again.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Channable order id."
    },
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "products": {
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Product id as in the order item."
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100000,
            "description": "Quantity to return."
          },
          "status": {
            "description": "accepted or rejected (omit for the marketplace default).",
            "type": "string",
            "enum": [
              "accepted",
              "rejected"
            ]
          }
        },
        "required": [
          "id",
          "quantity"
        ]
      },
      "description": "The products to return."
    }
  },
  "required": [
    "order_id",
    "products"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢channable_list_returns(project_id, search, errors, start_date, end_date, ...)

List the returns of a project, newest first. Dates are read as UTC. Paged: pass next_offset as offset. Reply: returns, error_count, count, next_offset. GET /v1/companies/{company}/projects/{project}/returns.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "search": {
      "description": "Free-text search.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "errors": {
      "description": "true = only returns with an error.",
      "type": "boolean"
    },
    "start_date": {
      "description": "Returns created on or after this date (yyyy-mm-dd or ISO 8601, UTC).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "end_date": {
      "description": "Returns created on or before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "last_modified_after": {
      "description": "Returns modified after this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "last_modified_before": {
      "description": "Returns modified before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "retrieved_at_start": {
      "description": "Returns retrieved on or after this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "retrieved_at_end": {
      "description": "Returns retrieved on or before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "limit": {
      "description": "Results per page, 1-100 (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "description": "Skip this many results (default 0). Use next_offset from the previous reply.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢channable_get_return(return_id, project_id)

One return with its item, reason, customer, status and log. return_id is the id field from channable_list_returns. GET /v1/companies/{company}/projects/{project}/returns/{return_id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "return_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Channable return id."
    },
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "return_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴channable_update_return_status(return_id, project_id, status)

Set the status of a return: accepted, rejected, repaired, keeps, exchanged, cancelled. Depending on the status the customer does or does not get their money back (accepted and cancelled differ from rejected). POST /v1/companies/{company}/projects/{project}/returns/{return_id}/status. Channable passes this change on to the marketplace. It cannot be undone through this API and the call is never retried; if it times out, check the order in Channable before trying again.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "return_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Channable return id."
    },
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "status": {
      "type": "string",
      "enum": [
        "accepted",
        "rejected",
        "repaired",
        "keeps",
        "exchanged",
        "cancelled"
      ],
      "description": "The new return status."
    }
  },
  "required": [
    "return_id",
    "status"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢channable_list_stock_updates(project_id, search, start_date, end_date, last_modified_after, ...)

List the offers (product stock updates) that were posted to a project, newest first: id, stock, price, title, GTIN. Paged: pass next_offset as offset. Reply: offers, count, next_offset. GET /v1/companies/{company}/projects/{project}/offers.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "search": {
      "description": "Free-text search (offer id, title, GTIN).",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "start_date": {
      "description": "Offers created on or after this date (UTC).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "end_date": {
      "description": "Offers created on or before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "last_modified_after": {
      "description": "Offers modified after this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "last_modified_before": {
      "description": "Offers modified before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "limit": {
      "description": "Results per page, 1-100 (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "description": "Skip this many results (default 0). Use next_offset from the previous reply.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴channable_update_stock(project_id, updates)

Set the stock of up to 50 offers. Each item is the offer id as the marketplaces know it, plus the WHOLE new stock value (not a delta). Channable passes the new stock to every marketplace of the project, which changes what customers can buy. POST /v1/companies/{company}/projects/{project}/stock_updates. Channable passes this change on to the marketplace. It cannot be undone through this API and the call is never retried; if it times out, check the order in Channable before trying again.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "updates": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Offer id (the id of the product in your feed / on the marketplace)."
          },
          "stock": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100000000,
            "description": "The whole new stock value, not a delta."
          },
          "gtin": {
            "description": "GTIN, shown in Channable only.",
            "type": "string",
            "minLength": 1,
            "maxLength": 32
          }
        },
        "required": [
          "id",
          "stock"
        ]
      },
      "description": "1-50 stock updates."
    }
  },
  "required": [
    "updates"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢channable_get_order_statistics(project_id, order_config_id, start_date, end_date)

Order statistics of a project for a time frame: orders, ordered products, marketplace commission, shipping costs, revenue and daily revenue, per order connection and in total. Pass order_config_id (the order_config_id field of an order) for one order connection only. GET /v1/companies/{company}/projects/{project}/statistics/orders[/{order_config_id}].

Esquema de entrada

{
  "type": "object",
  "properties": {
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "order_config_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Only this order connection (the order_config_id of an order)."
    },
    "start_date": {
      "description": "First day (yyyy-mm-dd or ISO 8601, UTC).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "end_date": {
      "description": "Last day.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢channable_list_transporters(transporter_code, channel)

Channable transporter codes for shipping updates. With no argument: all codes and labels (transporter_code is what channable_ship_order expects). With transporter_code: the marketplace-specific carriers behind that code. With channel (a marketplace such as bol, amazon, ebay): the carriers that marketplace supports. Give at most one of the two. GET /v1/transporters/all | /transporter/{code} | /channel/{channel}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "transporter_code": {
      "description": "A Channable transporter code, e.g. DHL.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "channel": {
      "description": "A marketplace name, lowercase, e.g. bol, amazon, ebay, otto.",
      "type": "string",
      "pattern": "^[a-z0-9_]{2,60}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada13 herramientas