mcpField
M
MCP Commerce Server Starter

MCP Commerce Server Starter

リモート
30daypivot.com開発ツール023 週間前に更新
リポジトリ公式サイト

MCP Commerce Server Starter について

MCP Commerce Server Starterは、コマースサーバー構築用のFastMCPひな形です。商品カタログ、検索、チェックアウト機能を必要とする開発者向けで、任意のAPIキー認証とVercel用設定を備えています。

主な機能

  1. 01商品カタログのリソース
  2. 02フィルター付き商品検索
  3. 03チェックアウト概要とURL
  4. 04任意のAPIキー認証
  5. 05Vercelデプロイ設定

活用シーン

  1. 01MCP商品カタログの作成
  2. 02エージェントによるカテゴリ・価格別の商品絞り込み
  3. 03コマースサーバーからのチェックアウト情報返却
  4. 04コマースサーバーのVercelへのデプロイ

MCP 対応

MCP対応クライアントに商品カタログのリソースと、検索・チェックアウト用ツールを公開します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp-commerce-starter.vercel.app/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

MCP コマースサーバーのスターター

コマース MCP サーバー向けのクローンしてデプロイできるボイラープレートです。5 分で Vercel に公開できます。Claude、ChatGPT、Gemini、Cursor、その他すべての MCP 互換クライアントからアクセスできます。

完全な構築ガイド(各行の背景にある理由も解説): 2026 年版 MCP サーバーの構築方法


含まれるもの

  • 商品カタログのリソース — エージェントは操作の前にカタログ全体を読み込みます
  • search_products ツール — キーワード、カテゴリ、上限価格による絞り込み
  • initiate_checkout ツール — 注文概要とチェックアウト URL を返します
  • オプションの API キー認証 — X-API-Key ヘッダーを使用し、REQUIRE_AUTH=true で切り替えます
  • /health のヘルスエンドポイント
  • Vercel 対応 — 1 つのコマンドでデプロイでき、無料の Hobby プランを利用できます

技術スタック:Python · FastMCP · FastAPI · Vercel


クイックスタート(ローカル)

git clone https://github.com/NewPlanetWW/mcp-commerce-starter
cd mcp-commerce-starter

python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

python server.py
# Server running at http://localhost:8000
# MCP endpoint: http://localhost:8000/mcp
# Health check: http://localhost:8000/health

ヘルスエンドポイントをテストします:

curl http://localhost:8000/health
# {"status":"ok","server":"Commerce MCP Server","version":"1.0.0"}

Vercel にデプロイ(無料)

Vercel CLI の実行には Node 18 以降が必要です。GitHub は不要です。CLI が直接アップロードします。

npm i -g vercel
vercel login
vercel --prod

CLI に本番環境の URL が表示されます。MCP エンドポイントは次の場所にあります:

https://your-project.vercel.app/mcp

Vercel ダッシュボードの「Settings → Environment Variables」で環境変数を設定します:

変数デフォルト備考
API_KEYdev-secret-key公開前に変更してください
REQUIRE_AUTHfalseキーを必須にするには true を設定します

Claude Desktop に接続する

オプション A — ローカル stdio(構築中の高速な反復作業向け):

macOS では ~/Library/Application Support/Claude/claude_desktop_config.json を編集します(Windows/Linux のパスは完全なガイドを参照してください):

{
  "mcpServers": {
    "commerce-catalog": {
      "command": "uvicorn",
      "args": ["server:app", "--host", "127.0.0.1", "--port", "8001"],
      "env": {
        "REQUIRE_AUTH": "false"
      },
      "cwd": "/path/to/mcp-commerce-starter"
    }
  }
}

オプション B — リモート(Vercel へのデプロイ後)、mcp-remote を使用:

{
  "mcpServers": {
    "commerce-catalog-remote": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote@latest",
        "https://your-project.vercel.app/mcp",
        "--header", "Authorization: Bearer ${MCP_API_KEY}"
      ],
      "env": { "MCP_API_KEY": "your-secret-key" }
    }
  }
}

Claude Desktop を完全に終了してから、再起動します。「100 ドル未満の商品は何ですか?」と尋ねると、Claude が search_products を呼び出し、カタログにある商品を回答します。


カスタマイズ

サンプル商品を置き換える

server.py の PRODUCTS リストを編集します。各商品には sku、name、price、description、availability、category、image_url が必要です。

実際の在庫データを使う場合は、リストをデータベース呼び出しに置き換えます:

# server.py — swap PRODUCTS for a live query
import psycopg2  # or SQLAlchemy, Supabase, etc.

def get_products():
    # your DB query here
    return [...]

PRODUCTS = get_products()
Stripe のチェックアウトを追加する

initiate_checkout のスタブを、実際の Stripe セッションに置き換えます:

import stripe
stripe.api_key = os.getenv("STRIPE_SECRET_KEY")

session = stripe.checkout.Session.create(
    line_items=[{"price": price_id, "quantity": quantity}],
    mode="payment",
    success_url="https://yourstore.com/success",
    cancel_url="https://yourstore.com/cancel",
)
return {"success": True, "checkout_url": session.url, ...}

発生しやすい 5 つのエラー(と解決方法)

完全なガイドで解説しています:30daypivot.com/agentmall_spoke_mcp

  1. MCP error -32600 — 初期化順序の違反
  2. 422 Unprocessable Entity — Pydantic モデルと通常の引数の不一致
  3. 405 Method Not Allowed — CORS の許可メソッドに DELETE がない
  4. stateless_http not set — サーバーレスの Vercel では stateless_http=True が必要
  5. ModuleNotFoundError: mcp — パッケージ名が違います(fastmcp ではなく mcp[cli])

プロジェクト構成

mcp-commerce-starter/
├── server.py          # FastMCP app — resource, tools, middleware, FastAPI mount
├── requirements.txt   # Pinned dependencies
├── vercel.json        # Vercel deployment config
├── mcp.json           # MCP server manifest
├── .env.example       # Environment variable template
└── README.md

さらに詳しく

このスターターは、30DayPivot の AgentMall スポークシリーズに対応するコードです:


ライセンス

MIT

コメント

MCP は初めてですか?

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

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