KH Merch Graph

io.github.marleyhereicome-cpu由 GitHub 帳號 marleyhereicome-cpu 發布v1.0.1更新於 Nov 6, 2026

Identifies Kingdom Hearts merch from Japanese listing titles: SKU, condition terms, bootleg flags.

已驗證Streamable HTTP可網頁執行資料與分析商業與電商

概覽

AI 產生的概覽

遠端 MCP 伺服器,把日文二手《王國之心》周邊商品標題解析為 SKU 候選、品相用語、盜版提示與到手價估算。

可以做什麼
  • 將商品標題與描述解析為 SKU 候選、品相用語含義、盜版警示標記和相對定價的比例,可單筆或最多五筆批次處理
  • 依 SKU 或自然語言查詢商品詳情,包括產品線、角色、尺寸、再版歷史與來源連結
  • 依 IP、角色、預算和用途瀏覽目錄
  • 依價格、重量或 SKU 與目的國,按代購與配送路線估算到手總價
  • 回報目錄錯誤,或附上來源提出新增 SKU
適用情境
適合在日本二手平台尋找《王國之心》周邊時使用:讓助理判斷某筆商品究竟是什麼、對照官方定價、留意真偽風險,或估算寄到本國的總花費。目前僅涵蓋《王國之心》。
執行需求
需要可連線的遠端 Streamable HTTP MCP 端點;不需 API 金鑰或身分驗證。任何支援 MCP 的用戶端都可透過網址連線,另提供瀏覽器介面。
安裝前請注意
真偽標記只是提醒而非結論,價格與到手價皆為規劃用估算,不構成鑑定或報價。伺服器不爬取交易平台,只讀取你送出的商品文字;依其說明商品文字與網址不會被記錄,但工具名稱、比對到的 SKU、價格、目的國和時間戳會被記錄,無比對結果時還會記錄少量非識別性關鍵詞。report_correction 會把內容提交給維護者。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 KH Merch Graph,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.marleyhereicome-cpu%2Fkh-merch-graph/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "kh-merch-graph": {
      "type": "http",
      "url": "https://mcp.merchgraph.app/mcp"
    }
  }
}

README

KH Merch Graph

An MCP (Model Context Protocol) server that turns a Japanese secondhand-listing title for Kingdom Hearts merchandise (Mercari, Yahoo! Auctions, Suruga-ya, Mandarake, …) into: the likely official SKU, what the condition wording actually means, bootleg-caution flags, a price-to-MSRP ratio, and a landed-cost estimate to your country. Point any MCP-capable AI agent at it and hand it listing text — it does the rest.

Try it in your browser (no AI agent needed): https://merchgraph.app

Why this is different

  1. Sourced catalog, not scraped or guessed. Every SKU in the catalog is tied to a primary source (an official product page, a maker's press release, etc.) and marked verified or not — the source URL is attached to every entry and returned with every match, so you can check it yourself. Nothing is inferred by an LLM inside the server.
  2. No confident guess, no candidate. When the match confidence is low, this server does not present a guess as an answer. Low-confidence matches are returned separately as weak_matches, never mixed into candidates — an empty candidates array means "probably not in the catalog," not "best effort."
  3. Bring Your Own Listing. This server never crawls or scrapes marketplaces itself, and never stores the listing text or URL you send it. You already have the listing open; you paste the text, it interprets it.

Supported IP

Kingdom Hearts only, for now. The catalog is curated one SKU at a time, so it grows slowly on purpose. If you ask about another franchise, the server won't fabricate an answer — it notes the request (see Data sourcing & privacy) to help decide what to add next. Use report_correction or open a GitHub issue if you want to nominate a franchise or a specific missing SKU.

Usage examples

These are things you'd say to your AI agent once it's connected to this server (see Connect).

1. "Is this listing worth it?"

"I found this on Mercari for ¥8,000: 一番くじ KINGDOM HEARTS -25th Anniversary- A賞 ソラ スタチュー 開封済み. What is it, and is that a fair price?"

The agent calls resolve_listing and gets back the matched SKU, the MSRP, the price ratio, the meaning of 「開封済み」("opened"), and a link to the primary source for that SKU.

2. "What Sora merch exists under ¥5,000?"

"Show me Kingdom Hearts Sora items under ¥5,000 that I could display."

The agent calls discover({ ip: "kingdom-hearts", character: "Sora", budget_jpy: 5000, purpose: "display" }) and gets a list of catalog SKUs matching those filters (this does not mean any of them are currently for sale anywhere — it's a catalog browse, not a marketplace search).

3. "What would it cost me, landed, in the US?"

"That listing is ¥8,000 plus it weighs about 400g. What's the total cost shipped to the US?"

The agent calls estimate_landed_cost({ price_jpy: 8000, weight_g: 400, dest_country: "US" }) and gets per-route estimates (proxy fee + shipping) with the cheapest option highlighted, plus when the rate table was last checked.

Connect

  • MCP endpoint (Streamable HTTP, JSON-RPC 2.0, no auth): https://mcp.merchgraph.app/mcp (the older https://kh-merch-graph.fandex.workers.dev/mcp keeps working)
  • Health check: .../health
  • For AI agents that discover servers by URL: .../llms.txt (plain-language entry point) and .../openapi.json (schema reference — the real transport is MCP's own tools/list/tools/call, this is a documentation aid for OpenAPI-only tooling)

Claude Desktop / Claude.ai

Add it as a custom connector using the MCP endpoint URL above. No API key or auth is required.

Any other MCP client

Point it at the /mcp endpoint with the Streamable HTTP transport. tools/list returns the live, authoritative schema for all five tools below.

Tools

ToolWhat it does
resolve_listingListing title/description → SKU candidates, condition terms, bootleg-caution flags, price ratio
resolve_listings_batchSame as resolve_listing for several listings in one call (up to 5 per call by default, set by MAX_BATCH_LISTINGS in wrangler.toml); results in input order
explain_productsku_id or free-text query → full detail on one SKU (line, character, dimensions, rerelease history, source)
discoverBrowse the catalog by IP/character/budget/purpose
estimate_landed_costListing price + weight/SKU + destination country → landed-cost estimate by route
report_correctionReport a catalog error, or propose a new SKU, with a primary source

Full input/output shapes: docs/SPEC.md.

Data sourcing & privacy

  • Every catalog row requires a source_url to a primary source; unverified rows are marked verified=false rather than silently trusted.
  • This server does not scrape, browse, or log in to any marketplace. It only reads the text an agent sends it, for the duration of a single request.
  • Usage logs on the public deployment contain only: tool name, matched SKU IDs, price, destination country, and timestamp. The listing title, description, and any URL you pass are never logged or stored.
  • When resolve_listing finds no candidate, or discover is asked about an IP not yet in the catalog, the server logs a small, non-identifying signal (a handful of recognized keywords, or the requested IP name only — never the raw listing text) so maintainers know what to add next.

Disclaimers

  • Authenticity is a caution flag, not a verdict. flags point out things worth asking the seller about (price far below MSRP, materials/marks associated with counterfeits, etc.). This server never states that an item is genuine or fake.
  • Prices are estimates for planning, not appraisals or quotes. MSRP ratios and landed-cost totals are meant to help you decide whether to look closer, not to be relied on for a purchase decision or a valuation.

Reporting a correction or a new SKU

Call report_correction with the field you want changed (or leave sku_id empty to propose a new item), your proposed value, and — importantly — a source_url backing it up. You can also open a GitHub issue.

Contributing / building this yourself

This repo is also a step-by-step teaching kit for building an MCP server like this one from scratch. See docs/GETTING_STARTED_JA.md (Japanese) and docs/SPEC.md for the full design. License: MIT (see LICENSE). Third-party names, logos and images are not covered; see NOTICE.

Pipeline: active

來源:README.md,提交 c97a873

工具

6

resolve_listing

Resolve listing

日本語の中古出品タイトル・説明文から、正規SKU候補・状態語・海賊版注意フラグ・定価比の目安を返す。

輸入參數srcurltitle必填platformprice_jpydescription

resolve_listings_batch

Resolve listings (batch)

resolve_listing を最大5件まとめて1回で実行する。多数の出品を照会するときに使う。結果は入力と同じ順番の配列で、各要素は resolve_listing と同じ形式(失敗した件のみ { error })。5件を超える場合は5件ずつに分けて複数回呼ぶこと。1件だけなら resolve_listing を使う。

輸入參數listings必填

explain_product

Explain product

sku_id または自然文クエリから、商品ライン・キャラ・寸法・再販履歴・出典URLなど商品の詳細を返す。

輸入參數querysku_id

discover

Discover

カタログから条件(IP・キャラ・予算・用途)に合う候補SKUを探す。実際に出品されているかは保証しない。

輸入參數ip必填limittermspurposecharacterbudget_jpy

estimate_landed_cost

Estimate landed cost

出品価格・重量(またはsku_id)・仕向国から、代行×配送の経路別の総額目安と最安経路を返す。

輸入參數proxysku_idweight_gprice_jpy必填dest_country必填

report_correction

Report correction

カタログの誤り・不足を報告する。受付IDを返す。

輸入參數notefield必填sku_idsource_urlproposed_value必填

版本歷史

1
  1. v1.0.1最新Oct 23, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分