ec-storefront
JPYC (JPY stablecoin) EC platform MCP: product search, x402 gasless checkout, order status.
What it can do
What data it sees
Do you need an account
No: the server works without sign-in
JPYC (JPY stablecoin) EC platform MCP: product search, x402 gasless checkout, order status.
How to connect
How to connect ec-storefront to Claude
The server address to paste into Claude settings:
https://ec.jpyc-service.com/mcp
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect ec-storefront to ChatGPT
The server address to paste into ChatGPT settings:
https://ec.jpyc-service.com/mcp
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect ec-storefront to Cursor
The server address to paste into Cursor settings:
https://ec.jpyc-service.com/mcp
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (9)
Raw names from tools/list. Only developers need these.
| list_shops | JPYC EC Platform に出店している公開ショップの一覧を返す。減農薬の農産物・地酒・伝統工芸品など、生産者から直接買えるショップが中心。各ショップの name / slug / 説明 / 対応チェーン / 商品点数を含む。商品を探す起点として最初に呼ぶとよい。 |
| get_shop | 1 つのショップ(生産者・職人)の詳細を slug で取得する。ショップのストーリーや説明、対応ブロックチェーン、x402 決済が有効かどうかを返す。 |
| list_products_in_shop | 1 つのショップの公開中の商品をすべて返す。価格(JPYC 建て)・在庫・バリエーション・配送要否・対応チェーンを含む。list_shops でショップを見つけたあと、その品揃えを見るのに使う。 |
| get_product | 1 つの商品の詳細を product_id で取得する。価格(JPYC 建て)・在庫・SKU・バリエーション・配送要否・対応チェーンを返す。購入の前に必ず呼んで、requires_shipping(配送先が必要か)と has_variants(オプション選択が必要か)を確認すること。 |
| search_products | JPYC EC Platform 上の公開商品を横断検索する。減農薬米・地酒・伝統工芸品など、生産者から直接 JPYC で購入できる商品が対象。text は自然言語のキーワード(例: 『丹波 米』)で、商品名と説明に部分一致する。category / tag(産地・認証種別など)、価格帯(min_price / max_price、JPYC)、shop_slug で絞り込める。売上順で最大 50 件返す。 |
| quote_checkout | カートの内容で x402 チェックアウトの 1 回目を実行する。在庫を仮押さえし(有効期限は返り値 expires_at_unix_ms)、小計・割引・送料・合計(JPYC)と reservation_id、および PAYMENT-REQUIRED チャレンジ(base64url、x402 accepts 配列)を返す。accepts の決済方式: 『eip3009』(既定。通常の EOA ウォレットは常にこちらを選び、EIP-712 TransferWithAuthorization に署名する) と『erc20-transfer』(ecrecover 非対応のスマートコントラクトウォレット専用。payer_address を渡した予約にだけ提示される。extra.payerAuthorization.message を personal_sign して authorize_transfer を呼び、その成功後に表示額ぴったりの通常 ERC-20 transfer を実行し、txHash 任意/payerAddress 必須で submit_payment に渡す)。全 item は同一ショップである必要がある。配送が必要な商品があれば shipping を、贈答なら gift_recipient を必ず渡すこと。 |
| authorize_transfer | erc20-transfer 方式だけで、JPYC を送金する前に必ず呼ぶ。quote_checkout の選択した accept にある extra.payerAuthorization.message をウォレットで personal_sign し、その署名と reservation_id を渡す。サーバは EOA / ERC-1271 / ERC-6492 を検証して予約へ固定する。このツール自体は送金も approve も行わない。成功を確認してから accepted.amount ぴったりを transfer すること。eip3009 方式では呼ばない。 |
| submit_payment | quote_checkout で得た reservation_id と、エージェントが用意した x402 PaymentPayload(base64url)を渡して決済を確定する。quote_checkout の accepts から選んだ方式に応じて payload の中身が変わる: 『eip3009』なら { signature, authorization } (EIP-712 TransferWithAuthorization の署名)、『erc20-transfer』なら { payerAddress, txHash? } (ウォレットが実行した通常の ERC-20 transferの送金元アドレス。txHash は分かれば渡す任意ヒント — 無くてもサーバがon-chain のログを検索して照合する)。erc20-transfer は送金前に必ず authorize_transfer を成功させる。eip3009 はサーバが facilitator 経由で on-chain settle し、erc20-transfer はユーザーが既に送金したものをサーバが検証するだけ。いずれも確定した注文(order_number / tx_hash)を返す。 |
| get_order_status | ウォレットアドレスの注文履歴を新しい順で返す。x402 で購入した注文は即時に order_status=3(決済完了)となり tx_hash を持つ。 |