storedata について
storedata は、公開ストアの商品カタログ情報を必要とするクライアント向けに、HasData Shopify MCP サーバーへ接続するローカルブリッジです。コレクションと商品を読み取り専用で検索し、結果を JSON で返します。
主な機能
- 01ストア URL からコレクションを一覧表示
- 02コレクションハンドルで商品を絞り込み
- 03コレクションと商品のページネーション
- 04商品バリエーション、価格、在庫状況を返却
- 05CLI と stdio MCP サーバーを提供
活用シーン
- 01公開 Shopify ストアのコレクションを閲覧
- 02カテゴリ別に商品やバリエーションを参照
- 03クライアントで商品画像と価格を取得
MCP 対応
MCP クライアントにコレクションと商品を検索するツールを提供し、呼び出しを HasData Shopify MCP サーバーへ転送します。公開ストア情報の読み取り専用で、カート、決済、注文機能はありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 2 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | Shopify ストアの URL。例:'https://b2bdemoexperience.myshopify.com'。 |
| page | number | いいえ | 結果のページ番号。正の整数を指定してください。 |
| limit | number | いいえ | 取得するコレクションの最大数。1~250 の範囲で指定してください。 |
詳細
storedata
storedata は、ホスト型の HasData
Shopify MCP サーバーへの小規模なローカルブリッジです。公開 Shopify
ストアフロントのデータを JSON で返します。ストアフロントの URL を指定すると、そのストアのコレクションを一覧表示します。各コレクションについて、id、title、
handle、description、image が返されます。また、ストアの商品を取得し、必要に応じて handle で
単一のコレクションに絞り込めます。どちらの読み取りでも、limit(最大
250)と page 番号を使ってページネーションを行います。
このブリッジは独自の商品カタログを保持しません。ツール一覧への応答は、ライブエンドポイントから取得した内容そのままにローカルで返し、各ツール呼び出しは上流に転送して、返ってきた内容を変更せずに返します。取得した対象は、公開 ストアフロントに対する読み取り専用の取得処理 2 つです。カート、チェックアウト、注文、決済用のツールはなく、ストアオーナーの連絡先データも返されません。
ツール
hasdata_shopify_collections_getCollections— ストアフロントのコレクションを一覧表示します。必須:url(Shopify ストアの URL)。任意:ページネーション用のlimitとpage。各コレクションの id、 title、handle、description、image、タイムスタンプを返します。 返された handle は、商品ツールで一度に 1 つのカテゴリを取得するときに使用します。hasdata_shopify_products_getProducts— ストアフロントの商品を取得します。必須:url。任意:絞り込みに使うコレクションの handle であるcollection、 およびlimitとpage。商品 id、title、 handle、vendor、product type、tags、body HTML、 images、価格、SKU、在庫状況を含む variants、 およびタイムスタンプを返します。
設定
HASDATA_SHOPIFY_MCP_URL(任意)— 上流エンドポイントを上書きします。デフォルトはhttps://mcp.hasdata.com/mcp?apis=shopifyです。(上書き用フックは、この再構築で独自に付けたラベル付きの再構成です。)HASDATA_API_KEY(任意)— 設定すると、すべての上流リクエストに、呼び出し元自身の HasData API キーを指定するx-api-key: <key>ヘッダーが付加されます。設定されていない場合、キーのヘッダーは送信されません。(ヘッダー名と環境変数名は元のレジストリレコードに記載されています。この環境変数からキーを転送する機能は、ラベル付きの再構成です。元のサーフェスはキーなしで取得されていました。)
転送の仕組み
最初のツール呼び出し時に、クライアントは上流とのストリーミング可能な
HTTP セッションを開始します。JSON-RPC の initialize リクエスト(protocolVersion 2025-03-26、clientInfo name
storedata)を送り、続いて notifications/initialized
通知を送信し、その後、呼び出し元の引数を変更せずに含めた tools/call リクエストを送信します。上流が initialize への応答で Mcp-Session-Id ヘッダーを返した場合、その値はセッションの後続リクエストすべてに付与され、プロセスが終了するまで再利用されます。応答は通常の JSON またはサーバー送信イベントで届く場合があり、どちらも読み取られます。
上流からの成功した結果は、上流が設定した isError フラグも含め、そのまま転送されます。JSON-RPC エラー、2xx 以外のステータス、読み取れない応答、完了できないリクエストなどの失敗は、テキストが storedata error: で始まる isError 結果として返されます(この表示方法は、この再構築で独自に付けたラベル付きの再構成です)。
CLI
各ツールは、JSON 引数文字列を 1 つ取るサブコマンドとしても実行できます。
npx @reneturcios/storedata hasdata_shopify_collections_getCollections '{"url":"https://b2bdemoexperience.myshopify.com"}'
npx @reneturcios/storedata hasdata_shopify_products_getProducts '{"url":"https://b2bdemoexperience.myshopify.com","collection":"frontpage"}'
npx @reneturcios/storedata --version
終了コード:成功時は 0、isError 結果の場合は 1、使用方法が正しくない場合は 2 です。
MCP サーバー
npx -y @reneturcios/storedata mcp
MCP クライアントの設定:
{
"mcpServers": {
"storedata": {
"command": "npx",
"args": ["-y", "@reneturcios/storedata", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/storedata
docker run --rm ghcr.io/cloudcorprecords/storedata --version
コンテナーのデフォルトコマンドは mcp なので、最初の形式は stdio MCP サーバーとして動作します。それ以外の引数は通常どおり CLI に渡されます。
開発
npm install
npm run build
npm test
npm run dev
テストスイートは、スタブ化された JSON-RPC 上流だけを使って実行されます。ライブネットワークへの呼び出しはありません。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。