Kuaidi100 launched China's first MCP-protocol-compatible logistics information service platform. The core API services of Kuaidi100's Baidiy
Nembol MCP by usefulapi is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Read products, listings and orders; update stock, publish listings, mark orders shipped in Nembol.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http nembol-mcp-by-usefulapi https://nembol.usefulapi.io/mcp
# 2 — ask your agent for something these tools do
# nembol_get_store, nembol_list_channel_accounts, nembol_list_products and 14 more
Nembol MCP by usefulapi costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http nembol-mcp-by-usefulapi https://nembol.usefulapi.io/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
17 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Return the store this API key belongs to: name, plan, base currency, mode (live or test) and the key's scopes. Good first call to check the connection. GET /store.
No parameter schema on file.
List the connected sales channel accounts (Shopify, eBay, Etsy, Amazon, TikTok Shop and more). Take the channel_account_id from here; a store can have several accounts on one channel. GET /channel_accounts.
No parameter schema on file.
Search products by text, SKU, barcode, status, price or stock range, channel account, listing status or update time. All filters combine. Use updated_after for incremental sync. GET /products.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| q | string | no | Text search over the product title and other text fields. |
| status | string | no | Product status. |
| sku | string | no | Exact SKU. |
| barcode | string | no | Exact barcode (EAN, UPC or similar). |
| category | string | no | Category filter. |
| channel_account_id | string | no | Only products listed on this channel account. |
| listing_status | string | no | Filter on the listing status. |
| quantity_min | integer | no | Minimum stock quantity. |
| quantity_max | integer | no | Maximum stock quantity. |
| updated_after | string | no | Only products updated after this time (ISO 8601). |
| sort | string | no | Sort field (newest first). |
| limit | integer | no | Page size, 1 to 100 (default 25). |
| cursor | string | no | Cursor from next_cursor of the previous page. |
Return one product with its variants, images, stock, prices and listing summary. GET /products/{id}.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| product_id | string | yes | The product id (prefixed, e.g. prod_..., acct_...). |
List listings (a product published on one channel account). Use status=error to find failing listings and error_contains to target one failure cause. GET /listings.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| product_id | string | no | Only listings of this product. |
| channel_account_id | string | no | Only listings on this channel account. |
| channel | string | no | Only listings on this channel, e.g. shopify or etsy. |
| status | string | no | Listing status. |
| error_contains | string | no | Only listings whose error contains this text. |
| updated_after | string | no | Only listings updated after this time (ISO 8601). |
| limit | integer | no | Page size, 1 to 100 (default 25). |
| cursor | string | no | Cursor from next_cursor of the previous page. |
Return one listing: channel, status, URL on the channel, overrides, issues and the last operation id. GET /listings/{id}.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| listing_id | string | yes | The listing id (prefixed, e.g. prod_..., acct_...). |
List orders from all channels, newest first by the time they were placed. Each order carries its lines and fulfillment status. Needs the orders:read scope. GET /orders.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| channel_account_id | string | no | Only orders from this channel account. |
| channel | string | no | Only orders from this channel, e.g. shopify. |
| status | string | no | Order status. |
| created_after | string | no | Only orders placed after this time (ISO 8601). |
| updated_after | string | no | Only orders updated after this time (ISO 8601). |
| limit | integer | no | Page size, 1 to 100 (default 25). |
| cursor | string | no | Cursor from next_cursor of the previous page. |
Return one order with its lines, totals, tracking and buyer data the key may read. GET /orders/{id}.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | The order id (prefixed, e.g. prod_..., acct_...). |
Return a background operation (for example a stock update or a publish): status, one result per SKU and channel, and failures. GET /operations/{id}.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| operation_id | string | yes | The operation id (prefixed, e.g. prod_..., acct_...). |
List the store's event log (orders, product and inventory changes, listing status, channel connections). Events are kept 30 days. Use it to catch up after downtime. GET /events.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| account | string | no | Only events for this channel account id. |
| type | string | no | Event type. |
| created_after | string | no | Only events created after this time (ISO 8601). |
| limit | integer | no | Page size, 1 to 100 (default 25). |
| cursor | string | no | Cursor from next_cursor of the previous page. |
List the changes made through the API and in the dashboard, with the before and after values. Kept 90 days. Use it to see what changed and to find an action id for an undo. GET /actions.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| product_id | string | no | Only actions on this product. |
| type | string | no | Only actions of this type. |
| resource_id | string | no | Only actions on this resource id. |
| created_after | string | no | Only actions after this time (ISO 8601). |
| limit | integer | no | Page size, 1 to 100 (default 25). |
| cursor | string | no | Cursor from next_cursor of the previous page. |
Create a product in the store. It stays a local draft and is not shown on any channel until nembol_publish_product_to_channel publishes it. POST /products.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| title | string | yes | Product title. |
| description | string | no | Full description (may contain HTML as the channel accepts it). |
| short_description | string | no | Short description. |
| brand | string | no | Brand name. |
| category | string | no | Product category. |
| sku | string | no | SKU. Must be unique in the store. |
| price | string | no | Price as a decimal string with 2 decimals, e.g. "19.90", in the store currency. |
| msrp | string | no | Price as a decimal string with 2 decimals, e.g. "19.90", in the store currency. |
| quantity | integer | no | Stock quantity. |
| grams | number | no | Weight in grams. |
| vat_rate | number | no | VAT rate in percent. |
| mpn | string | no | Manufacturer part number. |
| tags | array | no | Tags. |
| image_urls | array | no | Public http(s) image URLs (JPEG, PNG, WebP or GIF, max 10 MB each). Nembol copies them. |
Change a product's texts, brand, category, tags, identifiers or VAT rate. Changes reach every live channel listing that follows the product text. This tool does not change images. PATCH /products/{id}.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| product_id | string | yes | The product id (prefixed, e.g. prod_..., acct_...). |
| title | string | no | — |
| description | string | no | — |
| short_description | string | no | — |
| brand | string | no | — |
| category | string | no | — |
| mpn | string | no | — |
| vat_rate | number | no | — |
| tags | array | no | — |
| expected_updated_at | string | no | Only update if the product still has this updated_at (ISO 8601); avoids overwriting a newer change. |
Set the stock quantity and/or the price for up to 100 SKUs in one call. The change is saved in Nembol at once and then sent to every channel the product is live on. Returns an operation to follow with nembol_get_operation. POST /inventory/batch.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| items | array | yes | The SKU updates. |
Create a listing: publish a product on one channel account. Publication is queued and runs in the background; follow it with nembol_get_listing or nembol_get_operation. Publishing the same product to the same account twice returns the existing listing. POST /listings.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| product_id | string | yes | The product id (prefixed, e.g. prod_..., acct_...). |
| channel_account_id | string | yes | The channel account id (prefixed, e.g. prod_..., acct_...). |
| site | string | no | Channel site or marketplace code, if the channel has several. |
| category_id | string | no | Channel category id, when the channel needs one (see nembol_list_channel_accounts for the account). |
| overrides | object | no | Listing-specific text or fields. |
| attributes | object | no | Channel-specific attributes. |
Remove a listing from its channel. Irreversible: the channel creates a new listing if the product is published again, and reviews and watchers do not return. First call without confirmation_token: Nembol answers with a summary and a token. Show the summary to the user; only if they agree, call again with the same listing_id and the token. DELETE /listings/{id}.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| listing_id | string | yes | The listing id (prefixed, e.g. prod_..., acct_...). |
| confirmation_token | string | no | Only after the user agreed to the summary of a confirmation_required answer: the token from that answer. |
Mark a channel order as shipped and/or attach tracking. Applies to the whole order. This is not undoable, and with tracking the source marketplace is notified (once per order) unless notify_channel is false. POST /orders/{id}/fulfillment.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | The order id (prefixed, e.g. prod_..., acct_...). |
| mark_shipped | boolean | no | Set the order to shipped (default true). |
| tracking_number | string | no | Tracking number. |
| carrier | string | no | Carrier name. |
| tracking_url | string | no | Tracking page URL (http or https). |
| notify_channel | boolean | no | Notify the marketplace of the tracking (default true). |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Nembol MCP by usefulapi or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| nembol_get_store | no tags | |
| nembol_list_channel_accounts | no tags | |
| nembol_list_products | no tags | |
| nembol_get_product | no tags | |
| nembol_list_listings | no tags | |
| nembol_get_listing | no tags | |
| nembol_list_orders | no tags | |
| nembol_get_order | no tags | |
| nembol_get_operation | no tags | |
| nembol_list_events | no tags | |
| nembol_list_actions | no tags | |
| nembol_create_product | state-write | state-write: declares destructiveHint: true |
| nembol_update_product | no tags | |
| nembol_update_stock_and_prices | state-write | state-write: declares destructiveHint: true |
| nembol_publish_product_to_channel | state-write | state-write: declares destructiveHint: true |
| nembol_delist_listing | state-write | state-write: declares destructiveHint: true |
| nembol_mark_order_shipped | state-write | state-write: declares destructiveHint: true |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.2.1.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Nembol MCP by usefulapi can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.