Skip to content

Reference documents

Read the reference documents the MCP server publishes: the long form behind a tool, such as the guide to writing a V2 product feed, which the tool's description names before you call it.

A tool description holds what an assistant needs to call the tool correctly. The longer material, a field contract with types or a format's parsing rules, is published as a document with a docs:// URI. feeds_create points at docs://feeds/v2-guide, and an assistant that reads it first writes a transform that runs the first time. recoms_updateContextCrawlConfig points at docs://crawl-strings/syntax, the DSL a recommendation's context crawl config is written in, recoms_updateAlgorithm points at docs://product-algorithms/format, the shape of the step pipeline that decides which products a recommendation shows, and the Newsletter Content campaign tools point at docs://newsletter-content/campaigns, which explains how a newsletter campaign is put together.

The documents are MCP resources, so a client that supports resources lists them with resources/list and reads one with resources/read. Not every client does; several expose tools only. docs_list and docs_get serve the same documents as tools, so they are reachable from every client.

Tips & tricks

Pick the card that matches what you're doing. Each prompt is ready to paste into your assistant.

Feeds

Read the guide before the first feed

feeds_create names docs://feeds/v2-guide. Ask for it up front and the assistant knows what each format hands the transform, which fields a product may carry and how a run is verified, before it writes a line of code.

Read docs://feeds/v2-guide, then write the transformation code for my product feed at {feed url}.
Discovery

See what's published

New documents arrive with new tools. docs_list shows the current set, each with a one-line description of when to read it.

List the reference documents the Hello Retail MCP server publishes.
Recommendations

Read the syntax before a context crawl config

recoms_updateContextCrawlConfig names docs://crawl-strings/syntax. It holds the line shape, the field names a recommendation may define, the selectors, processors and annotations, so the assistant writes a config the parser accepts on the first try instead of round-tripping on syntax errors.

Read docs://crawl-strings/syntax, then show me the context crawl config of recommendation {recom key} and explain what each line extracts.
Recommendations

Read the format before you change an algorithm

recoms_updateAlgorithm names docs://product-algorithms/format. It holds every step type with the extra fields it carries, the filter operators and $context expressions and the run conditions, so the assistant writes steps the engine accepts rather than guessing at field names. The same format configures Newsletter Content and Triggered Emails.

Read docs://product-algorithms/format, then explain what each step of recommendation {recom key} contributes.
Newsletter Content

Read it before a campaign

The Newsletter Content campaign tools name docs://newsletter-content/campaigns. It holds what separates a design from a campaign, what each of the three campaign types does to a recipient's products, and what an Auto campaign needs from the newsletter platform, so the assistant picks the right type instead of the first one.

Read docs://newsletter-content/campaigns, then tell me which campaign type suits a shop that sends a weekly newsletter.

docs_list

List the reference documents the server publishes, with the URI to read each one through docs_get. Takes no arguments.

Example request & response
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "docs_list",
    "arguments": {}
  }
}
{
  "docs": [
    {
      "uri": "docs://crawl-strings/syntax",
      "title": "Crawl strings syntax",
      "description": "The crawl-strings DSL every crawl config is written in: line shape, the field-name families, selectors, processors and annotations, and where the same syntax runs (recommendations, v1 product feeds). Read it before writing crawlStrings for recoms_updateContextCrawlConfig or reading a v1 feed's crawlStrings."
    },
    {
      "uri": "docs://feeds/v2-guide",
      "title": "Writing a V2 product feed",
      "description": "How a V2 product feed run works end to end: itemsPath per format, the object each format hands transform(item), the sandbox, every product field the result may carry with its type, auto mapping, pagination and safety stops, delta runs, deletion of missing products, and how to verify a run. Read it before calling feeds_create or writing transformationCode."
    },
    {
      "uri": "docs://newsletter-content/campaigns",
      "title": "Newsletter Content campaigns",
      "description": "How Newsletter Content works and how a campaign is put together: the split between a design and a campaign, the three campaign types (Auto, Rolling, Manual) and what makes each one re-pick a recipient's products, how an auto campaign derives one campaign per send and what the newsletter platform's merge tag has to guarantee for that, why editing a design reaches the three types at different moments, and the order the product slots are filled in. Read it before creating or editing a campaign with the newsletterContent_ tools."
    },
    {
      "uri": "docs://product-algorithms/format",
      "title": "Product algorithm format",
      "description": "How a product-selection algorithm is put together: the ordered steps and how they fill a surface's slots, every step type and the extra fields it carries, the two inverted roles (exclude, use as context), the filter fields, operators and $context expressions, run conditions, and worked examples. Read it before writing an algorithm with recoms_updateAlgorithm. The same format configures Recommendations, Newsletter Content, Triggered Emails and Search initial content."
    }
  ]
}

docs_get

Read one document by URI. The text is Markdown, the same content resources/read returns.

Name Type Required Description
uri string Yes URI of the document, from docs_list or from a tool description, e.g. docs://feeds/v2-guide.
Example request & response
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "docs_get",
    "arguments": {
      "uri": "docs://feeds/v2-guide"
    }
  }
}
{
  "uri": "docs://feeds/v2-guide",
  "mimeType": "text/markdown",
  "text": "# Writing a V2 product feed\n\nA V2 product feed is a URL Hello Retail downloads on a schedule..."
}

An unknown URI is a tool error, No document found with uri: docs://…, so check docs_list for the current set.

Documents

URI Title Read it before
docs://crawl-strings/syntax Crawl strings syntax recoms_updateContextCrawlConfig, and before reading what recoms_getContextCrawlConfig returns. Covers the line shape, the field names each kind of crawl config may define (a recommendation's context crawl config uses the CRAWLABLE family), selectors, processors, annotations, and where the same syntax runs. See Recommendations.
docs://feeds/v2-guide Writing a V2 product feed feeds_create, and feeds_update when it changes itemsPath or transformationCode. Covers how a run works, itemsPath per format, the object each format hands transform(item), the sandbox, every product field with its type, auto mapping, pagination and safety stops, delta runs, deletion of missing products and how to verify a run. See Feeds.
docs://newsletter-content/campaigns Newsletter Content campaigns newsletterContent_createCampaign and newsletterContent_updateCampaign, and before reading what newsletterContent_getCampaign returns. Covers the split between a design and a campaign, the three campaign types and what makes each one re-pick a recipient's products, how an Auto campaign records one sent campaign per newsletter and what the platform's merge tag has to guarantee, why a design edit reaches the three types at different moments, and the order the product slots are filled in. See Newsletter Content campaigns.
docs://product-algorithms/format Product algorithm format recoms_updateAlgorithm, and before reading what recoms_getAlgorithm returns. Covers the ordered steps and how they fill the slots, every step type with the extra fields it carries, excluding and context steps, the filter fields, operators and $context expressions, run conditions and worked examples. The same format configures Newsletter Content and Triggered Emails. See Recommendations.

Reading them as resources

A client that supports MCP resources needs no tool call. resources/list returns the same set, and resources/read the same text.

Example request & response
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "resources/list"
}
{
  "resources": [
    {
      "uri": "docs://crawl-strings/syntax",
      "name": "crawl-strings-syntax",
      "title": "Crawl strings syntax",
      "description": "The crawl-strings DSL every crawl config is written in...",
      "mimeType": "text/markdown"
    },
    {
      "uri": "docs://feeds/v2-guide",
      "name": "feeds-v2-guide",
      "title": "Writing a V2 product feed",
      "description": "How a V2 product feed run works end to end...",
      "mimeType": "text/markdown"
    },
    {
      "uri": "docs://newsletter-content/campaigns",
      "name": "newsletter-content-campaigns",
      "title": "Newsletter Content campaigns",
      "description": "How Newsletter Content works and how a campaign is put together...",
      "mimeType": "text/markdown"
    },
    {
      "uri": "docs://product-algorithms/format",
      "name": "product-algorithms-format",
      "title": "Product algorithm format",
      "description": "How a product-selection algorithm is put together...",
      "mimeType": "text/markdown"
    }
  ]
}
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "resources/read",
  "params": {
    "uri": "docs://feeds/v2-guide"
  }
}
{
  "contents": [
    {
      "uri": "docs://feeds/v2-guide",
      "mimeType": "text/markdown",
      "text": "# Writing a V2 product feed\n\n..."
    }
  ]
}

An unknown URI returns JSON-RPC error -32002, Resource not found.