{
  "generatedAt": "2026-08-01T20:05:33.841Z",
  "manifestType": "seller-toolsite-ai-tool-contracts",
  "version": "0.2.0",
  "origin": "https://www.sellermind.asia",
  "status": "ready",
  "summary": {
    "totalTools": 45,
    "callableTools": 45,
    "categories": [
      "agent-runtime",
      "international-seo",
      "scan",
      "structured-data",
      "site-scan",
      "competitor-intelligence",
      "ai-search-visibility",
      "seo-architecture",
      "conversion-experience",
      "seo",
      "seo-intelligence",
      "optimization-workbench",
      "self-optimization",
      "evidence",
      "handoff",
      "rules",
      "experiments",
      "productization",
      "tool-library",
      "seo-intake",
      "growth",
      "deployment",
      "contracts"
    ],
    "nextAction": "Let the future AI agent read this manifest, call one tool, inspect the data boundary, and turn any repeated agent workflow into a stronger tool contract."
  },
  "quickChallenge": {
    "feasible": "Yes. The current product already has stable HTTP endpoints and compact JSON/Markdown exports.",
    "necessary": "Yes. Future operator agents and partner agents need predictable inputs, outputs, safety notes, and data boundaries before calling the tool library.",
    "rightNow": "Yes. A minimal official-SDK MCP endpoint now exposes the core optimization loop; keep private integrations and direct site edits outside the public MCP surface until explicit authorization exists."
  },
  "discovery": {
    "llmsTxt": "https://www.sellermind.asia/llms.txt",
    "manifestEndpoint": "/api/ai/tools",
    "openApiEndpoint": "/api/openapi.json",
    "mcpEndpoint": "https://www.sellermind.asia/mcp",
    "preferredFormat": "MCP Streamable HTTP for native agent tool calls, OpenAPI 3.1 for HTTP clients, and the JSON manifest as the compact discovery view."
  },
  "tools": [
    {
      "name": "read_agent_skills",
      "description": "Read versioned SellerMind Agent skills with allowed tools, required inputs, approval points, success evidence, stop rules, and feasibility boundaries.",
      "method": "GET",
      "path": "/api/agent/skills",
      "category": "agent-runtime",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "agent-skill-catalog"
          },
          "status": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "skills": {
            "type": "array"
          },
          "summary": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {
        "authorization": "The catalog is public and read-only.",
        "externalSideEffects": "None."
      },
      "tags": [
        "agent-runtime",
        "skills",
        "workflow",
        "human-approval",
        "agent-callable"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_agent_next_action",
      "description": "Read the deterministic next action for a skill-bound Agent run, including the next tool or transition, input hints, evidence requirements, and approval boundary.",
      "method": "GET",
      "path": "/api/agent/runs/{runId}/next-action",
      "category": "agent-runtime",
      "inputSchema": {
        "type": "object",
        "properties": {
          "runId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160
          }
        },
        "required": [
          "runId"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "agent-skill-next-action"
          },
          "status": {
            "type": "string"
          },
          "runId": {
            "type": "string"
          },
          "skill": {
            "type": "object"
          },
          "state": {
            "type": "string"
          },
          "nextAction": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {
        "authorization": "Use only where the operator is authorized to inspect this run.",
        "externalSideEffects": "None. This endpoint only recommends the next bounded action."
      },
      "tags": [
        "agent-runtime",
        "skills",
        "next-action",
        "evidence",
        "approval"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_agent_runtime_contract",
      "description": "Read the bounded SellerMind Agent runtime contract, state transitions, human approval gates, data boundary, and framework adoption boundary.",
      "method": "GET",
      "path": "/api/agent/runtime",
      "category": "agent-runtime",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "agent-runtime-contract"
          },
          "status": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "states": {
            "type": "array"
          },
          "approvalGates": {
            "type": "array"
          },
          "endpoints": {
            "type": "object"
          },
          "frameworkBoundary": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {
        "authorization": "The contract is public and read-only.",
        "externalSideEffects": "None."
      },
      "tags": [
        "agent-runtime",
        "state-machine",
        "human-approval",
        "data-boundary"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_agent_runs",
      "description": "Read compact restart-safe Agent run summaries, current states, evidence counts, and available next transitions.",
      "method": "GET",
      "path": "/api/agent/runs",
      "category": "agent-runtime",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "agent-run-list"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "runs": {
            "type": "array"
          },
          "storage": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {
        "authorization": "Use only where the operator is authorized to inspect this single-tenant test environment.",
        "externalSideEffects": "None."
      },
      "tags": [
        "agent-runtime",
        "runs",
        "evidence",
        "restart-safe"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_agent_run",
      "description": "Read one compact Agent run with bounded goal, authorization scope, state transitions, tool metadata, evidence references, and approval decisions.",
      "method": "GET",
      "path": "/api/agent/runs/{runId}",
      "category": "agent-runtime",
      "inputSchema": {
        "type": "object",
        "properties": {
          "runId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160
          }
        },
        "required": [
          "runId"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "agent-run"
          },
          "status": {
            "type": "string"
          },
          "run": {
            "type": "object"
          },
          "nextStates": {
            "type": "array"
          },
          "nextAction": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {
        "authorization": "Use only where the operator is authorized to inspect this run.",
        "externalSideEffects": "None."
      },
      "tags": [
        "agent-runtime",
        "run",
        "evidence",
        "approval"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "create_agent_run",
      "description": "Create a compact restart-safe Agent run for an authorized public-site optimization goal; credentials, raw pages, prompts, and tool payloads are excluded.",
      "method": "POST",
      "path": "/api/agent/runs",
      "category": "agent-runtime",
      "inputSchema": {
        "type": "object",
        "properties": {
          "goal": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "skillId": {
            "type": "string",
            "maxLength": 120
          },
          "targetUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          },
          "authorizationScope": {
            "type": "string",
            "minLength": 1,
            "maxLength": 240
          },
          "allowedTools": {
            "type": "array",
            "maxItems": 20,
            "items": {
              "type": "string",
              "maxLength": 100
            }
          },
          "constraints": {
            "type": "object",
            "additionalProperties": false
          }
        },
        "required": [
          "goal",
          "authorizationScope"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "agent-run"
          },
          "status": {
            "type": "string"
          },
          "run": {
            "type": "object"
          },
          "nextStates": {
            "type": "array"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {
        "authorization": "The caller must declare seller authorization before creating a run.",
        "privateNetworkPolicy": "Target URLs are restricted to public targets.",
        "externalSideEffects": "Creates a compact local run snapshot only; it does not modify the seller site."
      },
      "tags": [
        "agent-runtime",
        "create",
        "authorization",
        "human-in-the-loop"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "advance_agent_run",
      "description": "Advance an Agent run through its bounded workflow with evidence and tool-call metadata; review-to-verify and promote-to-completed require explicit human approval.",
      "method": "POST",
      "path": "/api/agent/runs/{runId}/transitions",
      "category": "agent-runtime",
      "inputSchema": {
        "type": "object",
        "properties": {
          "toState": {
            "type": "string",
            "enum": [
              "intake",
              "discover",
              "baseline",
              "plan",
              "review",
              "verify",
              "promote",
              "completed",
              "stopped",
              "failed"
            ]
          },
          "reason": {
            "type": "string",
            "maxLength": 240
          },
          "toolCall": {
            "type": "object"
          },
          "evidenceRefs": {
            "type": "array",
            "maxItems": 10,
            "items": {
              "type": "object"
            }
          },
          "approval": {
            "type": "object"
          }
        },
        "required": [
          "toState"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "agent-run"
          },
          "status": {
            "type": "string"
          },
          "run": {
            "type": "object"
          },
          "nextStates": {
            "type": "array"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {
        "authorization": "The caller must be authorized for the run; human approval is required at declared gates.",
        "externalSideEffects": "Stores compact state metadata only. It never applies a storefront edit."
      },
      "tags": [
        "agent-runtime",
        "transition",
        "evidence",
        "approval-gate"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_internationalization_plan",
      "description": "Read the public multilingual storefront plan, supported locale entry points, reciprocal hreflang requirements, x-default URL, canonical rules, and open-source implementation candidates.",
      "method": "GET",
      "path": "/api/product/internationalization",
      "category": "international-seo",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "internationalization"
          },
          "status": {
            "type": "string"
          },
          "defaultLocale": {
            "type": "string"
          },
          "xDefaultUrl": {
            "type": "string"
          },
          "locales": {
            "type": "array"
          },
          "requirements": {
            "type": "array"
          },
          "openSourceCandidates": {
            "type": "array"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [
        {
          "input": {},
          "outputFocus": [
            "locales",
            "requirements",
            "openSourceCandidates",
            "nextAction"
          ]
        }
      ],
      "safety": {
        "externalSideEffects": "None. This is a read-only public product contract.",
        "authorization": "No private seller account is required."
      },
      "tags": [
        "internationalization",
        "hreflang",
        "x-default",
        "locale",
        "agent-callable"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "audit_public_storefront",
      "description": "Scan a seller-owned public storefront URL for SEO, indexing, performance signals, structured data, trust, social preview, AI discovery, and optimization tasks.",
      "method": "POST",
      "path": "/api/audit",
      "category": "scan",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "A public http or https storefront URL controlled by the seller."
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "overallScore": {
            "type": "number"
          },
          "summary": {
            "type": "object"
          },
          "scores": {
            "type": "array"
          },
          "topIssues": {
            "type": "array"
          },
          "optimizationTasks": {
            "type": "array"
          },
          "optimizationProposals": {
            "type": "object"
          },
          "scanHistoryEntry": {
            "type": "object"
          },
          "sellerToolIndexSummary": {
            "type": "object"
          },
          "sellerToolSearchIndexSummary": {
            "type": "object"
          },
          "sellerToolDirectorySummary": {
            "type": "object"
          },
          "toolPageRankingSummary": {
            "type": "object"
          },
          "longTailOpportunitiesSummary": {
            "type": "object"
          },
          "searchEngineIntakeSummary": {
            "type": "object"
          },
          "indexNowReadinessSummary": {
            "type": "object"
          },
          "indexNowChangeQueueSummary": {
            "type": "object"
          },
          "seoToolDirectorySummary": {
            "type": "object"
          },
          "seoStartingGateSummary": {
            "type": "object"
          },
          "seoFirstTwoWeeksSummary": {
            "type": "object"
          },
          "promotionChannelPlanSummary": {
            "type": "object"
          },
          "toolSiteOptimizationStackSummary": {
            "type": "object"
          },
          "publicTestEnvironmentSummary": {
            "type": "object"
          },
          "geoEvidenceHistorySummary": {
            "type": "object"
          },
          "conversionExperienceSummary": {
            "type": "object"
          },
          "aiToolManifestSummary": {
            "type": "object"
          }
        }
      },
      "examples": [
        {
          "input": {
            "url": "https://example.com"
          },
          "outputFocus": [
            "overallScore",
            "topIssues",
            "optimizationTasks",
            "openSourceSuggestions"
          ]
        }
      ],
      "safety": {
        "privateNetworkPolicy": "Rejects localhost, private IPs, and private-network DNS results for regular seller scans.",
        "authorization": "Use only for public URLs the seller owns or is authorized to evaluate."
      },
      "tags": [
        "seo",
        "storefront",
        "audit",
        "public-url"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "audit_structured_data",
      "description": "Validate one seller-authorized public page with Schema.org and Google Rich Results rules across JSON-LD, Microdata, and RDFa, then return field-level issues and reviewable rescan actions.",
      "method": "POST",
      "path": "/api/structured-data/audit",
      "category": "structured-data",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "A public storefront page URL controlled by the seller."
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "structured-data-audit"
          },
          "status": {
            "type": "string"
          },
          "targetUrl": {
            "type": "string"
          },
          "finalUrl": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "engine": {
            "type": "object"
          },
          "formats": {
            "type": "object"
          },
          "detectedTypes": {
            "type": "array"
          },
          "issues": {
            "type": "array"
          },
          "recommendations": {
            "type": "array"
          },
          "optimizationProposals": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [
        {
          "input": {
            "url": "https://example-store.com/products/running-shoes"
          },
          "outputFocus": [
            "summary",
            "engine",
            "detectedTypes",
            "issues",
            "recommendations",
            "optimizationProposals"
          ]
        }
      ],
      "safety": {
        "privateNetworkPolicy": "Rejects localhost, private IPs, and private-network DNS results.",
        "authorization": "Use only for a public page the seller owns or is authorized to evaluate.",
        "externalSideEffects": "None. The tool reads one public page and returns compact evidence; it never modifies the storefront or submits to Google."
      },
      "tags": [
        "structured-data",
        "schema",
        "json-ld",
        "rich-results",
        "geo",
        "agent-callable"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "audit_storefront_site_pages",
      "description": "Scan a bounded same-origin sample of sitemap pages, respect basic robots.txt rules, aggregate repeated SEO/performance/trust issues, and return page-level evidence plus optimization proposals.",
      "method": "POST",
      "path": "/api/audit/site",
      "category": "site-scan",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "A public storefront URL the seller owns or is authorized to evaluate."
          },
          "maxPages": {
            "type": "integer",
            "minimum": 1,
            "maximum": 12,
            "default": 5,
            "description": "Maximum same-origin sitemap pages to scan; defaults to 5."
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "site-audit"
          },
          "status": {
            "type": "string"
          },
          "targetUrl": {
            "type": "string"
          },
          "finalUrl": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "scores": {
            "type": "array"
          },
          "pages": {
            "type": "array"
          },
          "topIssues": {
            "type": "array"
          },
          "skipped": {
            "type": "array"
          },
          "optimizationProposals": {
            "type": "object"
          },
          "crawlBoundary": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [
        {
          "input": {
            "url": "https://example-store.com",
            "maxPages": 5
          },
          "outputFocus": [
            "summary",
            "pages",
            "topIssues",
            "optimizationProposals",
            "crawlBoundary"
          ]
        }
      ],
      "safety": {
        "privateNetworkPolicy": "Rejects localhost, private IPs, and private-network DNS results.",
        "authorization": "Use only for a public storefront the seller owns or is authorized to evaluate.",
        "crawlPolicy": "Scans only same-origin URLs discovered in sitemap.xml, applies basic User-agent:* robots rules, and enforces a maximum page count."
      },
      "tags": [
        "site-scan",
        "sitemap",
        "robots",
        "seo",
        "performance",
        "agent-callable"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "benchmark_public_competitors",
      "description": "Compare a seller-owned public storefront with up to three public competitor URLs using page health, metadata, structured data, technology clues, international signals, response timing, and bounded sitemap coverage.",
      "method": "POST",
      "path": "/api/competitor/benchmark",
      "category": "competitor-intelligence",
      "inputSchema": {
        "type": "object",
        "properties": {
          "targetUrl": {
            "type": "string",
            "format": "uri",
            "description": "The public storefront URL controlled by the seller."
          },
          "competitors": {
            "type": "array",
            "minItems": 1,
            "maxItems": 3,
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "One to three public competitor URLs for directional comparison."
          },
          "maxPages": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "default": 3,
            "description": "Maximum same-origin sitemap pages sampled per URL."
          }
        },
        "required": [
          "targetUrl",
          "competitors"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "competitor-benchmark"
          },
          "status": {
            "type": "string"
          },
          "target": {
            "type": "object"
          },
          "competitors": {
            "type": "array"
          },
          "comparisons": {
            "type": "array"
          },
          "summary": {
            "type": "object"
          },
          "recommendations": {
            "type": "array"
          },
          "quickChallenge": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [
        {
          "input": {
            "targetUrl": "https://example-store.com",
            "competitors": [
              "https://competitor-one.example",
              "https://competitor-two.example"
            ],
            "maxPages": 3
          },
          "outputFocus": [
            "summary",
            "comparisons",
            "recommendations",
            "dataBoundary"
          ]
        }
      ],
      "safety": {
        "privateNetworkPolicy": "Rejects localhost, private IPs, and domains resolving to private networks.",
        "authorization": "The target URL must be owned or authorized by the seller. Competitor URLs are read only from their public pages.",
        "crawlPolicy": "Scans only the supplied public URLs and bounded same-origin sitemap samples; maximum three competitors per request.",
        "noPaidMetricsClaim": "Does not infer traffic, backlinks, keyword volume, ad spend, or revenue without seller-imported licensed data."
      },
      "tags": [
        "competitor",
        "benchmark",
        "public-url",
        "technology-detection",
        "content-gap",
        "agent-callable"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "evaluate_geo_responses",
      "description": "Evaluate seller-supplied AI search responses for brand mentions, verified-claim coverage, and public source URL evidence without querying AI providers or claiming rankings.",
      "method": "POST",
      "path": "/api/geo/response-evaluation",
      "category": "ai-search-visibility",
      "inputSchema": {
        "type": "object",
        "properties": {
          "brand": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "The seller-approved brand name to look for in observed responses."
          },
          "expectedClaims": {
            "type": "array",
            "maxItems": 20,
            "items": {
              "type": "string",
              "maxLength": 240
            },
            "description": "Seller-verified phrases that should be checked for presence; matching does not prove factual accuracy."
          },
          "sourceUrls": {
            "type": "array",
            "maxItems": 8,
            "items": {
              "type": "string",
              "format": "uri"
            },
            "description": "Public source URLs or pages that the response may cite."
          },
          "recordEvidence": {
            "type": "boolean",
            "default": false,
            "description": "After reviewing the data boundary, persist only compact comparison evidence; raw prompts and responses are never stored."
          },
          "cases": {
            "type": "array",
            "minItems": 1,
            "maxItems": 20,
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string",
                  "maxLength": 80
                },
                "prompt": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "response": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 20000
                },
                "brand": {
                  "type": "string",
                  "maxLength": 120
                },
                "expectedClaims": {
                  "type": "array",
                  "maxItems": 20,
                  "items": {
                    "type": "string",
                    "maxLength": 240
                  }
                },
                "sourceUrls": {
                  "type": "array",
                  "maxItems": 8,
                  "items": {
                    "type": "string",
                    "format": "uri"
                  }
                }
              },
              "required": [
                "prompt",
                "response"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "brand",
          "cases"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "geo-response-evaluation"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "cases": {
            "type": "array"
          },
          "recommendations": {
            "type": "array"
          },
          "history": {
            "type": "object"
          },
          "geoEvidenceHistorySummary": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [
        {
          "input": {
            "brand": "SellerMind",
            "expectedClaims": [
              "public SEO and GEO tools",
              "MCP tool access"
            ],
            "sourceUrls": [
              "https://www.sellermind.asia/tools/"
            ],
            "cases": [
              {
                "provider": "manual",
                "prompt": "What tools help independent-store sellers with SEO?",
                "response": "SellerMind offers public SEO and GEO tools. See https://www.sellermind.asia/tools/"
              }
            ]
          },
          "outputFocus": [
            "summary",
            "cases",
            "recommendations",
            "dataBoundary"
          ]
        }
      ],
      "safety": {
        "authorization": "Import only AI prompts and responses the seller is authorized to review. Provider APIs and automated collection are intentionally deferred.",
        "noRankingClaim": "The evidence score is deterministic string and URL evidence, not AI search ranking, recommendation share, traffic, or factuality proof.",
        "externalSideEffects": "None. The endpoint analyzes the submitted payload and does not call AI providers or modify a storefront."
      },
      "tags": [
        "geo",
        "ai-search",
        "brand-visibility",
        "citations",
        "human-review",
        "agent-callable",
        "user-import"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_geo_evidence_history",
      "description": "Read compact GEO evidence history and same-prompt comparison records without exposing raw prompts or AI responses.",
      "method": "GET",
      "path": "/api/geo/evidence-history",
      "category": "ai-search-visibility",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "geo-evidence-history"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "records": {
            "type": "array"
          },
          "storage": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {
        "authorization": "Read-only compact evidence from evaluations explicitly recorded by the seller or operator.",
        "externalSideEffects": "None. The endpoint never calls an AI provider or returns raw prompt/response text."
      },
      "tags": [
        "geo",
        "history",
        "comparison",
        "evidence",
        "agent-discovery"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "audit_internal_links",
      "description": "Scan a bounded public same-origin sitemap sample, map internal anchors, find sample orphan candidates, and flag generic anchor text without modifying the storefront.",
      "method": "POST",
      "path": "/api/seo/internal-links",
      "category": "seo-architecture",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "A public HTTPS storefront URL the seller owns or is authorized to evaluate."
          },
          "maxPages": {
            "type": "integer",
            "minimum": 1,
            "maximum": 12,
            "default": 5,
            "description": "Maximum same-origin sitemap pages to fetch."
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "internal-link-audit"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "pages": {
            "type": "array"
          },
          "topTargets": {
            "type": "array"
          },
          "sampleOrphanCandidates": {
            "type": "array"
          },
          "weakTargets": {
            "type": "array"
          },
          "recommendations": {
            "type": "array"
          },
          "crawlBoundary": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [
        {
          "input": {
            "url": "https://example-store.com",
            "maxPages": 6
          },
          "outputFocus": [
            "summary",
            "topTargets",
            "sampleOrphanCandidates",
            "recommendations",
            "dataBoundary"
          ]
        }
      ],
      "safety": {
        "privateNetworkPolicy": "Rejects localhost, private IPs, and domains resolving to private networks; only same-origin sitemap pages are eligible after the public URL is accepted.",
        "authorization": "Use only for public storefront URLs the seller owns or is authorized to evaluate.",
        "sampleLimitation": "A sample orphan candidate is not proof that the page is globally orphaned; it only lacks an incoming link in the scanned sample.",
        "externalSideEffects": "None. The endpoint reads public HTML and does not modify the storefront."
      },
      "tags": [
        "seo",
        "internal-links",
        "orphan-pages",
        "anchor-text",
        "sitemap",
        "agent-callable"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "audit_link_integrity",
      "description": "Check a bounded set of public HTTP(S) anchors for reachable responses, broken links, client/server errors, network failures, and redirect chains without modifying the storefront.",
      "method": "POST",
      "path": "/api/seo/link-integrity",
      "category": "seo-architecture",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "A public HTTP or HTTPS storefront URL the seller owns or is authorized to evaluate."
          },
          "maxPages": {
            "type": "integer",
            "minimum": 1,
            "maximum": 12,
            "default": 5,
            "description": "Maximum same-origin sitemap pages to fetch."
          },
          "maxLinks": {
            "type": "integer",
            "minimum": 1,
            "maximum": 40,
            "default": 20,
            "description": "Maximum HTTP(S) anchor targets to check after deduplication."
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "link-integrity-audit"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "pages": {
            "type": "array"
          },
          "links": {
            "type": "array"
          },
          "brokenLinks": {
            "type": "array"
          },
          "redirectedLinks": {
            "type": "array"
          },
          "recommendations": {
            "type": "array"
          },
          "crawlBoundary": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [
        {
          "input": {
            "url": "https://example-store.com",
            "maxPages": 5,
            "maxLinks": 20
          },
          "outputFocus": [
            "summary",
            "brokenLinks",
            "redirectedLinks",
            "recommendations",
            "dataBoundary"
          ]
        }
      ],
      "safety": {
        "privateNetworkPolicy": "Rejects localhost, private IPs, and domains resolving to private networks, including redirect destinations.",
        "authorization": "Use only for public storefront URLs the seller owns or is authorized to evaluate.",
        "crawlPolicy": "Reads only same-origin sitemap pages, checks a bounded set of HTTP(S) anchors, and applies basic User-agent:* robots rules before page fetches.",
        "noFullCrawlClaim": "A broken or reachable result applies only to the checked public sample at scan time; it is not a site-wide guarantee."
      },
      "tags": [
        "seo",
        "links",
        "broken-links",
        "redirects",
        "sitemap",
        "agent-callable"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "analyze_conversion_experience",
      "description": "Summarize bounded tool-event volume, browser Web Vitals snapshots, and compact public scan guardrails into a reviewable conversion-experience evidence report without claiming unique-user conversion rates.",
      "method": "POST",
      "path": "/api/conversion/experience",
      "category": "conversion-experience",
      "inputSchema": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "maxItems": 250,
            "items": {
              "type": "object"
            },
            "description": "Optional bounded event entries. Only event names are counted in the output."
          },
          "summary": {
            "type": "object",
            "description": "Optional first-party analytics summary with an aggregated counts object."
          },
          "fieldExperience": {
            "type": "object",
            "description": "Optional browser TTFB, FCP, LCP, INP, and CLS snapshot; REST submissions retain only allowlisted compact values."
          },
          "scan": {
            "type": "object",
            "description": "Optional compact public scan summary with overallScore, responseTimeMs, topIssueCount, and scannedAt."
          },
          "before": {
            "type": "object",
            "description": "Optional prior evidence snapshot for directional before/after deltas."
          },
          "useStoredSnapshot": {
            "type": "boolean",
            "description": "REST/MCP option to read the latest bounded server-side browser snapshot and first-party event summary."
          }
        },
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string",
            "const": "conversion-experience-evidence"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "funnel": {
            "type": "array"
          },
          "eventCounts": {
            "type": "object"
          },
          "experience": {
            "type": "object"
          },
          "scan": {
            "type": [
              "object",
              "null"
            ]
          },
          "recommendations": {
            "type": "array"
          },
          "comparison": {
            "type": [
              "object",
              "null"
            ]
          },
          "persistence": {
            "type": "object",
            "description": "REST-only bounded snapshot storage summary."
          },
          "quickChallenge": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [
        {
          "input": {
            "summary": {
              "counts": {
                "page_view": 10,
                "audit_submit": 4,
                "report_generated": 3,
                "support_link_click": 1
              }
            },
            "fieldExperience": {
              "source": "browser-local",
              "lcpMs": 2100,
              "inpMs": 180,
              "cls": 0.04
            }
          },
          "outputFocus": [
            "summary",
            "funnel",
            "experience",
            "recommendations",
            "dataBoundary"
          ]
        }
      ],
      "safety": {
        "authorization": "Use only first-party event summaries and browser snapshots the seller is authorized to analyze. The endpoint does not connect to GA4, ad platforms, or private ecommerce accounts.",
        "noUniqueUserClaim": "Stage ratios are event-volume comparisons, not unique-user conversion rates, sessions, revenue, or attribution.",
        "externalSideEffects": "None. The endpoint analyzes supplied evidence and does not modify a storefront."
      },
      "tags": [
        "conversion",
        "funnel",
        "web-vitals",
        "privacy",
        "experiments",
        "agent-callable",
        "user-import"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "check_metadata_quality",
      "description": "Run a focused public-page metadata quality check for title, meta description, H1, canonical, Open Graph, and valid structured data, with machine-readable fixes.",
      "method": "POST",
      "path": "/api/metadata-quality",
      "category": "seo",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "A public HTTPS storefront or page URL the seller owns or is authorized to evaluate."
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "score": {
            "type": "number"
          },
          "targetUrl": {
            "type": "string"
          },
          "finalUrl": {
            "type": "string"
          },
          "relatedSeoScore": {
            "type": [
              "number",
              "null"
            ]
          },
          "checks": {
            "type": "array"
          },
          "failedChecks": {
            "type": "array"
          },
          "recommendations": {
            "type": "array"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [
        {
          "input": {
            "url": "https://example-store.com/products/running-shoes"
          },
          "outputFocus": [
            "score",
            "failedChecks",
            "recommendations",
            "relatedSeoScore"
          ]
        }
      ],
      "safety": {
        "privateNetworkPolicy": "Rejects localhost, private IPs, and private-network DNS results for regular seller scans.",
        "authorization": "Use only for public URLs the seller owns or is authorized to evaluate."
      },
      "tags": [
        "seo",
        "metadata",
        "title",
        "description",
        "structured-data",
        "agent-callable"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "analyze_search_opportunities",
      "description": "Analyze seller-authorized Google Search Console or Bing Webmaster query rows and return explainable low-CTR opportunities in the 11-30 average-position window.",
      "method": "POST",
      "path": "/api/seo/search-opportunities",
      "category": "seo-intelligence",
      "inputSchema": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string",
            "enum": [
              "gsc",
              "bing",
              "manual"
            ]
          },
          "site": {
            "type": "string",
            "format": "uri"
          },
          "minImpressions": {
            "type": "number",
            "default": 20
          },
          "minPosition": {
            "type": "number",
            "default": 11
          },
          "maxPosition": {
            "type": "number",
            "default": 30
          },
          "ctrThreshold": {
            "type": "number",
            "default": 0.03,
            "description": "CTR as a fraction or percentage number; 0.03 and 3 both mean 3%."
          },
          "rows": {
            "type": "array",
            "description": "GSC-style rows can use keys:[query,page]; normalized rows can use query/page plus clicks, impressions, ctr, and position.",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "rows"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "criteria": {
            "type": "object"
          },
          "summary": {
            "type": "object"
          },
          "opportunities": {
            "type": "array"
          },
          "quickChallenge": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [
        {
          "input": {
            "source": "gsc",
            "site": "https://example-store.com",
            "rows": [
              {
                "keys": [
                  "bulk image optimizer",
                  "https://example-store.com/tools/images"
                ],
                "clicks": 20,
                "impressions": 1000,
                "ctr": 0.02,
                "position": 14
              }
            ]
          },
          "outputFocus": [
            "criteria",
            "summary",
            "opportunities",
            "dataBoundary"
          ]
        }
      ],
      "safety": {
        "privateNetworkPolicy": "This endpoint does not fetch the supplied site or contact Google/Bing; it only analyzes caller-provided rows.",
        "authorization": "Import only search-performance rows the seller is authorized to use. OAuth/API connections are intentionally not included in this MVP."
      },
      "tags": [
        "seo",
        "gsc",
        "bing",
        "ctr",
        "long-tail",
        "agent-callable",
        "user-import"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "generate_optimization_proposals",
      "description": "Turn compact storefront scan evidence and seller-authorized search opportunities into reviewable edit drafts, guardrails, and rescan acceptance criteria without modifying the external site.",
      "method": "POST",
      "path": "/api/optimization/proposals",
      "category": "optimization-workbench",
      "inputSchema": {
        "type": "object",
        "properties": {
          "report": {
            "type": "object",
            "description": "A compact audit report or report fragment containing topIssues, pageSignals, and metadataQuality."
          },
          "page": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "format": "uri"
              },
              "title": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "h1": {
                "type": "string"
              },
              "canonical": {
                "type": "string",
                "format": "uri"
              },
              "primaryQuery": {
                "type": "string"
              },
              "brand": {
                "type": "string"
              },
              "pageType": {
                "type": "string"
              },
              "valueProps": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "cta": {
                "type": "string"
              }
            }
          },
          "issues": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "searchOpportunities": {
            "type": "array",
            "description": "Rows or the opportunities array returned by analyze_search_opportunities.",
            "items": {
              "type": "object"
            }
          },
          "site": {
            "type": "string",
            "format": "uri"
          },
          "targetUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contractType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "target": {
            "type": "object"
          },
          "summary": {
            "type": "object"
          },
          "proposals": {
            "type": "array"
          },
          "quickChallenge": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [
        {
          "input": {
            "page": {
              "url": "https://example-store.com/products/running-shoes",
              "title": "Running Shoes",
              "h1": "Running shoes",
              "primaryQuery": "running shoes for daily training",
              "valueProps": [
                "breathable upper",
                "30-day returns"
              ],
              "brand": "Example Store"
            },
            "issues": [
              {
                "severity": "medium",
                "area": "SEO",
                "title": "Title length is search-ready",
                "recommendation": "Rewrite the title to state the page topic and buyer value."
              }
            ]
          },
          "outputFocus": [
            "summary",
            "proposals",
            "validation",
            "guardrails",
            "dataBoundary"
          ]
        }
      ],
      "safety": {
        "privateNetworkPolicy": "This endpoint does not fetch or modify the supplied URL; it only transforms caller-provided compact evidence.",
        "authorization": "Use only scan evidence and search rows the seller is authorized to use. Every proposal is a human-reviewed draft and has no write capability.",
        "editPolicy": "Do not publish proposed values without replacing placeholders with verified seller facts and preserving a rollback value."
      },
      "tags": [
        "optimization",
        "edit-draft",
        "rescan",
        "human-review",
        "agent-callable"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "run_self_audit",
      "description": "Scan this product site's own current origin so the operator can improve the toolsite while turning repeated lessons into seller-facing tools.",
      "method": "POST",
      "path": "/api/self-audit",
      "category": "self-optimization",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "overallScore": {
            "type": "number"
          },
          "summary": {
            "type": "object"
          },
          "scores": {
            "type": "array"
          },
          "topIssues": {
            "type": "array"
          },
          "optimizationTasks": {
            "type": "array"
          },
          "optimizationProposals": {
            "type": "object"
          },
          "scanHistoryEntry": {
            "type": "object"
          },
          "sellerToolIndexSummary": {
            "type": "object"
          },
          "sellerToolSearchIndexSummary": {
            "type": "object"
          },
          "sellerToolDirectorySummary": {
            "type": "object"
          },
          "toolPageRankingSummary": {
            "type": "object"
          },
          "longTailOpportunitiesSummary": {
            "type": "object"
          },
          "searchEngineIntakeSummary": {
            "type": "object"
          },
          "indexNowReadinessSummary": {
            "type": "object"
          },
          "indexNowChangeQueueSummary": {
            "type": "object"
          },
          "seoToolDirectorySummary": {
            "type": "object"
          },
          "seoStartingGateSummary": {
            "type": "object"
          },
          "seoFirstTwoWeeksSummary": {
            "type": "object"
          },
          "promotionChannelPlanSummary": {
            "type": "object"
          },
          "toolSiteOptimizationStackSummary": {
            "type": "object"
          },
          "publicTestEnvironmentSummary": {
            "type": "object"
          },
          "geoEvidenceHistorySummary": {
            "type": "object"
          },
          "conversionExperienceSummary": {
            "type": "object"
          },
          "aiToolManifestSummary": {
            "type": "object"
          }
        }
      },
      "examples": [
        {
          "input": {},
          "outputFocus": [
            "scanHistoryEntry",
            "playbookMatches",
            "productizationSummary",
            "sellerToolSearchIndexSummary"
          ]
        }
      ],
      "safety": {
        "privateNetworkPolicy": "Only the current request origin is allowed as a private/local target.",
        "authorization": "Designed for the operator's own deployed or local product site."
      },
      "tags": [
        "self-audit",
        "optimization-loop",
        "productization"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_scan_history",
      "description": "Read compact restart-safe scan history and trend summaries for before/after optimization comparison.",
      "method": "GET",
      "path": "/api/scans/history",
      "category": "evidence",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          },
          "futureRuntime": {
            "type": "object"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "history",
        "comparison",
        "evidence"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_handoff_package",
      "description": "Fetch the latest seller optimization handoff object with latest scan, trend, comparison, tasks, rules, exports, and data boundary.",
      "method": "GET",
      "path": "/api/scans/package",
      "category": "handoff",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          },
          "futureRuntime": {
            "type": "object"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "handoff",
        "evidence",
        "agent-context"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_optimization_playbook",
      "description": "Fetch repeated scan findings promoted into reusable seller-facing optimization rules.",
      "method": "GET",
      "path": "/api/rules/playbook",
      "category": "rules",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          },
          "futureRuntime": {
            "type": "object"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "rules",
        "playbook",
        "validated-findings"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_experiment_queue",
      "description": "Fetch scan-driven optimization experiment candidates with hypothesis, proposed change, metrics, guardrails, and rescan verification.",
      "method": "GET",
      "path": "/api/experiments/queue",
      "category": "experiments",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          },
          "futureRuntime": {
            "type": "object"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "experiments",
        "hypothesis",
        "rescan"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_experiment_outcomes",
      "description": "Fetch outcome ledger entries that classify resolved issues, new risks, still-open work, and product decisions after repeated scans.",
      "method": "GET",
      "path": "/api/experiments/outcomes",
      "category": "experiments",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          },
          "futureRuntime": {
            "type": "object"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "outcomes",
        "resolved-issues",
        "product-decision"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_productization_backlog",
      "description": "Fetch product backlog items created from validated scan problems, candidate experiments, proven fixes, and risk review.",
      "method": "GET",
      "path": "/api/product/backlog",
      "category": "productization",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          },
          "futureRuntime": {
            "type": "object"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "backlog",
        "productization",
        "seller-tools"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_seller_tool_modules",
      "description": "Fetch seller-facing diagnostic, workflow, automation, and report modules generated from feature specs.",
      "method": "GET",
      "path": "/api/product/modules",
      "category": "tool-library",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          },
          "futureRuntime": {
            "type": "object"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "modules",
        "tool-library",
        "routes"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_tool_launch_checklist",
      "description": "Fetch launch-readiness checks for seller tool modules, including evidence, controls, inputs, outputs, acceptance criteria, and rescan verification.",
      "method": "GET",
      "path": "/api/product/launch-checklist",
      "category": "tool-library",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          },
          "futureRuntime": {
            "type": "object"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "launch",
        "quality",
        "verification"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_seller_tool_index",
      "description": "Fetch visible seller tool entries generated from launch-ready modules, with routes, actions, keywords, proof, and verification.",
      "method": "GET",
      "path": "/api/product/tool-index",
      "category": "tool-library",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          },
          "futureRuntime": {
            "type": "object"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "tool-index",
        "navigation",
        "seller-facing"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_seller_tool_search_index",
      "description": "Fetch a zero-dependency search index over seller tool entries for future site search and agent tool discovery.",
      "method": "GET",
      "path": "/api/product/tool-search-index",
      "category": "tool-library",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "indexType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "documents": {
            "type": "array"
          },
          "termIndex": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "search",
        "tool-index",
        "agent-discovery"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_seller_tool_directory",
      "description": "Fetch one directory that separates runnable SellerMind tools from official, paid, and open-source companion tools, with search facets and integration boundaries.",
      "method": "GET",
      "path": "/api/product/tool-directory",
      "category": "tool-library",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "directoryType": {
            "type": "string",
            "const": "seller-tool-directory"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "runnableTools": {
            "type": "array"
          },
          "curatedResources": {
            "type": "array"
          },
          "search": {
            "type": "object"
          },
          "exports": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {
        "authorization": "Read-only public product metadata and vetted external links; no private seller account data is accessed.",
        "externalSideEffects": "None. This endpoint only joins existing compact indexes."
      },
      "tags": [
        "tool-directory",
        "search",
        "open-source",
        "official-tools",
        "agent-discovery"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_tool_page_ranking_readiness",
      "description": "Fetch the tool-page ranking readiness diagnostic so future seller-facing tools combine searchable copy, runnable controls, examples, FAQ, internal links, and conversion action on one canonical URL.",
      "method": "GET",
      "path": "/api/product/tool-page-ranking",
      "category": "tool-library",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "diagnosticType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "checks": {
            "type": "array"
          },
          "pageTemplate": {
            "type": "array"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "tool-pages",
        "seo",
        "ranking-readiness",
        "canonical-url"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_long_tail_opportunities",
      "description": "Fetch long-tail tool page opportunities generated from tool metadata and search-index terms, including keyword, route, title, meta description, page requirements, and validation steps.",
      "method": "GET",
      "path": "/api/product/long-tail-opportunities",
      "category": "tool-library",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunityType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "opportunities": {
            "type": "array"
          },
          "termSeeds": {
            "type": "array"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "long-tail",
        "tool-pages",
        "seo",
        "gsc",
        "bing"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_search_engine_intake",
      "description": "Fetch the official search-engine intake plan for the current deployed domain, including sitemap/robots/llms URLs, Google Search Console, Bing Webmaster Tools, Yandex, IndexNow next actions, readiness checks, and data boundaries.",
      "method": "GET",
      "path": "/api/product/search-engine-intake",
      "category": "seo-intake",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "intakeType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "readinessChecks": {
            "type": "array"
          },
          "submissionTargets": {
            "type": "array"
          },
          "firstSubmissionRunbook": {
            "type": "array"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "search-engine-intake",
        "gsc",
        "bing",
        "indexnow",
        "sitemap",
        "seo-baseline"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_indexnow_readiness",
      "description": "Fetch the IndexNow readiness plan, including public key file location, prepared JSON payload, URL list, submit boundaries, and why automatic submission remains disabled until changed-URL detection exists.",
      "method": "GET",
      "path": "/api/product/indexnow-readiness",
      "category": "seo-intake",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "readinessType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "checks": {
            "type": "array"
          },
          "keyFile": {
            "type": "object"
          },
          "submission": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "indexnow",
        "search-engine-intake",
        "sitemap",
        "url-notification",
        "open-protocol"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_indexnow_change_queue",
      "description": "Compare the current public sitemap URL set with the last explicitly acknowledged snapshot and return a reviewable IndexNow queue without submitting anything automatically.",
      "method": "GET",
      "path": "/api/product/indexnow-change-queue",
      "category": "seo-intake",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "queueType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "readyToSubmit": {
            "type": "boolean"
          },
          "reason": {
            "type": "string"
          },
          "baseline": {
            "type": [
              "object",
              "null"
            ]
          },
          "current": {
            "type": "object"
          },
          "changes": {
            "type": "object"
          },
          "submission": {
            "type": "object"
          },
          "operatorAction": {
            "type": "object"
          },
          "guardrails": {
            "type": "array"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "indexnow",
        "changed-urls",
        "sitemap-diff",
        "human-review",
        "no-auto-submit"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "acknowledge_indexnow_snapshot",
      "description": "Explicitly persist the current public sitemap as an IndexNow comparison baseline after an operator review; this action never submits URLs to IndexNow.",
      "method": "POST",
      "path": "/api/product/indexnow-change-queue",
      "category": "seo-intake",
      "inputSchema": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "capture-baseline",
              "acknowledge-current"
            ],
            "description": "Use capture-baseline once before the first comparison, or acknowledge-current after reviewing the queue and any external submission."
          }
        },
        "required": [
          "action"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "queueType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "action": {
            "type": "string"
          },
          "snapshotCaptured": {
            "type": "boolean"
          },
          "snapshot": {
            "type": "object"
          },
          "submission": {
            "type": "object"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {
        "authorization": "Require explicit operator authorization before recording a new baseline; do not infer that a queue was submitted externally.",
        "externalSideEffects": "Writes only a compact public sitemap snapshot to the product data volume. It does not send network requests to search engines."
      },
      "tags": [
        "indexnow",
        "changed-urls",
        "sitemap-snapshot",
        "explicit-write",
        "no-auto-submit"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_seo_tool_directory",
      "description": "Fetch the curated SEO/GEO tool directory, including Google official tools, paid SaaS links, open-source alternatives, integration modes, and data boundaries.",
      "method": "GET",
      "path": "/api/product/seo-tool-directory",
      "category": "tool-library",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "directoryType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "tools": {
            "type": "array"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "seo-tools",
        "open-source",
        "tool-directory",
        "integration-plan"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_seo_first_two_weeks",
      "description": "Fetch the first-two-weeks SEO launch plan: crawl/indexing checks first, then product/problem/comparison keyword mapping and SERP intent matching.",
      "method": "GET",
      "path": "/api/product/seo-first-two-weeks",
      "category": "tool-library",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "planType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "weekOne": {
            "type": "object"
          },
          "weekTwo": {
            "type": "object"
          },
          "recommendedTools": {
            "type": "array"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "seo",
        "indexing",
        "keyword-map",
        "gsc",
        "lighthouse"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_seo_starting_gate",
      "description": "Fetch the first-step SEO starting gate: measurement baseline, Google visibility, buyer focus, seed keyword map, first-page standard, and open-source tooling options.",
      "method": "GET",
      "path": "/api/product/seo-starting-gate",
      "category": "tool-library",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "planType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "answer": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "gates": {
            "type": "array"
          },
          "recommendedTools": {
            "type": "array"
          },
          "openSourceOptions": {
            "type": "array"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "seo",
        "first-step",
        "gsc",
        "indexing",
        "keyword-map"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_promotion_channel_plan",
      "description": "Fetch the independent-site promotion channel plan covering organic search, Google Ads/Shopping, social content, influencer/affiliate/community, email retention, remarketing, attribution, and open-source tooling options.",
      "method": "GET",
      "path": "/api/product/promotion-channel-plan",
      "category": "growth",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "planType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "promotionLoop": {
            "type": "array"
          },
          "channels": {
            "type": "array"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "promotion",
        "channels",
        "ads",
        "social",
        "email",
        "attribution"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_tool_site_optimization_stack",
      "description": "Fetch the tool-site optimization stack covering data/keywords, official search tools, competitive SEO, technical performance, conversion experience, China/global tools, open-source alternatives, and data boundaries.",
      "method": "GET",
      "path": "/api/product/tool-site-optimization-stack",
      "category": "tool-library",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "stackType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "principle": {
            "type": "string"
          },
          "pillars": {
            "type": "array"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "tool-site",
        "seo-tools",
        "baidu",
        "google",
        "performance",
        "conversion"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_public_test_environment_deployment",
      "description": "Fetch the public overseas test environment deployment plan with target IP/domain metadata, required ports, IP-only HTTP smoke-test mode, domain HTTPS mode, Docker/Caddy commands, blockers, and verification steps.",
      "method": "GET",
      "path": "/api/product/public-test-environment",
      "category": "deployment",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "planType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "target": {
            "type": "object"
          },
          "summary": {
            "type": "object"
          },
          "quickChallenge": {
            "type": "object"
          },
          "blockers": {
            "type": "array"
          },
          "modes": {
            "type": "array"
          },
          "bootstrapChecklist": {
            "type": "array"
          },
          "dataBoundary": {
            "type": "string"
          }
        }
      },
      "examples": [],
      "safety": {},
      "tags": [
        "deployment",
        "vps",
        "caddy",
        "docker",
        "public-test",
        "self-audit"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    },
    {
      "name": "read_openapi_contract",
      "description": "Fetch the standard OpenAPI 3.1 document generated from the current SellerMind AI tool contracts.",
      "method": "GET",
      "path": "/api/openapi.json",
      "category": "contracts",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "openapi": {
            "type": "string",
            "const": "3.1.0"
          },
          "info": {
            "type": "object"
          },
          "servers": {
            "type": "array"
          },
          "paths": {
            "type": "object"
          },
          "externalDocs": {
            "type": "object"
          }
        }
      },
      "examples": [],
      "safety": {
        "authorization": "The document exposes public endpoint contracts only; call each endpoint according to its operation-level safety and data boundary.",
        "privateNetworkPolicy": "The document itself does not fetch or expose private network data."
      },
      "tags": [
        "openapi",
        "contracts",
        "agent-callable"
      ],
      "dataBoundary": "Only compact public-page scan summaries, product metadata, rule metadata, and endpoint contracts are exposed. The tool contract does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
    }
  ],
  "futureRuntime": {
    "modelContextProtocol": {
      "name": "Model Context Protocol",
      "source": "https://modelcontextprotocol.io/",
      "status": "active-minimal-http",
      "endpoint": "/mcp",
      "fit": "Expose the bounded audit, directory, search-opportunity, self-audit, and proposal workflows through the official Streamable HTTP server SDK."
    },
    "openApi": {
      "name": "OpenAPI",
      "source": "https://www.openapis.org/",
      "fit": "Publish the current HTTP tool contracts as a standard machine-readable contract for agents, SDK generators, and API clients."
    },
    "jsonSchema": {
      "name": "JSON Schema",
      "source": "https://json-schema.org/",
      "fit": "Use now as the lightweight shape for tool input and output contracts."
    },
    "llmsTxt": {
      "name": "llms.txt",
      "source": "https://github.com/AnswerDotAI/llms-txt",
      "fit": "Use alongside the manifest so AI tools can discover the product purpose, public URLs, policies, and tool contracts."
    }
  },
  "exports": {
    "toolManifest": "/api/ai/tools",
    "openApi": "/api/openapi.json",
    "llmsTxt": "/llms.txt",
    "toolSearchIndex": "/api/product/tool-search-index",
    "mcp": "/mcp"
  },
  "dataBoundary": "The manifest describes callable public/self product tools and compact contracts only. It does not include page HTML, extracted full text, uploaded images, cookies, user identifiers, or private ecommerce platform data."
}