Kuaidi100 launched China's first MCP-protocol-compatible logistics information service platform. The core API services of Kuaidi100's Baidiy
Identify a Kingdom Hearts item from a marketplace listing (Mercari, Yahoo! Auctions, Suruga-ya, Mandarake, eBay…). Paste the listing title as-is (Japanese or English), e.g. {title: "一番くじ キングダムハーツ A賞 ソラ フィギュア 箱なし", price_jpy: 4500}. Returns candidates[] (sku_id, name_en, confidence 0-1, why, source_url; several when the title is ambiguous), weak_matches[] when unsure, conditions[] (Japanese conditi
A call is made on an account: it counts against an allowance and the publisher sees it, which is why this one asks who you are first.
What it does
Identifies Kingdom Hearts merch from Japanese listing titles: SKU, condition terms, bootleg flags.
Quickstart
# 1 — sign in once: npx mcprush@latest login
# it asks for a key from mcprush.com/dashboard#access
# 2 — install
npx mcprush@latest add marleyhereicome-cpu/kh-merch-graph-mcp
# 3 — ask your agent for something these tools do
# resolve_listing, resolve_listings_batch, explain_product and 3 more
Windows PowerShell says 'running scripts is disabled on this system'? Run Set-ExecutionPolicy -Scope CurrentUser RemoteSigned once, or type npx.cmd instead of npx (codex.cmd, gemini.cmd, grok.cmd likewise). PowerShell 7 needs neither.
KH Merch Graph costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
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 — this server runs on the publisher’s own infrastructure behind our gateway, and what you install is the connection to it.
Claude Code has its own MCP command, and the key rides on it as a header — the gateway refuses a call that carries none. Claude Code reads MCPRUSH_KEY each time it connects, so the key stays out of its config: export your key from Access in your shell profile (macOS, Linux), or run setx MCPRUSH_KEY <your key> and open a new terminal (Windows). Or let npx mcprush@latest add marleyhereicome-cpu/kh-merch-graph-mcp write the entry with the key for you; --scope user makes it available in every project.
claude mcp add --transport http --scope user kh-merch-graph-mcp https://mcprush.com/gw/kh-merch-graph-mcp/mcp --header 'Authorization: Bearer ${MCPRUSH_KEY}'Reconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing at the gateway. The server itself runs on the publisher’s own infrastructure, so nothing from this listing executes on your machine.
6 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.
Identify a Kingdom Hearts item from a marketplace listing (Mercari, Yahoo! Auctions, Suruga-ya, Mandarake, eBay…). Paste the listing title as-is (Japanese or English), e.g. {title: "一番くじ キングダムハーツ A賞 ソラ フィギュア 箱なし", price_jpy: 4500}. Returns candidates[] (sku_id, name_en, confidence 0-1, why, source_url; several when the title is ambiguous), weak_matches[] when unsure, conditions[] (Japanese conditi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| title | string | yes | The listing title, copied as-is (required). |
| description | string | no | Part of the listing description, e.g. condition notes such as 開封済み. Optional; improves condition and bootleg checks. |
| price_jpy | number | no | Listing price in Japanese yen. Optional; enables the comparison with the original price. |
| platform | string | no | Where it is listed. Optional. |
| url | string | no | Listing URL. Optional; not stored and not fetched. |
| src | string | no | Traffic-source tag for usage statistics, used by the website (optional; only the tag and time are logged). Agents can omit it. |
Run resolve_listing on up to 5 listings in one call, e.g. when comparing search results from a marketplace. Example: {listings: [{title: "…", price_jpy: 3000}, {title: "…"}]}. Returns an array in the same order; each element has the same shape as a resolve_listing result (or {error} for that one listing only). For more than 5, split into several calls. For a single listing use resolve_listing.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| listings | array | yes | Listings to check (1–5); each takes the same arguments as resolve_listing. |
Get the full record for one Kingdom Hearts catalog item. Pass a sku_id from discover/resolve_listing (e.g. {sku_id: "ichiban-kuji-kh-2018-a"}), or a free-text query such as {query: "Sora Bring Arts Halloween Town"} to get the best match. Returns names (en/ja), product line (maker, line type, release date), characters, original price (msrp_jpy, price_local, currency, price_basis), acquisition_type
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sku_id | string | no | Catalog SKU ID, e.g. "ichiban-kuji-kh-2018-a". Either sku_id or query is required. |
| query | string | no | Free-text product name in English or Japanese when you have no sku_id, e.g. "一番くじ キングダムハーツ A賞". |
Browse the Kingdom Hearts merchandise catalog by character, budget and purpose. Use it to answer "what merch exists for X?" or "gift ideas under ¥5,000". Example: {ip: "kingdom-hearts", character: "Sora", budget_jpy: 5000, purpose: "display"}. Returns items[] (sku_id, name_en/name_ja, official, original price msrp_jpy plus price_local/currency, price_basis, region, availability_hint, typical_chann
| Parameter | Type | Required | Notes |
|---|---|---|---|
| ip | string | yes | Franchise ID. Currently only "kingdom-hearts". |
| character | string | no | Character name in English or Japanese, e.g. "Sora", "ソラ", "Organization XIII". Partial match. Optional. |
| budget_jpy | number | no | Maximum original price in Japanese yen (overseas items are compared at a fixed rate), e.g. 5000. Optional. |
| purpose | string | no | "display" = figures, plush, prizes, acrylic stands; "wear" = apparel; "read" = books; "play" = games and cards; "any" (default). |
| limit | number | no | Maximum number of items to return (default 10). total_matches always gives the full count. |
| terms | object | no | Filter by series vocabulary (factions, worlds, keyblades, songs…) found in item names, aliases or notes. Optional. |
Estimate the total cost of buying an item in Japan and having it forwarded abroad. Example: {price_jpy: 4500, sku_id: "ichiban-kuji-kh-2018-a", dest_country: "US"}. Returns routes[] (forwarding service × shipping method, with fees and total_jpy, cheapest first) and cheapest. Rough figures only: fee and shipping tables currently cover US, GB, DE and FR (other countries return no routes), come from
| Parameter | Type | Required | Notes |
|---|---|---|---|
| price_jpy | number | yes | Item price in Japanese yen (required). |
| sku_id | string | no | Catalog sku_id, used to look up the weight. Optional. |
| weight_g | number | no | Package weight in grams, when there is no sku_id or the catalog has no weight. |
| dest_country | string | yes | Destination country as an ISO 3166-1 alpha-2 code, e.g. "US", "GB", "AU". |
| proxy | string | no | Only show one forwarding service, e.g. "buyee". Optional. |
Report a mistake or missing item in the catalog (reviewed by hand before anything changes). Example: {sku_id: "ichiban-kuji-kh-2018-a", field: "msrp_jpy", proposed_value: "750", source_url: "https://…"}. Please include a primary source (maker, official shop or reliable press) when you can. Returns {accepted, correction_id}.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sku_id | string | no | The item's sku_id. Leave empty to suggest a new item. |
| field | string | yes | What is wrong, as a catalog field name, e.g. "name_en", "msrp_jpy", "availability_hint", "official", or "new_item". |
| proposed_value | string | yes | The correct value (or, for a new item, its name and details). |
| source_url | string | no | URL of a primary source that confirms it. Optional but strongly preferred. |
| note | string | no | Anything else worth knowing. Optional. |
- Every tool, no call limit, and mcprush charges nothing
- A buyer key from your dashboard — the gateway refuses a call without one
- Answers through our gateway, so every call is in your log
- 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 KH Merch Graph or to call it, and its free tier carries no monthly call limit.
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 | minimal | capability blast radius (minimal) — client exposure if the model is manipulated | −0 |
| 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. minimal is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| resolve_listing | no tags | |
| resolve_listings_batch | no tags | |
| explain_product | no tags | |
| discover | untrusted-input | untrusted-input: keyword "browse" |
| estimate_landed_cost | no tags | |
| report_correction | no tags |
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
The gateway serves every install the publisher’s current release, so a release cannot be pinned or rolled back to here yet. The history below is for reading; the current release on file is 1.0.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 KH Merch Graph 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.