mcpField
O
O'So MCP Server for PrestaShop

O'So MCP Server for PrestaShop

リモート
リポジトリ公式サイト

O'So MCP Server for PrestaShop について

O'So MCP Server for PrestaShop は、MCP 対応アシスタントにショップ操作を公開する PrestaShop モジュールです。ショップの従業員や管理者向けに、共有データベースログインや無制限の API キーではなく、従業員権限と OAuth 2.1 でアクセスを制御します。

主な機能

  1. 01PrestaShop 内の MCP エンドポイント
  2. 02OAuth 2.1 認可
  3. 03従業員ごとのバックオフィス権限
  4. 04マルチストアのネイティブ対応
  5. 05モジュールからツールとプロンプトを公開

活用シーン

  1. 01注文の検索とステータス更新
  2. 02商品、在庫、顧客の管理
  3. 03売上概要とベストセラーの確認

MCP 対応

PrestaShop 内で MCP エンドポイントを稼働させ、ショップのデータと操作に関するツールを公開します。MCP クライアントは従業員として認可され、そのバックオフィス権限に基づいてアクセスします。

設定

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

エンドポイントhttps://{shop}/module/somcp/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

PrestaShop MCP サーバー

PHP tests Integration Security UI tests

Release PrestaShop PHP MCP Multistore License Docs

Stars Forks Contributors PRs welcome

PrestaShop のショップを MCP サーバーに変えるモジュールです。Claude、ChatGPT、Le Chat、または MCP 対応のアシスタント (一覧)が、データベースへのログインやあらゆる操作が可能な API キーを使わず、標準プロトコルを通じて、OAuth 2.1 と従業員自身のバックオフィス権限を利用しながら、ショップの注文やカタログを操作できます。

モジュールのフォルダー名は somcp で、バックオフィスでは O'So MCP Server と表示されます。

必要条件、インストール、設定、各アシスタントの接続方法など、モジュールのドキュメントはウィキにあります。

https://github.com/user-attachments/assets/cf0b0e3f-1172-4ba9-aad1-11a6298aadf7

このリポジトリでは、PrestaShop 開発者の参加を募集しています。協力できることをご覧ください。


機能

  • PrestaShop 内から MCP を提供します。 別のサービスや Node プロセスは不要です。 エンドポイントはモジュールのフロントコントローラーです。
  • 独自の OAuth 2.1 認可サーバーを実行します:ディスカバリードキュメント(RFC 9728 および RFC 8414)、PKCE S256、動的クライアント登録とクライアント ID メタデータ ドキュメント、再利用検出付きのリフレッシュトークンローテーションに対応しています。トークンは ハッシュ化して保存され、発行先のショップに紐付けられます。
  • PrestaShop の権限をそのまま使用します。 従業員はバックオフィスの同意画面で、自分の代理として アシスタントを接続します。その後、アシスタントはその従業員とまったく同じ権限を持ちます。各ツールはバックオフィスの ページと、PrestaShop がすでに管理している 4 つの権限のいずれか(view、add、 edit、delete)に紐付けられます。
  • マルチストアに標準で対応しています。 各ショップは固有のアドレス、トークン、通常の継承機能を備えた 設定を持ちます。従業員がアクセスできるのは、自分が所属するショップのみです。
  • 2 つのフックから配列を返すことで、どのモジュールでもツールとプロンプトを公開できます。 somcp のクラスに依存しないため、これらのモジュールは Addons のバリデーターにも引き続き合格します。 docs/EXTENDING.md をご覧ください。
  • バックオフィスにアシスタントを内蔵しています。 各ページの右上にあるチャットボタンを押すと、 販売者が自分の API キーで接続した AI と会話できます:Claude、 ChatGPT、 Gemini、 Mistral、 DeepSeek、 Grok、 Cohere(各リンクから、プロバイダーがキーを発行するページを開きます)。または、 Ollama や LM Studio など、販売者自身のコンピューターで動作する AI とも接続できます。 O'So AI Relay を介して接続するため、キーは不要で、 ネットワーク上でポートを開く必要もありません。同じツールを使用し、サインイン中の従業員の権限で動作し、 変更を加える前に承認を求めます。複数のアシスタントで役割を分担して作業できます。各会話では + メニューから、深い思考(Claude、Gemini、OpenAI の推論モデル)とウェブ検索(Claude と Gemini は単独で、その他はそのいずれかを介して)を有効にしたり、メモリを無効にしたりできます。 所属するモジュールを認識し、スーパー管理者向けには設定を読み取り、承認後に変更します。 Neuron AI 上で動作します。
  • 1 つのエンドポイントから、プロトコルの新旧両方の世代に対応します:呼び出し中に質問できる ステートレスな 2026-07-28 リビジョンと、2025-11-25、2025-06-18、2025-03-26 の各リビジョンに対応しています。

スクリーンショット

PrestaShop 9.1 の設定ページを順に紹介します:設定、ツールとプロンプト、アクセスとセキュリティ、 接続済みアシスタント、内蔵アシスタント、セキュリティログ、ヘルプと更新、チャット。

O'So MCP Server の設定ページを順に紹介

互換性

PrestaShop8.0.0 ~ 9.x(ps_versions_compliancy 8.0.0 - 9.99.99)
PHP8.1 以降
マルチストア対応
言語英語、フランス語、スペイン語、ドイツ語

ショップは HTTPS でアクセス可能で、フレンドリー URL が有効になっており、 ドメインのルートにインストールされている必要があります。OAuth はディスカバリードキュメントの 1 つを ここに配置するためです。設定画面の診断ボタンでは、証明書、SSL 設定、フレンドリー URL、 配置場所、アシスタントが呼び出すアドレスを外部から確認します。要件の全一覧は wiki にあります。

ツール

バックオフィスのページごとにグループ化し、各オブジェクトでは読み取りツールを変更ツールより先に記載しています。 新しいツールは、そのページの表に追加します。

接続
ツールスコープバックオフィスの権限種別
somcp_pingmcp.accessなし読み取り
Orders
ToolScopeBack office rightNature
somcp_search_ordersmcp.orders.readview on AdminOrdersread
somcp_get_ordermcp.orders.readview on AdminOrdersread
somcp_list_order_statusesmcp.orders.readview on AdminStatusesread
somcp_list_return_statusesmcp.orders.readview on AdminStatusesread
somcp_list_carriersmcp.orders.readview on AdminCarriersread
somcp_set_order_statusmcp.orders.writeedit on AdminOrderswrite
somcp_set_order_trackingmcp.orders.writeedit on AdminOrderswrite
somcp_add_order_messagemcp.orders.writeedit on AdminOrderswrite
somcp_set_order_notemcp.orders.writeedit on AdminOrderswrite
somcp_add_order_paymentmcp.orders.writeedit on AdminOrderswrite
somcp_create_return_statusmcp.orders.writeadd on AdminStatuseswrite
somcp_update_return_statusmcp.orders.writeedit on AdminStatuseswrite
somcp_delete_return_statusmcp.orders.writedelete on AdminStatuseswrite
somcp_create_order_statusmcp.orders.writeadd on AdminStatuseswrite
Catalog - Products
ToolScopeBack office rightNature
somcp_search_productsmcp.catalog.readview on AdminProductsread
somcp_get_productmcp.catalog.readview on AdminProductsread
somcp_create_productmcp.catalog.writeadd on AdminProductswrite
somcp_update_productmcp.catalog.writeedit on AdminProductswrite
somcp_set_product_activemcp.catalog.writeedit on AdminProductswrite
somcp_delete_productmcp.catalog.writedelete on AdminProductswrite
Catalog - Categories
ToolScopeBack office rightNature
somcp_list_categoriesmcp.catalog.readview on AdminCategoriesread
somcp_get_categorymcp.catalog.readview on AdminCategoriesread
somcp_create_categorymcp.catalog.writeadd on AdminCategorieswrite
somcp_update_categorymcp.catalog.writeedit on AdminCategorieswrite
somcp_set_category_activemcp.catalog.writeedit on AdminCategorieswrite
Catalog - Brands
ToolScopeBack office rightNature
somcp_list_manufacturersmcp.catalog.readview on AdminManufacturersread
somcp_get_manufacturermcp.catalog.readview on AdminManufacturersread
somcp_create_manufacturermcp.catalog.writeadd on AdminManufacturerswrite
somcp_update_manufacturermcp.catalog.writeedit on AdminManufacturerswrite
somcp_set_manufacturer_activemcp.catalog.writeedit on AdminManufacturerswrite
somcp_list_manufacturer_addressesmcp.catalog.readview on AdminManufacturersread
somcp_get_manufacturer_addressmcp.catalog.readview on AdminManufacturersread
somcp_create_manufacturer_addressmcp.catalog.writeedit on AdminManufacturerswrite
somcp_update_manufacturer_addressmcp.catalog.writeedit on AdminManufacturerswrite
somcp_delete_manufacturer_addressmcp.catalog.writedelete on AdminManufacturerswrite
Catalog - Suppliers
ToolScopeBack office rightNature
somcp_list_suppliersmcp.catalog.readview on AdminSuppliersread
somcp_get_suppliermcp.catalog.readview on AdminSuppliersread
somcp_create_suppliermcp.catalog.writeadd on AdminSupplierswrite
somcp_update_suppliermcp.catalog.writeedit on AdminSupplierswrite
somcp_set_supplier_activemcp.catalog.writeedit on AdminSupplierswrite
Catalog - Attributes
ToolScopeBack office rightNature
somcp_list_attributesmcp.catalog.readview on AdminAttributesGroupsread
somcp_get_attribute_groupmcp.catalog.readview on AdminAttributesGroupsread
somcp_create_attribute_groupmcp.catalog.writeadd on AdminAttributesGroupswrite
somcp_update_attribute_groupmcp.catalog.writeedit on AdminAttributesGroupswrite
somcp_get_attribute_valuemcp.catalog.readview on AdminAttributesGroupsread
somcp_create_attribute_valuemcp.catalog.writeadd on AdminAttributesGroupswrite
somcp_update_attribute_valuemcp.catalog.writeedit on AdminAttributesGroupswrite
Catalog - Features
ToolScopeBack office rightNature
somcp_list_featuresmcp.catalog.readview on AdminFeaturesread
somcp_get_featuremcp.catalog.readview on AdminFeaturesread
somcp_create_featuremcp.catalog.writeadd on AdminFeatureswrite
somcp_update_featuremcp.catalog.writeedit on AdminFeatureswrite
somcp_get_feature_valuemcp.catalog.readview on AdminFeaturesread
somcp_create_feature_valuemcp.catalog.writeadd on AdminFeatureswrite
somcp_update_feature_valuemcp.catalog.writeedit on AdminFeatureswrite
Catalog - Files and taxes
ToolScopeBack office rightNature
somcp_list_attachmentsmcp.catalog.readview on AdminAttachmentsread
somcp_list_tax_rulesmcp.catalog.readview on AdminTaxRulesGroupread
Stock
ToolScopeBack office rightNature
somcp_get_stockmcp.stock.readview on AdminStockManagementread
somcp_list_low_stockmcp.stock.readview on AdminStockManagementread
somcp_set_stock_quantitymcp.stock.writeedit on AdminStockManagementwrite
Customers
ToolScopeBack office rightNature
somcp_search_customersmcp.customers.readview on AdminCustomersread
somcp_get_customermcp.customers.readview on AdminCustomersread
somcp_create_customermcp.customers.writeadd on AdminCustomerswrite
somcp_update_customermcp.customers.writeedit on AdminCustomerswrite
somcp_list_customer_groupsmcp.customers.readview on AdminGroupsread
Statistics
ToolScopeBack office rightNature
somcp_get_sales_summarymcp.stats.readview on AdminStatsread
somcp_list_best_sellersmcp.stats.readview on AdminStatsread
Content
ToolScopeBack office rightNature
somcp_list_cms_pagesmcp.content.readview on AdminCmsContentread
somcp_get_cms_pagemcp.content.readview on AdminCmsContentread
Modules
ToolScopeBack office rightNature
somcp_list_modulesmcp.modules.readview on AdminModulesSfread
somcp_get_modulemcp.modules.readview on AdminModulesSfread
somcp_install_modulemcp.modules.writeadd on AdminModulesSfwrite
somcp_set_module_activemcp.modules.writeedit on AdminModulesSfwrite
外観
ツールスコープバックオフィス権限種別
somcp_list_menu_linksmcp.appearance.readAdminModulesSf の view読み取り
somcp_add_menu_linkmcp.appearance.writeAdminModulesSf の edit書き込み
somcp_update_menu_linkmcp.appearance.writeAdminModulesSf の edit書き込み
somcp_get_thememcp.appearance.readAdminThemes の view読み取り
somcp_update_theme_settingmcp.appearance.writeAdminThemes の edit書き込み
システム
ツールスコープバックオフィス権限種別
somcp_get_cache_statusmcp.system.readAdminPerformance の view読み取り
somcp_clear_cachemcp.system.writeAdminPerformance の delete書き込み
SEO
ツールスコープバックオフィス権限種別
somcp_get_seo_settingsmcp.seo.readAdminMeta の view読み取り
somcp_list_meta_pagesmcp.seo.readAdminMeta の view読み取り
somcp_audit_pagemcp.seo.readAdminMeta の view読み取り
somcp_check_linksmcp.seo.readAdminMeta の view読み取り
somcp_audit_sitemapmcp.seo.readAdminMeta の view読み取り
somcp_audit_product_seomcp.seo.readAdminProducts の view読み取り
somcp_audit_category_seomcp.seo.readAdminCategories の view読み取り
somcp_audit_cms_seomcp.seo.readAdminCmsContent の view読み取り
somcp_audit_brand_seomcp.seo.readAdminManufacturers の view読み取り
somcp_update_cms_seomcp.seo.writeAdminCmsContent の edit書き込み
somcp_update_meta_pagemcp.seo.writeAdminMeta の edit書き込み
somcp_get_robots_txtmcp.seo.readAdminMeta の view読み取り
somcp_generate_robots_txtmcp.seo.writeAdminMeta の add、edit、delete書き込み
AEO
ツールスコープバックオフィス権限種別
somcp_audit_product_schemamcp.seo.readAdminProducts の view読み取り

読み取りは読み取り専用として設定されており、繰り返し実行しても安全です。書き込みは破壊的な操作として設定されており、MCP クライアントは実行前に販売者へ確認します。書き込み操作は呼び出しごとに1つのオブジェクトを変更し、応答が失われても再試行されません。

somcp_ping は意図的に権限システムの対象外です。ショップデータは読み取らず、アシスタントが何(ショップ、アカウント、言語、通貨)に接続しているかだけを伝えるため、権限が一切ないアカウントであっても、アシスタントは常に使用中のアカウントを確認できます。

このモジュールには、接続の確認、注文の検索、注文ステータスの変更、商品管理、在庫の確認、顧客の検索、SEO の監査、売上のレポート、コンテンツページの閲覧という9つのプロンプトが付属しています。組み込みのアシスタントでも、それぞれのアイコン付きで利用できます。バックオフィスのページにあるプロンプトはそのページを開いたときに表示され、各入力欄の + からも利用できます。すべてのツールの詳細はdocs/TOOLS.mdに記載されています。

開発用インストール

  1. リポジトリをショップの modules フォルダーに somcp という名前でクローンします。

    cd /path/to/prestashop/modules
    git clone https://github.com/novalo-dev/Prestashop-MCP-Server.git somcp
    
  2. モジュールの依存関係をインストールし、Modules > Module Manager からインストールして、設定を開きます。

    cd somcp && composer install --no-dev
    
  3. アシスタントに渡すアドレスをコピーします。次のような形式です。 https://your-shop.example/module/somcp/mcp

  4. Run the diagnostic を押します。アシスタントに接続する前に、赤色の行がないことを確認してください。ショップがメンテナンス中などの警告があっても、接続は妨げられません。

ローカルショップに MCP クライアントからアクセスするには、公開 HTTPS アドレスが必要です。cloudflared や ngrok などのトンネルを使用し、ショップのドメインをそのアドレスに設定してください。

バージョンは GitHub で公開されているリリースに対応します。リリース間は main によってデータベーススキーマが変更されることがあります。既存のショップ向けのアップグレード処理は次のリリース公開時に作成されるため、開発用ショップでは、プルリクエストにスキーマ変更の記載がある場合、モジュールを再インストールしてください。

互換性のあるアシスタント

HTTP 経由で OAuth を使用してリモート MCP サーバーに接続するアシスタントは、ショップの MCP アドレスを使用します。このアドレスはモジュールの設定ページに表示されています。以下のアシスタントが対応しています。それぞれでアドレスを入力する場所については、 アシスタントを接続するをご覧ください。

セキュリティモデル

  • PKCE(S256 のみ)を使用する OAuth 2.1。 認可コードの有効期限は 60 秒、アクセストークンはデフォルトで 1 時間、リフレッシュトークンはデフォルトで 30 日です。いずれも設定で変更できます。リフレッシュトークンはローテーションされ、古いトークンを提示すると認可が取り消されます。
  • スコープは、アシスタントが実行できる操作を示します。接続には mcp.access を使用します。そのほか、mcp.orders.read、mcp.orders.write、mcp.catalog.read、mcp.catalog.write、 mcp.stock.read、mcp.stock.write、mcp.customers.read、mcp.customers.write、 mcp.seo.read、mcp.seo.write、mcp.stats.read、mcp.content.read、 mcp.modules.read、mcp.modules.write、mcp.appearance.read、 mcp.appearance.write、mcp.system.read、mcp.system.write があります。ほかのモジュールはこれらを借用せず、それぞれ独自のスコープを宣言します。
  • バックオフィスの権限は、従業員の現在のプロファイルに照らして、呼び出しごとに確認されます。また、ショップはリクエストではなく、常にトークンから取得されます。
  • リダイレクト URI は https、またはループバックの場合は http である必要があります。マーチャントは許可するホストのリストを指定し、アクセスを許可できるプロファイルを制限できます。
  • すべての接続は設定から取り消すことができ、すべての拒否はトークンやシークレットを決して含まないセキュリティログに記録されます。

脆弱性を見つけた場合は、issue を作成しないでください。SECURITY.mdをご覧ください。

ドキュメント

  • Wiki:マーチャント向けのモジュールドキュメントです。要件、インストール、設定、アシスタントの接続、組み込みアシスタントについて説明しています。
  • docs/ARCHITECTURE.md:リクエストがモジュール、OAuth、MCP、マルチストア、データをどのように経由するかを説明しています。
  • docs/EXTENDING.md:独自のモジュールからツールやプロンプトを公開する方法を、完全なサンプルモジュールとともに説明しています。
  • docs/TOOLS.md:すべてのツールが従う規約と、各ツールの詳細を説明しています。
  • CHANGELOG.md:各リリースでの変更内容と、次のリリースに向けて Unreleased に残されている内容を確認できます。

支援できること

プロトコル層、OAuth、権限は整っています。今このモジュールに必要なのは、対応範囲を広げることです。PrestaShop のより多くの機能をツールとして公開し、より多くのクライアントをテストし、対応言語を増やす必要があります。ROADMAP.mdには具体的な作業項目を記載しています。CONTRIBUTING.mdでは、環境のセットアップ方法、プルリクエストに必要なもの、歓迎する貢献の種類を説明しています。

コントリビューター

モジュールの構築に協力した皆さんです。中央には最も貢献した方を表示しています。 名前と貢献数は、このページが表示されるたびに GitHub から読み込まれるため、 常に最新の状態です。モジュールの設定ページにも、GitHub から読み込まれた同じ一覧が ヘルプと更新 > コントリビューターの紹介 に表示されます。

2位
2位のコントリビューター
2位の貢献数
1位
1位のコントリビューター
1位の貢献数
最も貢献した方
3位
3位のコントリビューター
3位の貢献数

次のコントリビューターになりませんか?方法についてはCONTRIBUTING.mdをご覧ください。

ライセンス

他の Novalo モジュールと同様に、Academic Free License 3.0 を適用しています。

コメント

MCP は初めてですか?

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

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