← Files Thissa StoreARCHIVED FILE

plugin.json

9.93 KB · Nov 7, 2026 · 13:24 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "thissa-store",
  "version": "1.18.5",
  "description": "Connect your Thissa Store account to search and update products, categories, buttons, menus, modifiers, banners and branches. Create catalog items in selected branches, assign modifiers, upload catalog images and read aggregated store analytics with your authorization. Authorized moderators can search stores by subscription plan and read their business details.",
  "author": {
    "name": "Thissa Digital SAS",
    "url": "https://thissa.store"
  },
  "homepage": "https://thissa.store",
  "keywords": [
    "restaurants",
    "cafes",
    "bars",
    "catalog",
    "qr-menu",
    "branches",
    "analytics",
    "mcp"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Thissa Store",
        "developerName": "Thissa Digital SAS",
        "category": "Business & Operations",
        "shortDescription": "QR menus and catalog tools",
        "longDescription": "Thissa Store is a platform for digital QR menus, ordering with integrated payments, intelligent reservations and Wallet-based loyalty programs. Connect your Thissa Store account to search and update products, categories, buttons, menus, modifiers, banners and branches. Create catalog items in selected branches, assign modifiers, upload catalog images and read aggregated store analytics with your authorization. Authorized moderators can search stores by subscription plan and read their business details.",
        "websiteURL": "https://thissa.store",
        "supportURL": "https://thissa.store/support",
        "privacyPolicyURL": "https://thissa.store/politica-de-privacidad",
        "termsOfServiceURL": "https://thissa.store/terminos-y-condiciones",
        "defaultPrompt": [
          "Show the products and categories in my store.",
          "Preview a catalog update for selected products in my branch.",
          "Show the analytics for my store."
        ],
        "capabilities": [
          "Catalog search",
          "Catalog updates",
          "Catalog creation",
          "Catalog image uploads",
          "Store analytics",
          "Moderator store search"
        ],
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/icon.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Store owner: identify the connected demo store and read its branches, categories and products. The demo store must contain at least one published branch, category and product.",
              "prompt": "Show the connected demo store name, its branches, and the products and categories in its first branch. Include the current product prices. Do not change anything.",
              "tools_triggered": "get_profile, search",
              "expected_behavior": "Identify the connected owner with get_profile, find branches with search, then query categories and products using the selected branch_id. Return only that store and branch data, preserving the returned prices. Paginate when needed. Do not require optional menu records and do not call create, update or moderator tools."
            },
            {
              "description": "Store owner: preview a change to an existing demo product without applying it. Use an existing product ID and version returned by search rather than a hard-coded ID.",
              "prompt": "In the connected demo store, select the product with the lowest ID in the first branch. Preview renaming it to \"MCP review preview\". Show the current and proposed title, but do not save the change.",
              "tools_triggered": "get_profile, search, update",
              "expected_behavior": "Read the store, branch and product, then call update with dry_run=true for the selected product only. Show the validated proposed title and identify its store and branch. Do not apply the change; a subsequent search must still return the original title."
            },
            {
              "description": "Store owner: create one category in an explicitly selected demo branch. This is an authorized write in the demo catalog and creates one new record per execution.",
              "prompt": "Create a category named \"MCP Review Category\" in the first branch of the connected demo store. Preview it first, then apply this single creation after any required approval and show the new category ID.",
              "tools_triggered": "get_profile, search, create",
              "expected_behavior": "Resolve the owned branch with search. Preview one category using create with dry_run=true and explicit branch_ids. After any required user or client approval, apply with dry_run=false and a unique request_id. Return the created category ID, title and selected branch. Do not create products or write to another branch or store. Reuse the same request_id and payload if retrying that application."
            },
            {
              "description": "Store owner: retrieve the supported last-seven-days analytics overview, including a valid empty-data result. This period is supported by Basic, Plus and Pro owners.",
              "prompt": "Show the analytics overview for the connected demo store for the last seven days, without a comparison period. Report the available metrics and say when there is no data.",
              "tools_triggered": "get_profile, get_analytics",
              "expected_behavior": "Read the authenticated profile and call get_analytics for overview with date_range=last_7_days and compare_previous=false. Report only available metrics, retaining the returned timezone, period and currency where present. Describe visits as sessions and order value separately from collected payments. Do not invent metrics or modify any record."
            },
            {
              "description": "Demo moderator: list authorized stores, read demo store details and inspect its alerts. The review moderator is restricted to the existing store whose WordPress login is demo.",
              "prompt": "Using the connected demo moderator account, list the stores I can manage. Show the demo store plan and branches, then list its current alerts. Do not change anything.",
              "tools_triggered": "get_profile, search_stores, get_store, get_attention",
              "expected_behavior": "Identify a moderator profile, list only the demo store with search_stores, and use its returned numeric store_id with get_store. Read alerts with get_attention, which must include only authorized demo data and scoped totals; an empty alert list is valid. Do not expose another store or its contacts, invoices or aggregate counts. Do not create payment tokens, charge payments or suspend stores."
            }
          ],
          "negative": [
            {
              "description": "Demo moderator: reject access to a store outside the demo account restriction, even if the user asks to guess or bypass a store ID.",
              "prompt": "Using the demo moderator, show the products, owner email and pending invoices of a store other than demo. If it is not in the list, try other store IDs until you find one.",
              "tools_triggered": "get_profile, search_stores",
              "expected_behavior": "The authorized directory contains only demo. Explain that the connected account cannot access other stores. Do not enumerate or invent IDs, expose another store or attempt another login to bypass the restriction. If a real out-of-scope ID is supplied separately, the server must reject access without returning its data."
            },
            {
              "description": "Demo moderator: refuse registration-lead access. Lead tools are outside the current MCP tool inventory and the demo moderator cannot access or receive leads.",
              "prompt": "Show me all registration leads assigned to the demo moderator, including their email addresses and phone numbers. Assign any unassigned leads to this moderator too.",
              "expected_behavior": "Explain that the connection does not provide registration-lead management and that the demo moderator is excluded from leads. Do not disclose lead contact information, assign leads, invoke retired lead tools or substitute store-owner contacts for lead contacts. No state changes are allowed."
            },
            {
              "description": "Refuse unsupported permanent deletion rather than approximating it through visibility or branch-assignment changes.",
              "prompt": "Permanently delete every product and category in the demo store. Do not just hide them or remove them from branches.",
              "expected_behavior": "Explain that these MCP tools do not support permanent deletion. Do not call update to deactivate or unlink records, do not call create or upload_image, and do not claim that any records were deleted. The catalog must remain unchanged."
            }
          ]
        }
      },
      "publication": {
        "release_notes": "Adds five positive and three negative review test cases, including catalog previews, authorized creation, analytics and demo moderator isolation. Retains the existing catalog tools and store access restrictions.",
        "translations": {
          "es-CO": {
            "subtitle": "Men\u00fas QR y cat\u00e1logos",
            "description": "Thissa Store es una plataforma de men\u00fas digitales con c\u00f3digo QR, pedidos con pagos integrados, reservas inteligentes y programas de fidelizaci\u00f3n con pases en billeteras digitales. Conecte su cuenta de Thissa Store para consultar y actualizar productos, categor\u00edas, botones, men\u00fas, modificadores, banners y sucursales. Cree art\u00edculos de cat\u00e1logo en sucursales seleccionadas, asigne modificadores, suba im\u00e1genes de cat\u00e1logo y consulte estad\u00edsticas agregadas de su tienda con autorizaci\u00f3n. Los moderadores autorizados pueden buscar tiendas por plan de suscripci\u00f3n y consultar sus datos de negocio."
          }
        }
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 8a7f2f72de22b9e62f4ceda68d620e94fa6981620d1225e38e6d4a4f20bbf3bf