shopify py mcp
MCP server that integrates with Shopify API, allowing Claude Desktop users to retrieve and manipulate product information from Shopify stores.
MCP server that integrates with Shopify API, allowing Claude Desktop users to retrieve and manipulate product information from Shopify stores.
Shopify APIと連携するMCPサーバーです。このサーバーを使用することで、Claude DesktopからShopifyの商品情報を取得・操作することができます。
このサーバーは以下のツールを提供します:
limit
: 取得する商品数(最大250、デフォルト値は50)
get_product: 商品の詳細情報を取得する
product_id
: 商品ID(必須)
create_product: 新しい商品を作成する
title
: 商品名(必須)body_html
: 商品の説明(HTML形式)vendor
: ベンダー名product_type
: 商品タイプtags
: タグ(カンマ区切り)status
: ステータス(active/draft/archived)variants
: バリエーションoptions
: オプションimages
: 画像
update_product: 商品を更新する
product_id
: 商品ID(必須)title
: 商品名body_html
: 商品の説明(HTML形式)vendor
: ベンダー名product_type
: 商品タイプtags
: タグ(カンマ区切り)status
: ステータス(active/draft/archived)variants
: バリエーションoptions
: オプションimages
: 画像
delete_product: 商品を削除する
product_id
: 商品ID(必須)このサーバーを使用するには、以下の環境変数を設定する必要があります:
SHOPIFY_SHOP_URL
: ShopifyストアのURL(例: mystore.myshopify.com)SHOPIFY_API_KEY
: Shopify Admin APIのAPIキーSHOPIFY_API_PASSWORD
: Shopify Admin APIのAPIパスワード(Secret)SHOPIFY_API_VERSION
: Shopify APIのバージョン(デフォルト: 2023-10)Claude Desktopで使用する場合は、以下の設定をclaude_desktop_config.jsonに追加します:
設定ファイルの場所: ~/Library/Application Support/Claude/claude_desktop_config.json
"mcpServers": {
"shopify-py-mcp": {
"command": "uv",
"args": [
"--directory",
"/your_path/shopify-py-mcp",
"run",
"shopify-py-mcp"
],
"env": {
"SHOPIFY_SHOP_URL": "your-store.myshopify.com",
"SHOPIFY_API_KEY": "your-api-key",
"SHOPIFY_API_PASSWORD": "your-api-password",
"SHOPIFY_API_VERSION": "2023-10"
}
}
}
Claude Desktopでこのサーバーを使用するには、以下のようにツールを呼び出します:
商品一覧を取得してください。
商品ID 1234567890の詳細情報を取得してください。
以下の情報で新しい商品を作成してください:
- 商品名: サンプル商品
- 説明: これはサンプル商品です。
- 価格: 1000円
商品ID 1234567890を以下の情報で更新してください:
- 商品名: 更新後の商品名
- 価格: 2000円
商品ID 1234567890を削除してください。
cd shopify-py-mcp
uv sync --dev --all-extras
MCP Inspectorを使用してデバッグすることができます:
npx @modelcontextprotocol/inspector uv --directory /your_path/shopify-py-mcp run shopify-py-mcp
パッケージを配布用に準備するには:
依存関係を同期してロックファイルを更新:
uv sync
パッケージのビルド:
uv build
PyPIに公開:
uv publish
注意: PyPIの認証情報を環境変数またはコマンドフラグで設定する必要があります:
- トークン: --token
または UV_PUBLISH_TOKEN
- またはユーザー名/パスワード: --username
/UV_PUBLISH_USERNAME
と --password
/UV_PUBLISH_PASSWORD
[
{
"description": "商品一覧を取得する",
"inputSchema": {
"properties": {
"limit": {
"default": 50,
"description": "取得する商品数(最大250)",
"maximum": 250,
"minimum": 1,
"type": "number"
}
},
"type": "object"
},
"name": "list_products"
},
{
"description": "商品の詳細情報を取得する",
"inputSchema": {
"properties": {
"product_id": {
"description": "商品ID",
"type": "number"
}
},
"required": [
"product_id"
],
"type": "object"
},
"name": "get_product"
},
{
"description": "新しい商品を作成する",
"inputSchema": {
"properties": {
"body_html": {
"description": "商品の説明(HTML形式)",
"type": "string"
},
"images": {
"description": "画像",
"items": {
"properties": {
"alt": {
"description": "代替テキスト",
"type": "string"
},
"src": {
"description": "画像URL",
"type": "string"
}
},
"required": [
"src"
],
"type": "object"
},
"type": "array"
},
"options": {
"description": "オプション",
"items": {
"properties": {
"name": {
"description": "オプション名",
"type": "string"
},
"position": {
"description": "オプション順番",
"position": "number"
},
"values": {
"description": "オプション値",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"name",
"position",
"values"
],
"type": "object"
},
"type": "array"
},
"product_type": {
"description": "商品タイプ",
"type": "string"
},
"status": {
"default": "active",
"description": "ステータス",
"enum": [
"active",
"draft",
"archived"
],
"type": "string"
},
"tags": {
"description": "タグ(カンマ区切り)",
"type": "string"
},
"title": {
"description": "商品名",
"type": "string"
},
"variants": {
"description": "バリエーション",
"items": {
"properties": {
"inventory_quantity": {
"description": "在庫数",
"type": "number"
},
"option1": {
"description": "オプション1の値",
"type": "string"
},
"option2": {
"description": "オプション2の値",
"type": "string"
},
"option3": {
"description": "オプション3の値",
"type": "string"
},
"price": {
"description": "価格",
"type": "string"
},
"sku": {
"description": "SKU",
"type": "string"
}
},
"required": [
"price"
],
"type": "object"
},
"type": "array"
},
"vendor": {
"description": "ベンダー名",
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
},
"name": "create_product"
},
{
"description": "商品を更新する",
"inputSchema": {
"properties": {
"body_html": {
"description": "商品の説明(HTML形式)",
"type": "string"
},
"images": {
"description": "画像",
"items": {
"properties": {
"alt": {
"description": "代替テキスト",
"type": "string"
},
"id": {
"description": "画像ID",
"type": "number"
},
"src": {
"description": "画像URL",
"type": "string"
}
},
"required": [
"src"
],
"type": "object"
},
"type": "array"
},
"options": {
"description": "オプション",
"items": {
"properties": {
"id": {
"description": "オプションID",
"type": "number"
},
"name": {
"description": "オプション名",
"type": "string"
},
"position": {
"description": "オプション順番",
"position": "number"
},
"values": {
"description": "オプション値",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"name",
"values"
],
"type": "object"
},
"type": "array"
},
"product_id": {
"description": "商品ID",
"type": "number"
},
"product_type": {
"description": "商品タイプ",
"type": "string"
},
"status": {
"description": "ステータス",
"enum": [
"active",
"draft",
"archived"
],
"type": "string"
},
"tags": {
"description": "タグ(カンマ区切り)",
"type": "string"
},
"title": {
"description": "商品名",
"type": "string"
},
"variants": {
"description": "バリエーション",
"items": {
"properties": {
"id": {
"description": "バリエーションID",
"type": "number"
},
"inventory_quantity": {
"description": "在庫数",
"type": "number"
},
"option1": {
"description": "オプション1の値",
"type": "string"
},
"option2": {
"description": "オプション2の値",
"type": "string"
},
"option3": {
"description": "オプション3の値",
"type": "string"
},
"price": {
"description": "価格",
"type": "string"
},
"sku": {
"description": "SKU",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"vendor": {
"description": "ベンダー名",
"type": "string"
}
},
"required": [
"product_id"
],
"type": "object"
},
"name": "update_product"
},
{
"description": "商品を削除する",
"inputSchema": {
"properties": {
"product_id": {
"description": "商品ID",
"type": "number"
}
},
"required": [
"product_id"
],
"type": "object"
},
"name": "delete_product"
}
]