Catalog MCP

Let an AI assistant read your Structured Pages catalog through the same secure API your integrations already use. The MCP server is a thin connector — it does not keep a second copy of your data and does not bypass API keys or rate limits.

What this is

MCP (Model Context Protocol) is how some AI assistants attach tools. This connector exposes four read-only tools that call your live /v1 Catalog API under the hood:

  • searchProducts — keyword search
  • getProduct — one product by slug
  • getCategory — products in a category
  • askCatalog — plain-language questions (same path as POST /v1/ask)

Auth, tenant isolation, and rate limits are exactly those of the Catalog API. Details and curl examples live on the Catalog API docs.

API key

Create a key in Control Deck → Settings → Integrations → Catalog API keys (same keys as the HTTP Catalog API). Copy it once at creation — it cannot be shown again. Revoke it from that same Integrations panel if it leaks.

Operators with shell access can still use:

node scripts/issue-api-key.js --label "mcp assistant"

How an AI assistant connects

Point the assistant at the stdio MCP server and pass your site origin plus key as environment variables:

node scripts/mcp-catalog-server.js

Required environment:

  • CATALOG_API_BASE_URL — your public site origin (for example https://example.com)
  • CATALOG_API_KEY — a Catalog API key from Control Deck Integrations (or issue-api-key.js)

Example Cursor MCP config fragment:

{
  "mcpServers": {
    "structured-pages-catalog": {
      "command": "node",
      "args": ["/absolute/path/to/scripts/mcp-catalog-server.js"],
      "env": {
        "CATALOG_API_BASE_URL": "https://example.com",
        "CATALOG_API_KEY": "hvce_…"
      }
    }
  }
}

Once connected, the assistant can call searchProducts, getProduct, getCategory, and askCatalog. Each call hits your live /v1 endpoints with that key — wrong or foreign keys fail the same way a direct API request would.

Clear