# Hiboutik MCP by usefulapi (remote · hiboutik.usefulapi.io)

Read Hiboutik products, stock, customers, sales and turnover; edit customers and sale comments.

- Trust score: 62/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-25

## Components

- remote · `hiboutik.usefulapi.io`: 62/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-hiboutik/hiboutik.md), [page](https://verifymcp.io/servers/io-usefulapi-hiboutik/hiboutik)

## Channel facts

- Endpoint: `https://hiboutik.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-25.

- **Endpoint Security**: 78/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **Schema Quality & AI Usability**: 81/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 3932 tokens (~126/item across 31 items; 31 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 31 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 32 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the Hiboutik MCP by usefulapi server?

Hiboutik MCP by usefulapi is a hosted endpoint at https://hiboutik.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-usefulapi-hiboutik 'https://hiboutik.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-hiboutik": {
      "url": "https://hiboutik.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-hiboutik": {
      "type": "http",
      "url": "https://hiboutik.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-hiboutik]
url = "https://hiboutik.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-hiboutik": {
      "type": "remote",
      "url": "https://hiboutik.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-hiboutik --url 'https://hiboutik.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-hiboutik:
    url: "https://hiboutik.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-hiboutik": {
      "Transport": "http",
      "Url": "https://hiboutik.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-hiboutik -t streamable-http -u 'https://hiboutik.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-hiboutik": {
      "type": "http",
      "url": "https://hiboutik.usefulapi.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-25 (score 62)

First indexed and scored.

## MCP tools (31)

### `hiboutik_list_stores` (~51 tokens)

List stores

List the shops (stores) of the account: id, name, warehouse id, currency, time zone, address. Use store ids for sales, payment types and reports. GET /stores.

### `hiboutik_list_warehouses` (~36 tokens)

List warehouses

List warehouses (stock locations) with id and name. Use the ids for stock levels. GET /warehouses.

### `hiboutik_list_users` (~54 tokens)

List users (vendors)

List the Hiboutik users (staff, sales vendors): id, name, email, access level. The id is the vendor_id of a sale. Passwords and keys are never returned. GET /users.

### `hiboutik_list_taxes` (~34 tokens)

List taxes

List the tax (VAT) rates with id, name, value and default flag. GET /taxes.

### `hiboutik_list_payment_types` (~58 tokens)

List payment types

List the payment types enabled in a store (cash, card, cheque...) with currency and flags. GET /payment_types/{store_id}/.

Input parameters:

- `store_id` (integer, required): Store id (hiboutik_list_stores).

### `hiboutik_list_categories` (~160 tokens)

List categories

List product categories (newest id first) with parent id and flags. GET /categories.

Input parameters:

- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `offset` (integer): Row to start from inside the vendor page (default 0). Continue with the previous reply's next_offset.
- `order_by` (string): Field to order by, e.g. product_id or product_model.
- `page` (integer): Vendor page number from 1 (default 1); a page holds up to 250 rows. Continue with the previous reply's next_page.
- `sort` (string): Sort direction: asc or desc.

### `hiboutik_list_brands` (~121 tokens)

List brands

List product brands (newest id first). GET /brands.

Input parameters:

- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `offset` (integer): Row to start from inside the vendor page (default 0). Continue with the previous reply's next_offset.
- `page` (integer): Vendor page number from 1 (default 1); a page holds up to 250 rows. Continue with the previous reply's next_page.

### `hiboutik_list_suppliers` (~85 tokens)

List suppliers

List the suppliers with id, name and contact details. GET /suppliers/.

Input parameters:

- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `offset` (integer): Row to start from (default 0). Continue with the previous reply's next_offset.

### `hiboutik_list_size_types` (~42 tokens)

List variant types

List the variant (size) types, such as clothing sizes or colours. Use an id with hiboutik_list_sizes. GET /size_types.

### `hiboutik_list_sizes` (~68 tokens)

List variants of a type

List the variants (sizes) of one variant type: size_id and name. The size_id identifies a variant of a product in stock and sales. GET /sizes/{size_type_id}.

Input parameters:

- `size_type_id` (integer, required): Variant type id (hiboutik_list_size_types).

### `hiboutik_list_products` (~178 tokens)

List products

List products (default newest id first) with model, barcode, price, supply price, brand, category, supplier and stock management flag. 250 per page. GET /products/.

Input parameters:

- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `offset` (integer): Row to start from inside the vendor page (default 0). Continue with the previous reply's next_offset.
- `order_by` (string): Field to order by, e.g. product_id or product_model.
- `page` (integer): Vendor page number from 1 (default 1); a page holds up to 250 rows. Continue with the previous reply's next_page.
- `sort` (string): Sort direction: asc or desc.

### `hiboutik_get_product` (~35 tokens)

Get product

One product with its full details. GET /products/{product_id}.

Input parameters:

- `product_id` (integer, required): Product id.

### `hiboutik_search_products_by_name` (~143 tokens)

Search products by name

Find products whose model (name) matches the text. GET /products/search/name/{q}.

Input parameters:

- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `offset` (integer): Row to start from inside the vendor page (default 0). Continue with the previous reply's next_offset.
- `page` (integer): Vendor page number from 1 (default 1); a page holds up to 250 rows. Continue with the previous reply's next_page.
- `q` (string, required): Text to look for in the product name.

### `hiboutik_find_product_by_barcode` (~44 tokens)

Find product by barcode

Find the product (and variant) with this barcode. GET /products/search/barcode/{barcode}/.

Input parameters:

- `barcode` (string, required): Product barcode.

### `hiboutik_search_products` (~281 tokens)

Search products by filters

Search products by model, category, brand, supplier, archived state, supplier or external reference. GET /products/search/.

Input parameters:

- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `offset` (integer): Row to start from inside the vendor page (default 0). Continue with the previous reply's next_offset.
- `order_by` (string): Field to order by, e.g. product_id or product_model.
- `page` (integer): Vendor page number from 1 (default 1); a page holds up to 250 rows. Continue with the previous reply's next_page.
- `product_arch`: 1 = archived products only, 0 = active only.
- `product_brand` (integer): Only products of this brand id (hiboutik_list_brands).
- `product_category` (integer): Only products of this category id (hiboutik_list_categories).
- `product_model` (string): Model (name) to match.
- `product_supplier` (integer): Only products of this supplier id (hiboutik_list_suppliers).
- `product_supplier_reference` (string): Supplier reference.
- `products_ref_ext` (string): External reference.
- `sort` (string): Sort direction: asc or desc.

### `hiboutik_stock_all_warehouses` (~201 tokens)

Stock in all warehouses

Available stock per product and variant across warehouses, optionally filtered by category, brand, supplier or archived state. GET /stock_available/all_wh.

Input parameters:

- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `offset` (integer): Row to start from (default 0). Continue with the previous reply's next_offset.
- `product_arch`: 1 = archived products only, 0 = active only.
- `product_brand` (integer): Only products of this brand id (hiboutik_list_brands).
- `product_category` (integer): Only products of this category id (hiboutik_list_categories).
- `product_supplier` (integer): Only products of this supplier id (hiboutik_list_suppliers).
- `product_supplier_reference` (string): Supplier reference.
- `products_ref_ext` (string): External reference.

### `hiboutik_stock_by_warehouse` (~214 tokens)

Stock in one warehouse

Available stock per product and variant in one warehouse, optionally filtered. GET /stock_available/warehouse_id/{warehouse_id}.

Input parameters:

- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `offset` (integer): Row to start from (default 0). Continue with the previous reply's next_offset.
- `product_arch`: 1 = archived products only, 0 = active only.
- `product_brand` (integer): Only products of this brand id (hiboutik_list_brands).
- `product_category` (integer): Only products of this category id (hiboutik_list_categories).
- `product_supplier` (integer): Only products of this supplier id (hiboutik_list_suppliers).
- `product_supplier_reference` (string): Supplier reference.
- `products_ref_ext` (string): External reference.
- `warehouse_id` (integer, required): Warehouse id (hiboutik_list_warehouses).

### `hiboutik_stock_by_product` (~48 tokens)

Stock of one product

Available stock of one product per variant and warehouse, with the inventory alert level. GET /stock_available/product_id/{product_id}.

Input parameters:

- `product_id` (integer, required): Product id.

### `hiboutik_list_stock_orders` (~121 tokens)

List stock orders (inventory inputs)

List the stock orders / goods receipts. GET /inventory_inputs/.

Input parameters:

- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `offset` (integer): Row to start from inside the vendor page (default 0). Continue with the previous reply's next_offset.
- `page` (integer): Vendor page number from 1 (default 1); a page holds up to 250 rows. Continue with the previous reply's next_page.

### `hiboutik_list_customers` (~143 tokens)

List customers

List customers (newest id first) with name, email, phone, country, loyalty points and store credit. Personal data of the shop's customers. GET /customers/.

Input parameters:

- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `offset` (integer): Row to start from inside the vendor page (default 0). Continue with the previous reply's next_offset.
- `page` (integer): Vendor page number from 1 (default 1); a page holds up to 250 rows. Continue with the previous reply's next_page.

### `hiboutik_search_customers` (~299 tokens)

Search customers

Search customers by last name, first name, email, phone, VAT number, country, customer code or external reference (each text value needs at least 3 characters). Dates: yyyy-mm-dd, or prefix with > < >= <= to compare. GET /customers/search/.

Input parameters:

- `country` (string): Country code (ISO 3166 alpha-3, e.g. FRA).
- `customers_code` (string): Customer code.
- `customers_ref_ext` (string): External reference.
- `email` (string): Email address.
- `first_name` (string): First name.
- `last_name` (string): Last name.
- `last_order_date` (string): Last order date yyyy-mm-dd, optionally prefixed with > < >= <=.
- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `loyalty_points` (string): Loyalty points: a number, or prefixed with > < >= <=.
- `offset` (integer): Row to start from inside the vendor page (default 0). Continue with the previous reply's next_offset.
- `page` (integer): Vendor page number from 1 (default 1); a page holds up to 250 rows. Continue with the previous reply's next_page.
- `phone` (string): Phone number.
- `vat` (string): VAT number.

### `hiboutik_get_customer` (~34 tokens)

Get customer

One customer with full details. GET /customer/{customers_id}.

Input parameters:

- `customers_id` (integer, required): Customer id.

### `hiboutik_list_customer_sales` (~139 tokens)

List sales of a customer

List the sales made to one customer (newest first). GET /customer/{customers_id}/sales/.

Input parameters:

- `customers_id` (integer, required): Customer id.
- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `offset` (integer): Row to start from inside the vendor page (default 0). Continue with the previous reply's next_offset.
- `page` (integer): Vendor page number from 1 (default 1); a page holds up to 250 rows. Continue with the previous reply's next_page.

### `hiboutik_get_sale` (~41 tokens)

Get sale

One sale with its header, totals, payment and line items. GET /sales/{sale_id}.

Input parameters:

- `sale_id` (integer, required): Sale id.

### `hiboutik_list_open_sales` (~174 tokens)

List open sales

List the sales not yet closed in a store (newest first). GET /open_sales/{store_id}.

Input parameters:

- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `offset` (integer): Row to start from inside the vendor page (default 0). Continue with the previous reply's next_offset.
- `order_by` (string): Field to order by, e.g. product_id or product_model.
- `page` (integer): Vendor page number from 1 (default 1); a page holds up to 250 rows. Continue with the previous reply's next_page.
- `sort` (string): Sort direction: asc or desc.
- `store_id` (integer, required): Store id.

### `hiboutik_list_closed_sales` (~207 tokens)

List closed sales

List the closed (completed) sales of a store for one day, or for a whole month when day is omitted. GET /closed_sales/{store_id}/{year}/{month}[/{day}].

Input parameters:

- `day` (integer): Day of the month 1-31. Omit for the whole month.
- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `month` (integer, required): Month 1-12.
- `offset` (integer): Row to start from inside the vendor page (default 0). Continue with the previous reply's next_offset.
- `page` (integer): Vendor page number from 1 (default 1); a page holds up to 250 rows. Continue with the previous reply's next_page.
- `store_id` (integer, required): Store id.
- `year` (integer, required): Year, e.g. 2026.

### `hiboutik_report_turnover` (~114 tokens)

Turnover report

Sales total (turnover) of a store for one day, or per day for a whole month when day is omitted. GET /reports/turnover/{store_id}/{year}/{month}[/{day}].

Input parameters:

- `day` (integer): Day of the month 1-31. Omit for the whole month.
- `month` (integer, required): Month 1-12.
- `store_id` (integer, required): Store id.
- `year` (integer, required): Year, e.g. 2026.

### `hiboutik_report_products_sold` (~173 tokens)

Products sold report

Products sold in a store during one month: quantities and revenue per product. GET /reports/products/{store_id}/{year}/{month}.

Input parameters:

- `limit` (integer): Rows returned per call, 1-250 (default 50). Large replies are cut by the server, so keep it small.
- `month` (integer, required): Month 1-12.
- `offset` (integer): Row to start from inside the vendor page (default 0). Continue with the previous reply's next_offset.
- `page` (integer): Vendor page number from 1 (default 1); a page holds up to 250 rows. Continue with the previous reply's next_page.
- `store_id` (integer, required): Store id.
- `year` (integer, required): Year, e.g. 2026.

### `hiboutik_create_customer` (~166 tokens)

Create customer

WRITE: create a customer in Hiboutik. Needs at least a last name, first name, company or email. Returns the new customer id. POST /customers/.

Input parameters:

- `customers_birth_date` (string): Birth date yyyy-mm-dd.
- `customers_company` (string): Company.
- `customers_country` (string): Country code (ISO alpha-3, e.g. FRA).
- `customers_email` (string): Email address.
- `customers_first_name` (string): First name.
- `customers_last_name` (string): Last name.
- `customers_misc` (string): Free-text note.
- `customers_phone_number` (string): Phone number.
- `customers_ref_ext` (string): External reference.
- `customers_tax_number` (string): Tax / VAT number.

### `hiboutik_update_customer` (~143 tokens)

Update a customer attribute

WRITE: change ONE attribute of a customer (it overwrites the current value). Attributes: gender (0 unknown, 1 male, 2 female), last_name, first_name, email, company, phone, vat, country, date_of_birth, customers_code, comments, validity, customers_ref_ext, customers_misc. PUT /customer/{customers_id}/.

Input parameters:

- `customers_attribute` (string, required): The attribute to change.
- `customers_id` (integer, required): Customer id.
- `new_value` (string, required): The new value (for gender: 0, 1 or 2; for dates: yyyy-mm-dd). An empty string clears the attribute.

### `hiboutik_set_sale_comment` (~55 tokens)

Set sale comment

WRITE: add or replace the comment of a sale (it overwrites any existing comment). POST /sales/comments/.

Input parameters:

- `comments` (string, required): The comment text.
- `sale_id` (integer, required): Sale id.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-hiboutik/hiboutik#diagnostics

## Score history

- 2026-10-25: 62

## Common questions

### What is the Hiboutik MCP by usefulapi server?

Hiboutik MCP by usefulapi is listed in the public MCP registry as io.usefulapi/hiboutik. Read Hiboutik products, stock, customers, sales and turnover; edit customers and sale comments. This page covers its hosted endpoint (https://hiboutik.usefulapi.io/mcp).

### Is the Hiboutik MCP by usefulapi server safe to use?

Hiboutik MCP by usefulapi scores 62 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Hiboutik MCP by usefulapi server expose?

Hiboutik MCP by usefulapi exposes 31 tools: hiboutik_list_stores, hiboutik_list_warehouses, hiboutik_list_users, hiboutik_list_taxes, hiboutik_list_payment_types, and 26 more. Their descriptions and schemas cost roughly 3,662 tokens of context every time the server is loaded.

### Does the Hiboutik MCP by usefulapi server require authentication?

Yes. Hiboutik MCP by usefulapi asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the Hiboutik MCP by usefulapi server still maintained?

Hiboutik MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 25 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://hiboutik.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/hiboutik/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-hiboutik/hiboutik.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-hiboutik/hiboutik.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-hiboutik/hiboutik
