IdoSell MCP by usefulapi

Search orders, products, stock, customers and returns; set order status in IdoSell.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
84%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,528Tokens (tool definitions)
~1.5 KBTypical response size
Moderate attention impact (1.98% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

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

Remote endpoints

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

What it can do

Tool inventory

Tools (13)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢idosell_get_shop_config

Get the panel configuration: owner company data, languages, base currency, warehouses (stocks) and shops with their ids. Good first call to learn shop ids and warehouse ids. API: GET /system/config.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idosell_search_orders(statuses, date_type, date_from, date_to, orders_ids, ...)

Search orders by status, date range, customer, order ids or serial numbers. Returns order details with products, payments, dispatch data and the customer. Read-only (a POST search). API: POST /orders/orders/search.

Input Schema

{
  "type": "object",
  "properties": {
    "statuses": {
      "description": "Only orders in these statuses.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "new",
          "finished",
          "false",
          "lost",
          "on_order",
          "packed",
          "ready",
          "canceled",
          "payment_waiting",
          "delivery_waiting",
          "suspended",
          "joined",
          "finished_ext"
        ]
      }
    },
    "date_type": {
      "description": "Which date the range applies to (default add = order placed).",
      "type": "string",
      "enum": [
        "add",
        "modified",
        "dispatch",
        "payment",
        "last_payments_operation",
        "declared_payments"
      ]
    },
    "date_from": {
      "description": "Range start, YYYY-MM-DD or YYYY-MM-DD HH:MM:SS.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}:\\d{2})?$"
    },
    "date_to": {
      "description": "Range end, YYYY-MM-DD or YYYY-MM-DD HH:MM:SS.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}:\\d{2})?$"
    },
    "orders_ids": {
      "description": "Order ids.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "serial_numbers": {
      "description": "Order serial numbers (max 100).",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "customer_email": {
      "description": "Customer e-mail address.",
      "type": "string"
    },
    "customer_login": {
      "description": "Customer login.",
      "type": "string"
    },
    "page": {
      "description": "Page number, counting from 0 (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Results per page, 1 to 100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idosell_get_orders(orders_ids, serial_numbers)

Get orders by order ids or serial numbers (give at least one). Use idosell_search_orders for filters. API: GET /orders/orders.

Input Schema

{
  "type": "object",
  "properties": {
    "orders_ids": {
      "description": "Order ids.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "serial_numbers": {
      "description": "Order serial numbers (max 100).",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idosell_list_order_statuses

List the order statuses configured in the panel, with their ids and names. API: GET /orders/statuses.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idosell_get_order_packages(order_serial_numbers)

Get the parcels (shipments) of orders: courier, tracking numbers and status. API: GET /orders/packages.

Input Schema

{
  "type": "object",
  "properties": {
    "order_serial_numbers": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      },
      "description": "Order serial numbers."
    }
  },
  "required": [
    "order_serial_numbers"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idosell_search_products(text, code_part, available, visible, in_promotion, ...)

Search products by text, code, availability, visibility or promotion. Returns prices, stock summary, images and categories. Read-only (a POST search). API: POST /products/products/search.

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "description": "Text found in the name or description.",
      "type": "string"
    },
    "code_part": {
      "description": "Product code, or a part of it (producer, external or panel code).",
      "type": "string"
    },
    "available": {
      "description": "true = only available products, false = only unavailable.",
      "type": "boolean"
    },
    "visible": {
      "description": "true = only products visible in the shop.",
      "type": "boolean"
    },
    "in_promotion": {
      "description": "true = only products in promotion.",
      "type": "boolean"
    },
    "product_ids": {
      "description": "Product ids.",
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "page": {
      "description": "Page number, counting from 0 (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Results per page, 1 to 100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idosell_get_product_stocks(ident_type, products)

Get stock quantities per warehouse and size for products. API: GET /products/stocks.

Input Schema

{
  "type": "object",
  "properties": {
    "ident_type": {
      "type": "string",
      "enum": [
        "id",
        "index",
        "codeExtern",
        "codeProducer"
      ],
      "description": "What the values in products are: panel id, index, external code or producer code."
    },
    "products": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Product identifiers of the given type."
    }
  },
  "required": [
    "ident_type",
    "products"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idosell_list_categories(ids, page, limit)

List the product categories of the shop with ids and names. API: GET /products/categories.

Input Schema

{
  "type": "object",
  "properties": {
    "ids": {
      "description": "Only these category ids.",
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "page": {
      "description": "Page number, counting from 0 (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Results per page, 1 to 100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idosell_list_brands(page, limit)

List the brands (producers) of the shop with ids and names. API: GET /products/brands.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, counting from 0 (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Results per page, 1 to 100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idosell_search_customers(text, customer_ids, active, page, limit)

Find customer accounts by text (name, e-mail, login), ids or active state. Returns contact data, addresses, balances and consents. API: GET /clients/clients.

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "description": "Text searched in customer data.",
      "type": "string"
    },
    "customer_ids": {
      "description": "Customer numbers.",
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "active": {
      "description": "true = only active accounts, false = only inactive.",
      "type": "boolean"
    },
    "page": {
      "description": "Page number, counting from 0 (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Results per page, 1 to 100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idosell_list_returns(order_serial_number, return_ids, status, page, limit)

List returns issued for orders, filterable by order serial number, return id or status id. API: GET /returns/returns.

Input Schema

{
  "type": "object",
  "properties": {
    "order_serial_number": {
      "description": "Order serial number.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "return_ids": {
      "description": "Return ids.",
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "status": {
      "description": "Return status id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "page": {
      "description": "Page number, counting from 0 (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Results per page, 1 to 100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢idosell_list_couriers(country_code, page, limit)

List the couriers available for a country, and whether each one handles pickup points. API: GET /couriers/couriers.

Input Schema

{
  "type": "object",
  "properties": {
    "country_code": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "Country code, ISO 3166-1 alpha-2."
    },
    "page": {
      "description": "Page number, counting from 0 (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Results per page, 1 to 100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "country_code"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴idosell_set_order_status(order_serial_number, status)

WRITE: change the status of one order (for example to packed, ready or canceled). Setting the same status again has no further effect. The panel may send customer e-mails for some status changes. API: PUT /orders/orders.

Input Schema

{
  "type": "object",
  "properties": {
    "order_serial_number": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Order serial number (from idosell_search_orders)."
    },
    "status": {
      "type": "string",
      "enum": [
        "new",
        "finished",
        "false",
        "lost",
        "on_order",
        "packed",
        "ready",
        "canceled",
        "payment_waiting",
        "delivery_waiting",
        "suspended",
        "joined",
        "finished_ext"
      ],
      "description": "The new order status."
    }
  },
  "required": [
    "order_serial_number",
    "status"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded13 tools