インストール不要。2分以内に動きます。
cloud.anythingmcp.com で無料トライアルを開始し、Shopware 6 Admin API をワンクリックで追加して、AI クライアント(Claude、ChatGPT、Copilot、Cursor)を生成された MCP エンドポイントに向けるだけ。Docker も git clone も、開発経験も不要です。
概要
ショップのバックオフィス用 API である Shopware 6 Admin API(Store API ではありません):あらゆるエンティティの検索、商品、カテゴリ、スロット単位までの Shopping Experiences レイアウト、メディアライブラリの管理、販売チャネル、プロモーション、SEO URL の参照。汎用の書き込み、削除、一括同期はインストール時にオフです。
こう聞いてみよう
Shopware 6 Admin API のサンプルプロンプト
プロンプトをクリックでコピー。Claude / ChatGPT / Cursor / Gemini / Copilot / OpenClaw に貼り付けて、このコネクターで実行できます。
Claude は AI のため誤ることがあります。回答をご確認ください。
💡 インストール不要? cloud.anythingmcp.com を直接利用してください。 サインインし、Connectors → Shopware 6 Admin API をクリック、認証情報を貼り付け、MCP API キーを発行すれば完了です。Docker も
git cloneもローカルサーバーも不要。
Shopware 6 Admin API + Gemini
ショップのバックオフィス用 API である Shopware 6 Admin API(Store API ではありません):あらゆるエンティティの検索、商品、カテゴリ、スロット単位までの Shopping Experiences レイアウト、メディアライブラリの管理、販売チャネル、プロモーション、SEO URL の参照。汎用の書き込み、削除、一括同期はインストール時にオフです。
前提条件
完全なセットアップ手順はコネクタ自体に組み込まれています (ストアでコネクタを選択すると表示)。必要な環境変数:
SHOPWARE_URL, SHOPWARE_ACCESS_KEY_ID, SHOPWARE_SECRET_ACCESS_KEY
ステップ 1 — 認証情報を取得
Store API ではなく Admin API: このコネクタは Shopware 6 ショップの Admin API(/api)を使います。Shopware Administration 自体がショップの運営に使う API で、商品、カテゴリ、Shopping Experiences レイアウト、メディアライブラリを扱います。販売チャネルのアクセスキーで公開ストアフロントを読む Shopware 6 Store API(shopware-6)とは別のコネクタです。AI にショップの管理データを扱わせたいときはこちらをインストールしてください。
設定は約 3 分です。ショップの Shopware Administration へのアクセスが必要です。
- Shopware Administration で Settings > System > Integrations を開き、新しいインテグレーションを作成します。
- 名前を付け、Administrator をオンにするか、AI に持たせたい権限のロールを割り当てます。読み取り専用のロールでは、書き込みツールはすべて 403 で失敗します。
- Access key ID(
SWIAで始まります)をSHOPWARE_ACCESS_KEY_IDに、Secret access key をSHOPWARE_SECRET_ACCESS_KEYにコピーします。シークレットは一度しか表示されません。失くした場合はインテグレーションで新しいキーを作成します。 SHOPWARE_URLにはパスなしのショップのアドレスを設定します(例https://shop.example.com)。/apiや/adminは付けません。- コネクタをインストールし、
shopware_6_admin_get_versionを実行します。Shopware のバージョンが表示され、認証情報が確認できます。
AnythingMCP はショップの /api/oauth/token で OAuth2 クライアントクレデンシャルグラントにより短期間有効なベアラートークンを取得し、自動で更新します。
読み取れるデータ: フリーテキスト検索とフィルター(商品番号、有効、在庫、メーカー、カテゴリ、プロパティ、parentId によるバリエーション)による商品、および 1 件の商品自身のフィールド(名前、番号、在庫、価格、説明、SEO フィールド、カスタムフィールド);親、位置、タイプ、レイアウト、有効・表示フラグ、パンくずを含むカテゴリ;Shopping Experiences レイアウト(CMS ページ)と、各スロットの config を含むセクション、ブロック、スロット付きの 1 つのレイアウト;URL、ファイル名、代替テキスト、タイトル、フォルダを含むメディアライブラリ;ドメイン付きの販売チャネル(Store API のアクセスキーは応答から除かれます);コード、有効期間、利用上限を含むプロモーション;SEO URL。注文、顧客、メーカー、プロパティグループとオプション、ルール、言語、通貨、スニペットなど、その他の Admin API エンティティは shopware_6_admin_search_entities と shopware_6_admin_get_entity で読み取ります。
検索条件: すべての検索ツールは Shopware の criteria を受け付けます:term、ids、filter(equals、equalsAny、contains、prefix、suffix、range、not、multi)、sort、associations、includes、limit、page、total_count_mode。商品と汎用検索は aggregations も受け付けます。関連フィールドは categories.id や manufacturer.name のようなドット区切りのパスで絞り込みます。完全な商品データは大きいため、全項目が不要なとき AI は includes を渡します。ID はハイフンなしの 16 進 32 文字で、AI は検索ツールで見つけ、推測はしません。
言語とバリエーション: テキストは言語ごとに翻訳されています。language_id(sw-language-id ヘッダーとして送信)を指定すると、読み取りはその翻訳を返し、書き込みはその翻訳を変更します。指定しない場合はショップのシステム言語が使われます。言語は shopware_6_admin_search_entities でエンティティ language を指定して一覧できます。新しいレコードはまずシステム言語で作成します。バリエーションは parentId を持つ商品で、空のフィールドを親商品から継承します。inheritance: true で継承された値が表示されます。
書き込める内容: shopware_6_admin_update_product(テキスト、SEO フィールド、カスタムフィールド、有効フラグ、在庫、在庫限り販売、EAN、価格。価格は価格リスト全体を置き換えます)、shopware_6_admin_add_product_property と shopware_6_admin_remove_product_property(オプションの紐付けと解除のみ)、shopware_6_admin_create_property_option、shopware_6_admin_create_category と shopware_6_admin_update_category(ツリー内での移動を含む)、shopware_6_admin_create_cms_page、shopware_6_admin_update_cms_page(ID のあるセクション、ブロック、スロットは更新、ID のないものは追加され、何も削除されません)、shopware_6_admin_create_cms_block、shopware_6_admin_update_cms_slot(config はその言語のスロットの config を置き換えます)、shopware_6_admin_create_media に続く shopware_6_admin_upload_media_from_url、shopware_6_admin_update_media、shopware_6_admin_create_media_folder。これらはインストール時にオンで、本番のショップを変更します。ショップのキャッシュが更新されると購入者に変更が見えます。URL からのアップロードには Shopware の enable_url_upload_feature(既定でオン)と公開 URL が必要で、メディアに既にあるファイルは置き換えられます。
インストール時はオフ: shopware_6_admin_create_entity、shopware_6_admin_update_entity(注文、顧客、販売チャネル、設定を含むあらゆるエンティティ)、shopware_6_admin_delete_entity(完全に削除され、依存するレコードも一緒に削除されることがあります)、shopware_6_admin_sync(Sync API による一括の upsert と削除)です。ワークスペース管理者が意図的にオンにします。
応答: 更新、アップロード、削除は空の 204 を返すため、AI はレコードを読み直して変更を確認します。作成ツールは ID 付きの新しいレコードを返します。一覧は total、data、aggregations を返します。
制限: Shopware の既定の上限は 1 ページ 500 件で、AI は page でページを進めます。total_count_mode は 1 で正確な総数、2 で次のページがあるかどうかだけを返します。
よくあるエラー: 401 は Access key ID またはシークレットの誤りです。両方をコピーし直すか、インテグレーションで新しいキーを作成してください。403 はインテグレーションのロールにその権限がないことを意味します。Administrator をオンにするかロールを拡張してください。すべての呼び出しで 404 になる場合は、たいてい SHOPWARE_URL に /api、/admin などのパスが含まれています。
インストール時にオンのツールでは、注文、顧客、設定の作成や変更は行わず、何も削除しません。メディアは公開 URL からのみアップロードし、手元のコンピューターからはアップロードしません。販売チャネルのアクセスキーで公開ストアフロントを読むには、Shopware 6 Store API コネクタを使ってください。
ステップ 2 — アダプターをインストール
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
ステップ 3 — Gemini にコネクタを追加
サーバーURL: AnythingMCP で MCP Servers を開き、このコネクタがあるサーバーを選んで URL(
https://cloud.anythingmcp.com/mcp/…)をコピーします。このガイドでYOUR_SERVER_IDと表示されている箇所に使ってください。
Gemini CLI は ~/.gemini/settings.json(Windows では %USERPROFILE%\.gemini\settings.json)から MCP サーバーを読み込みます。次を追加してください:
{
"mcpServers": {
"anythingmcp": {
"httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- AnythingMCP の MCP Servers → 対象のサーバー → API keys で MCP API キーを作成し、
YOUR_MCP_API_KEYと置き換えます。 - ファイルを保存し、
geminiを再起動します。 - Gemini CLI で
/mcpを実行します(またはシェルでgemini mcp list)。anythingmcpが接続済みとして表示されるはずです。 - プロンプトを入力しましょう。Gemini CLI が
Shopware 6 Admin APIのツールを呼び出せるようになりました。
利用可能なツール
| Tool | What it does |
|---|---|
shopware_6_admin_get_version | Read the Shopware version of the instance |
shopware_6_admin_search_products | Search products with Shopware criteria: free text, filters (productNumber, active, stock, manufacturerId, categories.id, properties.id… |
shopware_6_admin_get_product | Read one product by id with its own fields (name, productNumber, stock, price, active, description, SEO fields, customFields) |
shopware_6_admin_update_product | Change fields of one product in the live shop: texts and SEO fields (written in the language of language_id), custom fields, active flag… |
shopware_6_admin_add_product_property | Assign an existing property option (e.g |
shopware_6_admin_remove_product_property | Unassign a property option from a product |
shopware_6_admin_create_property_option | Create a new option in a property group (e.g. a new color value) |
shopware_6_admin_search_categories | Search categories with Shopware criteria, e.g. filter parentId for the children of a category, or level / active |
shopware_6_admin_create_category | Create a category in the live catalog tree: a page, a folder (structure only) or a link |
shopware_6_admin_update_category | Change one category in the live shop: name, texts and SEO fields (in the language of language_id), active / visible, layout, or its place… |
shopware_6_admin_search_cms_pages | Search Shopping Experiences layouts (CMS pages) with Shopware criteria, e.g. filter type landingpage / page / product_list /… |
shopware_6_admin_get_cms_page | Read one layout (CMS page) with its sections, blocks and slots sorted by position, including each slot's id, type and config (texts, media… |
shopware_6_admin_create_cms_page | Create a layout (CMS page), optionally with its sections, blocks and slots nested in one call |
shopware_6_admin_update_cms_page | Change a layout in the live shop: rename it, or update and add sections with their blocks and slots |
shopware_6_admin_create_cms_block | Add a block (e.g. text, image, image-text, product-listing) with its slots to an existing section of a layout |
shopware_6_admin_update_cms_slot | Change the content of one slot in the live shop, e.g. the HTML of a text element or the media of an image element, in the language of… |
shopware_6_admin_search_media | Search the media library with Shopware criteria, e.g. filter mediaFolderId, fileName, mimeType, or term |
shopware_6_admin_create_media | Create an empty media entry (no file yet) in the media library, optionally in a folder |
shopware_6_admin_upload_media_from_url | Have Shopware download a file from a public URL into a media entry (created with shopware_6_admin_create_media) |
shopware_6_admin_update_media | Change the alt text, title, folder or custom fields of a media entry in the live shop (alt and title in the language of language_id) |
shopware_6_admin_create_media_folder | Create a folder in the media library |
shopware_6_admin_search_sales_channels | Search sales channels (storefronts, headless channels) with Shopware criteria: name, type, active, maintenance, navigation / footer /… |
shopware_6_admin_search_promotions | Search promotions with Shopware criteria, e.g. filter active or code; associations {"discounts":{},"salesChannels":{}} add the discount… |
shopware_6_admin_search_seo_urls | Search SEO URLs with Shopware criteria, e.g. filter foreignKey (a product or category id), routeName (frontend.detail.page… |
shopware_6_admin_search_entities | Search any Admin API entity with Shopware criteria, e.g. order, customer, product-manufacturer, property-group, property-group-option… |
shopware_6_admin_get_entity | Read one record of any Admin API entity by id, e.g. order, customer, category, cms-slot, media, promotion |
shopware_6_admin_create_entity | Create one record of any Admin API entity, e.g. a cms-section, snippet, product-manufacturer or a product |
shopware_6_admin_update_entity | Change fields of one record of any Admin API entity in the live shop (orders, customers, sales channels, settings included) |
shopware_6_admin_delete_entity | Delete one record of any Admin API entity by id, e.g. a cms-block, a product or a media entry |
shopware_6_admin_sync | Bulk write: upsert or delete many records of one or more entities in a single request through the Sync API |
プロンプトの例
- 「在庫が 5 個未満の有効な商品をすべて探して、商品番号、名前、在庫を表示してください。」
- 「商品 SW10001 のメタタイトルとメタディスクリプションをドイツ語と英語で書き直してください。保存する前にテキストを見せてください。」
- 「夏のランディングページの Shopping Experiences レイアウトを、セクション、ブロック、スロット付きで表示してください。」
- 「https://example.com/banner.jpg の画像をメディアフォルダ Banners にアップロードして、代替テキストを設定してください。」
- 「今有効なプロモーションを、コードと有効期間付きで教えてください。」
FAQ
Gemini CLI はどこから MCP サーバーを読み込みますか? ユーザー単位では ~/.gemini/settings.json、プロジェクト単位ではプロジェクト内の .gemini/settings.json です。gemini mcp list で各サーバーと接続状態を確認できます。
次のステップ
このガイドは役に立ちましたか?