Skip to main content
Glama
ThinkPro-GZ

shoplazza-mcp

by ThinkPro-GZ

shoplazza-mcp

Shoplazza OpenAPI(REST) をラップして、 MCP (Model Context Protocol) サービスの Python 実装です。 Claude、Cursor、DSH など MCP をサポートするクライアントから Shoplazza ストアのデータを直接読み書きできます。 (商品、注文、顧客、在庫、割引、webhook 購読など)。

エンドポイントディレクトリ(data/endpoints.json)は tools/scrape_endpoints.py が公式ドキュメントから自動取得し、 2026-01 バージョンで合計 311 の実エンドポイント、46 のリソースグループをカバーしています。


機能

機能

説明

61 の常用エンドポイントツール

商品 / バリエーション / 注文 / 発送 / 顧客 / 住所 / コレクション / 割引 / クーポン / 在庫 / 店舗 / ページ / ブログ / 記事 / metafield / webhook / ギフトカード / 仕入先 / データレポート / 認可スコープなど。入力パラメータは公式ドキュメントから自動生成されます

複数ストア対応

1 つのサービスインスタンスで複数ストアを設定でき(SHOPLAZZA_STORES)、各 API ツールにはオプションの shop_domain パラメータがあり、ストア単位でルーティングします。shoplazza_list_shops で設定済みストアを確認できます。

311 のエンドポイントを完全カバー

SHOPLAZZA_REGISTER_ALL_ENDPOINTS=1 を有効にすると、ディレクトリ内のすべてのエンドポイントが独立したツールとして登録されます。

汎用パススルーツール

call_shoplazza_api(method, path, path_params, query, body) で任意のエンドポイントを呼び出せます。

エンドポイントディレクトリツール

shoplazza_search_endpoints / shoplazza_get_endpoint でモデルが常に正しいエンドポイントとパラメータを発見できます。

デュアルトランスポート

stdio(ローカルクライアントのデフォルト)/ Streamable HTTP(リモートサービス、--transport http

堅牢性

「リクエストヘッダー認証、統一レスポンスパッケージ {code,message,data}、cursor によるページネーション、429 レート制限リトライ(Retry-After、ストアごとに独立したレート制限)、パスプレースホルダー検証、ビジネスエラーの透過」を自動処理します。


インストール

要件: Python ≥ 3.10、uv(推奨)または pip。

cd shoplazza-mcp
uv sync          # 创建 .venv 并安装依赖(mcp、httpx)

uv を使わない場合:

python -m venv .venv
.venv\Scripts\activate   # Windows
pip install -e .

設定

環境変数で認証情報を提供します(秘密鍵をコードに書き込んだりリポジトリにコミットしないでください):

# PowerShell / cmd
set SHOPLAZZA_SHOP_DOMAIN=your-store.myshoplazza.com
set SHOPLAZZA_ACCESS_TOKEN=your-access-token

変数

必須

デフォルト

説明

SHOPLAZZA_SHOP_DOMAIN

*

デフォルト/単一ストアのドメイン。例: your-store.myshoplazza.com(プロトコルなし)

SHOPLAZZA_ACCESS_TOKEN

*

デフォルト/単一ストアのアクセストークン。Access-Token リクエストヘッダーに対応

SHOPLAZZA_STORES

任意

複数ストアの JSON:{\"a.myshoplazza.com\":\"token-a\",\"b.myshoplazza.com\":\"token-b\"}

SHOPLAZZA_API_VERSION

2026-01

API バージョン。例: 2025-062022-01

SHOPLAZZA_REGISTER_ALL_ENDPOINTS

0

1 の場合、全 311 エンドポイントツールを登録します

SHOPLAZZA_MAX_RPS

2.0

クライアントの 1 秒あたりの最大リクエスト数(リーキーバケット、ストアごとに独立)

SHOPLAZZA_MAX_RETRY_WAIT

10.0

429 時の最大待機秒数

SHOPLAZZA_REQUEST_TIMEOUT

60.0

単一リクエストのタイムアウト(秒)

SHOPLAZZA_DATA_DIR

パッケージ内 data/

カスタムエンドポイントディレクトリの場所

* 単一ストア設定の SHOPLAZZA_SHOP_DOMAIN + SHOPLAZZA_ACCESS_TOKEN と複数ストア設定の SHOPLAZZA_STORES はどちらか一方で構いません。両方設定した場合、SHOPLAZZA_SHOP_DOMAIN がデフォルトストアになります。

完全な例は .env.example を参照してください。

複数ストアの使い方

複数のストアを設定すると、サービス内の各 API ツールにオプションの shop_domain パラメータが追加されます:

export SHOPLAZZA_STORES='{"us.myshoplazza.com":"token-us","de.myshoplazza.com":"token-de"}'
  • shop_domain なし → デフォルトストア(SHOPLAZZA_SHOP_DOMAIN、または STORES の最初の項目)を使用

  • shop_domain あり → 指定したストアを使用(不明なストアはエラーとなり、設定済みストアが一覧表示されます)

  • shoplazza_list_shops → サービスに設定されているすべてのストアとデフォルトストアを確認

  • 各ストアには独立した Access-Token と独立したレート制限バケットがあります(公式のストア単位のレート制限ルールに準拠)。複数ストア間で互いにブロックしません。

対話例:

“US ストアの今日の注文数を調べて、DE ストアの売上トップ 5 の商品も見て” → モデルは shop_domain=us.myshoplazza.comshop_domain=de.myshoplazza.com でそれぞれ shoplazza_orders / shoplazza_products を呼び出します

Claude Desktop 設定例(複数ストア):

{
  "mcpServers": {
    "shoplazza": {
      "command": "uv",
      "args": ["run", "--directory", "D:/projects/DSH-projects/shoplazza-mcp", "shoplazza-mcp"],
      "env": {
        "SHOPLAZZA_STORES": "{\"us.myshoplazza.com\":\"token-us\",\"de.myshoplazza.com\":\"token-de\"}"
      }
    }
  }
}

必要な API 権限(scope)

パートナーセンター でアプリを作成・インストールするか、ストアに認可するときは、「最小権限の原則」に従って必要な scope のみを申請します。データ参照には read_* を、変更が必要な場合は同じ名前の write_* を追加します:

アクセスするデータ

申請する scope

ストア情報

read_shop

商品 / バリエーション / 在庫

read_product

カテゴリ / コレクション

read_collection

注文 / 支払い情報

read_order

返金 / アフターサービス

read_order(アフターサービス記録を含む)+ read_data

顧客

read_customer

割引コード / クーポン / 価格ルール

read_price_rules

ギフトカード

read_gift_cards

ページ / ブログ / 記事 / リダイレクト

read_shop_navigation

レビュー

read_comments

webhook 管理

対応するリソースの write_* scope が必要(例: write_product / write_order

Shoplazza Pay 資金データ

read_finance

データ分析レポート

read_data

読み取り専用の運用シナリオでの推奨組み合わせ:read_shop, read_product, read_order, read_customer, read_price_rules, read_gift_cards, read_shop_navigation, read_data。 認可後、shoplazza_oauth_access_scopes ツールを呼び出して、今回のインストールで実際に付与された scope を確認できます。 公式の完全なマッピングは アクセス権限スコープ を参照してください。

Access Token の取得方法

  • 公開アプリOAuth 2.0 Authorization Code フロー を使用し、code と交換に access_token を取得します(有効期限 1 年、refresh_token で更新可能)。

  • プライベート / 内部統合:Shoplazza 管理画面でアプリとストアに対応するアクセストークンを生成します。

実行

stdio(ローカル MCP クライアント、デフォルト)

uv run shoplazza-mcp

HTTP(リモートサービス)

uv run shoplazza-mcp --transport http --host 0.0.0.0 --port 8765

エンドポイントパスはデフォルトで /mcp です。--http-path で変更できます。

MCP クライアントへの接続

Claude Desktopclaude_desktop_config.json):

{
  "mcpServers": {
    "shoplazza": {
      "command": "uv",
      "args": ["run", "--directory", "D:/projects/DSH-projects/shoplazza-mcp", "shoplazza-mcp"],
      "env": {
        "SHOPLAZZA_SHOP_DOMAIN": "your-store.myshoplazza.com",
        "SHOPLAZZA_ACCESS_TOKEN": "your-access-token"
      }
    }
  }
}

Cursor:設定 → MCP でサーバーを追加します。設定は examples/mcp-cursor.json を参照してください。

リモート HTTP(任意のクライアント):urlhttp://host:8765/mcp に向けます。

直接実行することもできます(debug でツールリストと JSON-RPC のやり取りを確認):

uv run mcp dev shoplazza-mcp

使用例(Claude / Cursor などの会話)

  • “ストアの最新 10 件の注文を一覧表示”

  • “商品 abcd-1234 の在庫を確認”

  • “注文 order-xxx をキャンセルして、理由は customer requested にする”

  • “100 以上で 20 引きの割引を新規作成”

  • “返金に使える API は?エンドポイントを検索して” → モデルは shoplazza_search_endpoints("refund") を呼び出した後、対応するエンドポイントを自動的に呼び出します。

すべてのレスポンスは API の元のパッケージを返します:{code, message, data, api_call_limit}。リスト型のレスポンスは datacursor / pre_cursor を含み、page_size / per_page パラメータと組み合わせてページングします。

開発とメンテナンス

  • tools/scrape_endpoints.py公式エンドポイントドキュメントページ から取得して data/endpoints.json を生成します(各エンドポイントの method / path / パラメータ / リクエストボディフィールド / レスポンス構造を含む)。

  • Curated メンテナンス:「よく使うツール」の追加・削除は、shoplazza_mcp/tools.py 内の CURATED_SLUGS リストを変更するだけです。

  • scripts/smoke_test.py:オフラインのスモークテスト(stdio);scripts/http_smoke_test.py:HTTP スモークテスト。

セキュリティに関する注意

  • Access Token は環境変数 / クライアント設定経由でのみ注入し、コードリポジトリに書き込まないでください。

  • サービスは HTTPS のみを使用します(公式では全エンドポイントが HTTPS のみのアクセスを要求しています)。

  • HTTP サービスとして外部ネットワークに公開する場合は、信頼できる内部ネットワークに配置するか、独自に認証(ゲートウェイやファイアウォールなど)を追加してください。

ライセンス

MIT

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Manage your NanoCart store from any AI agent: products, orders, coupons, subscribers, reports.

  • Shopify MCP Pack — wraps the Shopify Admin REST API (2024-01)

  • Manage your Savanto store from your AI: catalog, content, prompts, and analytics, by chat.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ThinkPro-GZ/shoplazza-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server