mcpField
M
martdata

martdata

ローカル
github.com/CloudCorpRecordsビジネス・マーケティング02 日前に更新

martdata について

martdataは、HasDataのWalmartデータサービスにつなぐローカルブリッジで、商品、口コミ、ストア検索の結果をJSONで取得します。MCPサーバーとCLIで読み取り専用の操作を提供し、カートや購入処理は行いません。

主な機能

  1. 01商品IDまたはURLから詳細を取得
  2. 02顧客の口コミを閲覧・絞り込み
  3. 03キーワードやカテゴリで商品を検索
  4. 04価格、配送方法、並び順で絞り込み
  5. 05CLIまたはMCPでツールを利用

活用シーン

  1. 01商品の価格と在庫状況を比較
  2. 02特定商品の口コミを確認
  3. 03価格帯を指定して商品を検索
  4. 04Walmartのカテゴリを閲覧

MCP 対応

MCPクライアントに読み取り専用のWalmartデータツールを3種類提供し、呼び出しをHasDataのホスト型MCPサーバーへ転送します。各ツールはCLIのサブコマンドからも実行できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-martdata": {
"command": "npx",
"args": [
"-y",
"@reneturcios/martdata"
]
}
}
}
起動コマンドnpx -y @reneturcios/martdata

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/martdata0.1.0
ocighcr.io/cloudcorprecords/martdata:0.1.0

ツール

3

掲載時のツール一覧 · 2 日前に更新

パラメーター型必須説明
urlstringいいえそのままスクレイピングする Walmart 商品の完全な URL。指定すると `itemId` が上書きされ、ストアフロントは URL 自体から判定されます。`itemId` を指定しない場合は必須です。
domainenumいいえ商品が属する Walmart ストアフロント。各ストアフロントは独自の商品カタログ、商品 ID、価格、通貨を持つため、あるストアフロントの ID は別のストアフロントでは解決できません。`url` を指定すると無視されます。デフォルトは `walmart.com` です。walmart.com | walmart.ca
itemIdstringいいえWalmart の商品 ID。商品 URL または Walmart Search API レスポンスの id フィールドから取得します。`walmart.com` では数値(例:`14977205582`)、`walmart.ca` では英数字コード(例:`6NZMJ5CW6MH2`)です。`url` を指定しない場合は必須です。
languageenumいいえ商品詳細の言語。利用可能な言語はストアフロントによって異なります。`walmart.com` は `en` と `es`、`walmart.ca` は `en` と `fr` を提供します。ストアフロントが指定言語に対応していない場合は、デフォルトの言語にフォールバックします。en | es | fr
otherOffersbooleanいいえこの商品を扱う他の競合販売者のオファーも収集します。各販売者の名前、ストアフロント、価格、状態、送料、配達日、返品ポリシーが含まれます。Walmart へのリクエストが 1 回追加され、実際に競合販売者がいるかどうかにかかわらず、基本の 10 クレジットに加えて 5 クレジットを消費します。このスイッチのオン/オフにかかわらず、商品ページに表示される競合販売者数と最安の競合価格は `otherOffers` ブロックに返されるため、収集対象があると件数で確認できるまでオフのままにできます。デフォルトは `false` です。

詳細

martdata

martdata は、ホスト型 HasData Walmart MCP サーバーへの小規模なローカルブリッジです。このサーバーは、Walmart のストアフロント データを JSON で返します。商品 ID または URL を指定して、商品ページ全体を 1 件取得したり、その商品のカスタマーレビューをページごとに取得したり、 価格、フルフィルメント、並べ替えフィルターを指定してストアフロント全体を対象にキーワード検索やカテゴリ検索を実行したりできます。

このブリッジ自体は商品データを保持しません。ライブ エンドポイントからそのまま取得したツール一覧をローカルで返し、各ツール呼び出しを 上流に転送して、返ってきた内容を変更せずに返します。取得できるのは、公開されている ストアフロントデータに対する読み取り専用の 3 種類の取得処理です。カート、チェックアウト、注文、 支払いのツールは含まれておらず、個人の連絡先データも返されません。

ツール

  • hasdata_walmart_product_getWalmartProduct — itemId または url で、Walmart の商品を 1 件、全項目取得します(両方指定した場合は URL が優先されます)。任意の引数: domain(walmart.com / walmart.ca)、language (en / es / fr)、競合販売者のオファーも取得する otherOffers。商品名、 ブランド、価格と在庫状況、購入ボックスの販売者、 評価、バリエーション、フルフィルメントの詳細、その他の販売者のブロックを返します。取得したスキーマでは 必須とされている引数はありません。itemId と url は 互いに代替として使用できます。
  • hasdata_walmart_reviews_getWalmartReviews — itemId または url で、1 商品の カスタマーレビューを 1 ページ 10 件取得します。任意の引数:domain、language、page、sort(関連度順、新着順、 役立った順、評価の高い順または低い順、古い順)、rating (星評価 1 種類)、aspectId(頻繁に言及されるトピック 1 つ)、condition、verifiedPurchasesOnly。 各レビューの評価、本文、投稿者、 投票数に加え、商品の評価内訳、AI によるレビューの要約、観点ごとのスコア、後続の呼び出しでフィルターに使用できる値を示す filters ブロックを返します。
  • hasdata_walmart_search_getSearchResults — キーワード q でストアフロントを検索するか、catId でカテゴリを 閲覧するか、url を使って検索 URL 全体をスクレイピングします。 任意の引数:domain、language、sort(最適一致、価格の昇順または降順、ベストセラー、評価の高い商品、新着商品)、page、minPrice、 maxPrice、deliveryType(shipping / pickup)、 name:value 形式で絞り込む facet。価格、評価、販売者、フルフィルメントの詳細を含む 商品一覧に加え、facets ブロックと ページネーションを返します。

設定

  • HASDATA_WALMART_MCP_URL(任意)— 上流エンドポイントを上書きします。既定値は https://mcp.hasdata.com/mcp?apis=walmart です。(この 上書き用フックは、この再構築版独自の、再構築であることを明示した実装です。)
  • HASDATA_API_KEY(任意)— 設定すると、上流への各リクエストに、呼び出し元自身の HasData API キーを指定する x-api-key: <key> ヘッダーが付加されます。設定されていない場合、キーのヘッダーは送信されません。(ヘッダー名と環境変数名は、オリジナルのレジストリ記録で固定されています。この環境変数からキーを転送する動作は、再構築であることを明示した実装です。オリジナルの サーフェスはキーなしで取得されました。)
転送の仕組み

最初のツール呼び出し時に、クライアントは上流とのストリーム可能な HTTP セッションを開きます。JSON-RPC の initialize リクエスト(protocolVersion 2025-03-26、clientInfo name martdata)を送信し、続いて notifications/initialized 通知を送信してから、呼び出し元の引数を変更せずに含めた tools/call リクエストを送信します。上流が initialize への応答で Mcp-Session-Id ヘッダーを返した場合、 その値はセッションの後続のすべてのリクエストに付加され、プロセスが終了するまでセッションが再利用されます。 応答は通常の JSON またはサーバー送信イベントで届く場合があり、どちらも読み取ります。

上流からの成功した結果は、上流が設定した isError フラグも含め、そのまま渡されます。 JSON-RPC エラー、2xx 以外のステータス、読み取れない応答、または完了できないリクエストによる失敗は、テキストが martdata error: で始まる isError 結果として返されます(このエラー表示は、この再構築版独自の、再構築であることを明示した実装です)。

CLI

各ツールは、1 つの JSON 引数文字列を受け取るサブコマンドでもあります。

npx @reneturcios/martdata hasdata_walmart_product_getWalmartProduct '{"itemId":"14977205582"}'
npx @reneturcios/martdata hasdata_walmart_reviews_getWalmartReviews '{"itemId":"14977205582","sort":"mostRecent"}'
npx @reneturcios/martdata hasdata_walmart_search_getSearchResults '{"q":"coffee maker","maxPrice":90}'
npx @reneturcios/martdata --version

終了コード:成功時は 0、isError の結果の場合は 1、使用方法に誤りがある場合は 2 です。

MCP サーバー

npx -y @reneturcios/martdata mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "martdata": {
      "command": "npx",
      "args": ["-y", "@reneturcios/martdata", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/martdata
docker run --rm ghcr.io/cloudcorprecords/martdata --version

コンテナのデフォルトコマンドは mcp であるため、最初の形式では stdio MCP サーバーとして動作します。それ以外の引数は通常どおり CLI に渡されます。

開発

npm install
npm run build
npm test
npm run dev

テストスイートはすべてスタブ化された JSON-RPC アップストリームに対して実行され、実際のネットワーク呼び出しは行いません。

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。