Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

ai.spideriq/publish

NPM · @SPIDERIQ/MCP-PUBLISH · SCANNED AUG 3

SpiderIQ Publish: content platform MCP (pages, posts, templates, components, domains, media)

+13 this week 48 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security70
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects sharp 0.33.5, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (131 of 135), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency19
  • Repository check failed: the declared repository URL returned HTTP 404. See how to fix → View diagnostics → Fail
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 7 days ago).Pass
  • Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability27
  • AI-judged instruction clarity (poor).Fail
  • Context-footprint check failed: tool/resource definitions use about 36639 tokens (~234/item across 156 items; 156 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage91
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 72% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @spideriq/mcp-publish

# add to Claude Code
claude mcp add ai-spideriq-publish -- npx -y @spideriq/mcp-publish
# add to Codex CLI
codex mcp add ai-spideriq-publish -- npx -y @spideriq/mcp-publish
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-spideriq-publish": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@spideriq/mcp-publish"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ai-spideriq-publish --command npx --arg -y --arg @spideriq/mcp-publish
# ~/.hermes/config.yaml
mcp_servers:
  ai-spideriq-publish:
    command: "npx"
    args: ["-y", "@spideriq/mcp-publish"]
// mcp.json
{
  "mcpServers": {
    "ai-spideriq-publish": {
      "command": "npx",
      "args": [
        "-y",
        "@spideriq/mcp-publish"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +36
    • GHSA-f88m-g3jw-g9cj affects this package: high security
    • Provenance: unverified → fail security
    • Known CVEs: unverified → fail security
    • Install scripts: unverified → pass security
    • Malware scan: unverified → pass security
    • License: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • Stability: unverified → 0.23 functional
    • Schema quality: unverified → poor functional
    • Licence: MIT functional
  • 1 Aug 26 −23
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +17
    • Tool coverage: unverified → 100 functional
  • 28 Jul 26 −17
    • Tool coverage: 100 → unverified functional
    • First check of Schema quality: unverified functional
  • 27 Jul 26 35

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/@spideriq/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-f88m-g3jw-g9cj high yes
Dependencies 131 packages

131 packages in the resolved dependency tree · 130 deprecated · 29 stale · 2 without a linked repository.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 156 exposed · ~36,639 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
content_get_page_template ~185

Fetch a single page template by slug. Public read — no auth required. Returns the full detail including the ONE source page that gets cloned on apply, its components, and any settings keys. Use this to preview a template before calling content_apply_page_template. (A page template is a content_site_templates row, so this resolves the same endpoint as content_get_site_template.)

NameTypeReqDescription
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
slugstringyesPage template slug (e.g. "opt-in-minimal", "vsl-classic").
workspacestringWorkspace name (default: "default").

No output schema declared.

No examples provided.

content_get_page_version ~145

Fetch a single page version snapshot in full (includes the historical `blocks` body). Use when you need to diff a candidate restore against the current page before calling content_restore_page_version.

NameTypeReqDescription
page_idstringyesPage ID (UUID).
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
version_numbernumberyes1-indexed version number from content_list_page_versions.
workspacestring

No output schema declared.

No examples provided.

content_get_playbook ~271

Look up the canonical tool-sequence for a stated goal. No intent → returns the index of all available playbooks (task keys + when-to-use summaries). Intent = exact task key (e.g. "build_a_directory") → returns the full recipe. Intent = natural language (e.g. "build a directory") → fuzzy-matches against task keys + when-text, returns up to 3 best matches ranked by score. This is the fastest way for a fresh agent to find the right tool chain for a given goal without scanning the full /content/help (~50 KB). Each recipe names the exact tools to call, common variants, and anti-patterns.

NameTypeReqDescription
formatstringyaml | json (default yaml — cheaper to parse for this shape)
intentstringGoal in natural language (e.g. "publish a blog post", "build a scroll hero") OR exact task key. Omit to get the index.
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_get_post ~102

Get a blog post by ID (includes body, tags, author, status).

NameTypeReqDescription
post_idstringyesPost ID
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_get_section_source ~322

Get the current Liquid source for a named section (header, footer, hero, etc.). Param-name compatibility (templates.ts duplicate merged here 2026-05-20): - Canonical: { section_slug } - Legacy: { section } When to use this instead of template_get: - You want to see "what Liquid is this client currently rendering for the header?" - You want to check whether an override exists for a section before writing one - You want to copy the current source as a starting point for modification Returns: - If client has an override: returns the override source with origin="client_override" - If client has no override: returns origin="theme_default" with instructions. The bundled theme default source itself lives in the public starter kit, not the API — see SpiderIQ/SpiderPublish repo.

NameTypeReqDescription
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
sectionstringLegacy alias for section_slug (templates.ts duplicate compat). Pass either one.
section_slugstringCanonical section identifier — common values: "header", "footer", "hero". Special: "blog-listing", "blog-post", "layout", "head". No .liquid suffix.
workspacestringWorkspace name (default: "default").

No output schema declared.

No examples provided.

content_get_settings ~93

Get your brand's content settings (site name, SEO defaults, analytics, colors).

NameTypeReqDescription
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_get_site_template ~162

Fetch a single site template by slug. Public read — no auth required. Returns the full template detail including the list of pages, components, nav locations, and settings keys that would be cloned on apply. Use this to preview the impact before calling content_apply_site_template.

NameTypeReqDescription
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
slugstringyesTemplate slug (e.g. "saas-landing", "restaurant-menu").
workspacestringWorkspace name (default: "default").

No output schema declared.

No examples provided.

content_get_variables ~207

**START HERE for personalized landing pages.** Returns the full merge-tag vocabulary ({{firstname}}, {{company_name}}, {{city}}, {{industry}}, {{logo}}, {{email}}, ~40 tokens total) for dynamic-landing templates — Mailchimp-style flat tags every LLM already knows. Includes plain-English descriptions, realistic example values from the Mario's Pizzeria demo fixture, and selection rules (e.g. how `{{ email }}` picks the best verified address). Works without auth. Fetch once at session start — you'll know every variable you can drop into a Liquid template.

NameTypeReqDescription
formatstringResponse format (default: yaml — token-efficient)
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_import_markdown ~446

Import a doc OR page from a Markdown body — the universal Markdown→content bridge. target='doc' parses Markdown into a Tiptap doc body; target='page' parses prose runs into rich_text blocks. `:::component{slug=… version=… props={…}}` directives become embedded components (the MDX unlock). Create a NEW item (omit the id, pass slug + title) or REPLACE an existing one's body/blocks (pass doc_id for a doc / page_id for a page). The Phase 11+12 gate is opt-in via dry_run/confirm_token and applies on the REPLACE path (omit both ⇒ immediate). Round-trips with content_export_markdown. Markdown is capped at 256 KB.

NameTypeReqDescription
confirm_tokenstringToken from a prior dry_run call. Single-use, 7d TTL.
doc_idstringExisting doc to replace (target='doc'); omit to create.
dry_runbooleanPreview the change without mutating and receive a confirm_token. When omitted, the change is applied immediately (legacy behaviour preserved).
markdownstringyesMarkdown source (≤256 KB). `:::component{...}` directives are preserved.
page_idstringExisting page to replace blocks on (target='page'); omit to create.
parent_idstringParent doc/page id (nesting on create; doc re-path on update).
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
slugstringFlat slug — required when creating, ignored when updating (slug is immutable).
targetstringyesWhat to create/update from the Markdown.
templatestringPage template (target='page' create only; default 'default').
titlestringRequired when creating; updates the title when set on an existing item.
workspacestring

No output schema declared.

No examples provided.

content_import_openapi ~376

Generate a full API-reference docs section from ANY OpenAPI 3.x or Swagger 2.0 spec (the flagship 'docs as a product' feature — Stripe/ReadMe/Mintlify-tier). Provide EXACTLY ONE of source_url (fetched server-side, SSRF-safe) or spec_content (pasted JSON/YAML). Creates one doc page per tag under the `section` slug (default 'api-reference'), each endpoint with method/path/params/schemas and auto multi-language code samples (curl/Python/JS/Go) in a `:::codegroup` block. Re-import is IDEMPOTENT — the importer owns the section subtree (upserts tag pages, archives removed ones). Use dry_run=true to preview the planned section + pages without writing. Docs are created as drafts unless publish=true.

NameTypeReqDescription
dry_runbooleanPreview the planned section + pages without writing anything.
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
publishbooleanPublish the generated docs immediately (default false → created as drafts for review).
sectionstringSlug of the docs section to generate under (default 'api-reference'). Importer-owned subtree.
source_urlstringHTTPS/HTTP URL of the OpenAPI/Swagger spec (fetched SSRF-safely). Provide this OR spec_content.
spec_contentstringRaw spec text (JSON or YAML) — alternative to source_url.
spec_formatstringSpec body format (default 'auto').
workspacestring

No output schema declared.

No examples provided.

content_list_authors ~84

List your brand's blog authors.

NameTypeReqDescription
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_list_categories ~86

List your brand's blog categories (supports hierarchy).

NameTypeReqDescription
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_list_cdn_allowlist ~113

List available CDN libraries for component dependencies (Tier 3). Returns keys, names, URLs, categories. Use these keys in the dependencies array when creating/updating components.

NameTypeReqDescription
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_list_component_versions ~95

List all versions of a component by slug.

NameTypeReqDescription
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
slugstringyesComponent slug
workspacestring

No output schema declared.

No examples provided.

content_list_components ~131

List UI components (reusable blocks with Shadow DOM isolation).

NameTypeReqDescription
categorystringFilter by category
include_globalbooleanInclude global (system) components
limitnumberMax results
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
statusstringFilter by status
workspacestring

No output schema declared.

No examples provided.

content_list_docs ~164

List your brand's docs as a FLAT list (metadata only — no body). Complements content_docs_tree (which returns the hierarchy). Use this to discover a doc's UUID by title/status before fetching or mutating it via content_get_doc. Each item carries id, slug, full_path, title, status, parent_id, is_section, sort_order, seo_*, timestamps.

NameTypeReqDescription
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
statusstringFilter by status.
workspacestring

No output schema declared.

No examples provided.

content_list_domains ~87

List custom domains configured for your brand's content site.

NameTypeReqDescription
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_list_marketplace_bg_videos ~237

Browse the curated background-video library — 12 short looping clips across 6 categories. Public read, no auth. When to use: - Picking a clip for a hero-video-bg or sys-bg-video block - Surfacing the catalog on a dashboard "browse bg videos" page Categories: nature | city | abstract | food | tech | people Each result carries: slug, name, description, r2_url, poster_url, duration_seconds, loop_seconds, category, tags, is_featured.

NameTypeReqDescription
categorystringnature | city | abstract | food | tech | people
is_featuredboolean
limitinteger
offsetinteger
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
tagstring
workspacestringWorkspace name (default: "default").

No output schema declared.

No examples provided.

content_list_marketplace_components ~471

Browse the SpiderIQ section library — ready-to-insert sections grouped by category. Public read, no auth. When to use: - Filling out an existing page that needs a hero / pricing / FAQ block - Adding a sign-in / forgot-password / reset-password page (category=authentication) - Picking the right component shape before calling page_insert_section - Surfacing the gallery on a dashboard "browse sections" page Categories (use `category` filter): hero, features, pricing, social-proof, content, forms, team, footer, header, cta, faq, authentication The `authentication` category holds 3 designable sign-in bricks (spideriq/auth-login, spideriq/auth-forgot-password, spideriq/auth-reset-password), each rendering a <spideriq-auth> custom element (CLOSED shadow DOM). Their props REQUIRE `auth_target` ("dashboard" = sign into the SpiderIQ dashboard; "site_members" = the tenant's own members). These are a designable shell + integration contract — the real auth backends are wired by Login Initiatives B/C; until then submit degrades gracefully. See the content/help `build_a_login_page` task recipe for the full flow. Each result carries: - slug + name + version (use slug + version for page_insert_section) - props_schema + default_props (validate before insert) - preview_thumbnail_url (designer-curated card art, R2) - marketplace_category + marketplace_featured + marketplace_description

NameTypeReqDescription
categorystringhero | features | pricing | social-proof | content | forms | team | footer | header | cta | faq | authentication
is_featuredbooleanSurface featured-only sections.
limitintegerDefault 100.
offsetinteger
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
tagstringFilter to components whose tags array contains this tag.
workspacestringWorkspace name (default: "default").

No output schema declared.

No examples provided.

content_list_page_templates ~390

List SpiderIQ-curated SINGLE-PAGE templates (the Page Template catalog). Public read — no auth required. When to use: - An agent or client needs a landing page, opt-in, thank-you, VSL, webinar, sales, coming-soon, 404, or pricing page and wants a proven starting point - ALWAYS prefer this over generating a page from scratch — clone-and-adapt is faster and more reliable than authoring Liquid blind ("adapt, don't generate") Each template carries: - slug (clone with content_apply_page_template) - name + description + industry + use_case + tags - preview_url (live preview) + preview_thumbnail_url (R2 screenshot) - source_page_slugs[] — exactly ONE page (that's what makes it a page template) - applied_count (popularity) This is the same catalog as content_list_site_templates, narrowed to is_single_page=true. Use content_list_site_templates for WHOLE-SITE starter kits (multi-page).

NameTypeReqDescription
industrystringsaas | agency | restaurant | ecommerce | portfolio | local-service | blog | event | landing
is_featuredbooleanFilter to is_featured templates only.
limitintegerDefault 50.
offsetinteger
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
tagstringFilter to templates whose tags array contains this tag.
use_casestringopt-in | thank-you | vsl | webinar | sales | pricing | coming-soon | 404
workspacestringWorkspace name (default: "default").

No output schema declared.

No examples provided.

content_list_page_versions ~159

List version snapshots for a page (newest first). Each version is created on publish + on restore — use this as the canonical "history" before content_restore_page_version. Returns metadata only (block_count, blocks_size, change_summary, created_at, changed_by); the heavy `blocks` payload is fetched lazily via content_get_page_version.

NameTypeReqDescription
page_idstringyesPage ID (UUID).
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_list_pages ~105

List your brand's content pages (including drafts).

NameTypeReqDescription
limitnumberMax results
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
statusstringFilter by status
workspacestring

No output schema declared.

No examples provided.

content_list_posts ~110

List your brand's blog posts.

NameTypeReqDescription
limitnumber
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
statusstringFilter by status
tagstringFilter by tag
workspacestring

No output schema declared.

No examples provided.

content_list_site_templates ~341

List SpiderIQ-curated site templates. Public read — no auth required. When to use: - Client wants to see what starter sites are available before committing - Filtering for a specific industry (saas, agency, restaurant, ecommerce, portfolio, local-service, blog, event, landing) or use case (marketing, docs, blog, directory, personal) - Surfacing the featured set on a dashboard "browse templates" page Each template carries: - slug (apply with content_apply_site_template) - name + description + industry + use_case + tags - preview_url (live preview at preview-XXX.sites.spideriq.ai) - preview_thumbnail_url (R2-hosted hero screenshot) - source_page_slugs[] (which pages get cloned on apply) - applied_count (popularity)

NameTypeReqDescription
industrystringsaas | agency | restaurant | ecommerce | portfolio | local-service | blog | event | landing
is_featuredbooleanFilter to is_featured templates only.
limitintegerDefault 50.
offsetinteger
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
tagstringFilter to templates whose tags array contains this tag.
use_casestringmarketing | docs | blog | directory | personal
workspacestringWorkspace name (default: "default").

No output schema declared.

No examples provided.

content_list_tags ~87

List your brand's blog tags (includes post count).

NameTypeReqDescription
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_lock_page ~179

Lock a content page against further edits. Use when handing the page off for client review or scheduled launch. Idempotent — re-locking refreshes the reason. Other agents and dashboard users will receive 423 Locked on every mutation until you (or a super_admin) call content_unlock_page.

NameTypeReqDescription
page_idstringyesPage ID (UUID).
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
reasonstringWhy the page is being locked. Surfaced in 423 Locked responses so the next agent knows whether to back off or override.
workspacestring

No output schema declared.

No examples provided.

content_override_section ~579

Override a site section (header, footer, hero, sidebar, etc.) — or the blog listing / single-post templates — for this client. Param-name compatibility (the older templates.ts duplicate of this tool was merged here 2026-05-20 — both naming conventions work): - Canonical: { section_slug, liquid_source } - Legacy: { section, liquid } Pass either pair. If both are supplied, the canonical names win. When to use this instead of template_upsert: - You want to customize the header, footer, blog listing, or another named section just for this client - You have Liquid source and know the section slug - You don't want to touch layouts or individual page templates Section slugs are the filename (without .liquid) under themes/default/sections/ — the common ones are "header", "footer", "hero". The tool writes to sections/{slug}.liquid in the client's template override KV. Special slugs that target top-level templates instead of sections/: "blog-listing" → templates/blog.liquid (the /blog index) "blog-post" → templates/blog-post.liquid (single /blog/{slug} pages) "layout" → layout/theme.liquid (the outer HTML shell) "head" → snippets/head.liquid (the <head> contents) There is no "dm-blog-listing" or other branded blog component — the blog UI is template-based, not block-based. Use this tool (or template_upsert) to restyle it; do NOT try to PATCH a content_components row for the blog. Use content_get_section_source(slug) first if you want to see the current override or know whether one exists.

NameTypeReqDescription
liquidstringLegacy alias for liquid_source (templates.ts duplicate compat). Pass either one.
liquid_sourcestringCanonical: full Liquid template source for the section. Will overwrite any existing override for this slug.
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
sectionstringLegacy alias for section_slug (templates.ts duplicate compat). Pass either one.
section_slugstringCanonical section identifier — common values: "header", "footer", "hero". Special: "blog-listing", "blog-post", "layout", "head". No .liquid suffix.
themestringTheme name (default: "default"). Usually leave as default.
workspacestringWorkspace name (default: "default").

No output schema declared.

No examples provided.

content_publish_component ~172

Publish a draft component (makes it available for use in page blocks). Phase 11+12: defaults to dry_run=true — review the preview and call again with confirm_token.

NameTypeReqDescription
component_idstringyesComponent ID
confirm_tokenstringToken from a prior dry_run call. Single-use, 7d TTL.
dry_runbooleanPreview the change without mutating. Defaults to true — call again with confirm_token to actually mutate.
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_publish_doc ~168

Publish a draft doc (status → published). Phase 11+12: defaults to dry_run=true — review the preview and call again with confirm_token to actually publish.

NameTypeReqDescription
confirm_tokenstringToken from a prior dry_run call. Single-use, 7d TTL.
doc_idstringyes
dry_runbooleanPreview the change without mutating. Defaults to true — call again with confirm_token to actually mutate.
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_publish_page ~169

Publish a draft page (creates a version snapshot). Phase 11+12: defaults to dry_run=true — review the preview and call again with confirm_token to actually publish.

NameTypeReqDescription
confirm_tokenstringToken from a prior dry_run call. Single-use, 7d TTL.
dry_runbooleanPreview the change without mutating. Defaults to true — call again with confirm_token to actually mutate.
page_idstringyes
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_publish_post ~89

Publish a blog post.

NameTypeReqDescription
post_idstringyes
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_rebuild_component ~112

Trigger a rebuild of a framework component (Tier 4). Returns 202 — poll with content_get_build_status.

NameTypeReqDescription
component_idstringyesComponent ID
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestringWorkspace name

No output schema declared.

No examples provided.

content_restore_page_version ~262

Restore a page to a historical version snapshot. Phase 11+12 gated: defaults to dry_run=true — review the preview (which lists snapshot_block_count vs current_block_count + snapshot_created_at) and call again with confirm_token to actually restore. The restored page becomes draft; a new version row is appended recording the restore. Returns 423 Locked when the page is locked — pass force=true (super_admin / brand_admin only) to override.

NameTypeReqDescription
confirm_tokenstringToken from a prior dry_run call. Single-use, 7d TTL.
dry_runbooleanPreview the change without mutating. Defaults to true — call again with confirm_token to actually mutate.
forcebooleanBypass page lock (super_admin / brand_admin only).
page_idstringyesPage ID (UUID).
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
version_numbernumberyes1-indexed version to restore.
workspacestring

No output schema declared.

No examples provided.

content_search_posts ~106

Search published posts by keyword (public, no auth needed).

NameTypeReqDescription
limitnumberMax results
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
querystringyesSearch query
workspacestring

No output schema declared.

No examples provided.

content_set_primary_domain ~102

Set a verified domain as the primary domain for your content site.

NameTypeReqDescription
domainstringyesDomain to set as primary
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_unlock_page ~176

Unlock a content page. Default: only the actor who originally locked it can unlock. Pass force=true (super_admin or brand_admin only) to override regardless of who holds the lock. Returns 403 with `not_lock_holder` if the caller is not the lock-holder and force is not set.

NameTypeReqDescription
forcebooleanOverride the lock-holder check (super_admin / brand_admin only). Use when the original lock-holder is unavailable.
page_idstringyesPage ID (UUID).
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_unpublish_doc ~169

Revert a published doc to draft. Phase 11+12: defaults to dry_run=true — review the preview and call again with confirm_token to actually unpublish.

NameTypeReqDescription
confirm_tokenstringToken from a prior dry_run call. Single-use, 7d TTL.
doc_idstringyes
dry_runbooleanPreview the change without mutating. Defaults to true — call again with confirm_token to actually mutate.
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_unpublish_page ~169

Revert a published page to draft. Phase 11+12: defaults to dry_run=true — review the preview and call again with confirm_token to actually unpublish.

NameTypeReqDescription
confirm_tokenstringToken from a prior dry_run call. Single-use, 7d TTL.
dry_runbooleanPreview the change without mutating. Defaults to true — call again with confirm_token to actually mutate.
page_idstringyes
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_unpublish_post ~95

Revert a published post to draft.

NameTypeReqDescription
post_idstringyesPost ID
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_update_author ~157

Update an author profile.

NameTypeReqDescription
agent_typestring
author_idstringyesAuthor ID
avatar_urlstring
biostring
citystring
countrystring
emailstring
full_namestring
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
rolestring
slugstring
workspacestring

No output schema declared.

No examples provided.

content_update_category ~131

Update a blog category.

NameTypeReqDescription
category_idstringyesCategory ID
descriptionstring
namestring
parent_idstringParent category ID
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
slugstring
sort_ordernumber
workspacestring

No output schema declared.

No examples provided.

content_update_component ~1,146

Update a UI component (template, CSS, JS, props schema, metadata). Use this to upgrade an existing component to a Phase A 4-class taxonomy entry — pass `kind` + (when kind != 'static') `js_runtime`. PATCH semantics: cross-field invariants (kind+block_type pairing for kind='dynamic', extension_spec required for kind='extension') are validated by the DB CHECK constraints in migration 174 — backend returns 400 with the constraint name if the patched row would violate them. Use the universal axes (mood / palette / brand_fit_tags / scene_type) to backfill agent-discovery metadata on rows authored before the marketplace search shipped.

NameTypeReqDescription
agent_metaobjectPhase A agent-discovery metadata. Validated by `ComponentAgentMeta` (Pydantic `extra='forbid'`). Shape: { interaction_pattern?: enum, trigger_kind?: enum, intent?: string, audience_tags?: string[] }.…
authoring_hintsobjectP5 — replace component-author-written rules surfaced via the _rules envelope. Pass {} to clear. Shape: {preferred_path?: string, common_mistakes?: string[], must_set?: string[], must_not_set?: string…
block_typestringGeneric block shape — REQUIRED when kind='dynamic', MUST be NULL otherwise (DB CHECK constraint chk_components_kind via migration 174). Drives the editor's block-shape picker.
brand_fit_tagsarrayUniversal axis — multi-value industry vertical fit. Drives marketplace cross-filter.
categorystring
component_idstringyesComponent ID
confirm_tokenstringToken from a prior dry_run call. Single-use, 7d TTL.
cssstringComponent CSS
default_propsobject
dependenciesarrayCDN library keys (Tier 3). Use content_list_cdn_allowlist for available keys. When adding deps to a component without a `kind`, also patch `kind`/`js_runtime` in the same PATCH to avoid the latent-Ti…
descriptionstring
dry_runbooleanPreview the change without mutating and receive a confirm_token. When omitted, the change is applied immediately (legacy behaviour preserved).
frameworkstringFramework for Tier 4 app components
html_templatestringLiquid HTML template
jsstringVanilla JS scoped to shadow root (Tier 2)
js_runtimestringJavaScript runtime pattern — REQUIRED for kind ∈ {interactive, dynamic, extension}, MUST be NULL when kind='static'. vanilla — inline <script> blocks; no module bundling. web-component — C…
kindstringBehavioural class (Phase A 4-class taxonomy). DEFAULTS TO NULL — components without a kind are flagged 'latent Tier 3' by the page auditor and excluded from marketplace_search. static — prop…
moodarrayUniversal axis — multi-value mood tags for marketplace discovery (Phase A agent-discovery).
namestring
palettearrayUniversal axis — open vocabulary palette tokens (e.g. "warm-neutrals", "monochrome", "neon-cyan-magenta"). Max 12.
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
props_schemaobjectJSON Schema for props
scene_typestringUniversal axis — single-value scene/intent. Component-scoped values listed; cross-asset values live on bg-videos / site-templates.
source_codestringFramework source code (JSX/Vue SFC/Svelte)
sourcesarrayLive Data — the data source(s) this component binds to. REQUIRED (non-empty) when kind='dynamic' (backend 422 via chk_components_kind). At render the server fetches each source and exposes the result…
tagsarray
thumbnail_urlstring
workspacestring

No output schema declared.

No examples provided.

content_update_doc ~344

Update a documentation page (title, body, SEO, hierarchy). Slug is immutable — to re-path a doc, change its `parent_id` (full_path is recomputed for the doc + its whole subtree). Moving a doc under one of its own descendants is rejected (cycle → 400). Phase 11+12 gate is opt-in via dry_run/confirm_token (omit both ⇒ immediate update).

NameTypeReqDescription
bodyobjectDoc body (Tiptap JSON document). body_text (full-text search) is kept in sync automatically.
confirm_tokenstringToken from a prior dry_run call. Single-use, 7d TTL.
doc_idstringyesDoc UUID.
dry_runbooleanPreview the change without mutating and receive a confirm_token. When omitted, the change is applied immediately (legacy behaviour preserved).
is_sectionbooleanWhether this doc is a section header (groups children, no own page).
parent_idstringMove the doc under a new parent (rebuilds full_path for the doc + descendants). Pass null/omit to leave unchanged.
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
seo_descriptionstring
seo_titlestring
sort_ordernumberPosition among siblings (ascending).
titlestring
workspacestring

No output schema declared.

No examples provided.

content_update_navigation ~102

Update navigation menu items.

NameTypeReqDescription
itemsarrayyesNavigation items (nested JSON)
locationstringyesMenu location
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
workspacestring

No output schema declared.

No examples provided.

content_update_page ~281

Update a content page (title, blocks, SEO, template). Phase 11+12 Lock 4 gate is opt-in via dry_run/confirm_token.

NameTypeReqDescription
blocksarrayUpdated content blocks
confirm_tokenstringToken from a prior dry_run call. Single-use, 7d TTL.
dry_runbooleanPreview the change without mutating and receive a confirm_token. When omitted, the change is applied immediately (legacy behaviour preserved).
page_idstringyesPage ID
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
seo_descriptionstring
seo_titlestring
slugstring
templatestringPage template/layout. Known values: 'default' (templates/page.liquid), 'landing', 'blank', 'dynamic_landing', 'dynamic_list', 'dynamic_item', '404'. dynamic_list/dynamic_item also require collection_…
titlestring
workspacestring

No output schema declared.

No examples provided.

content_update_post ~441

Update a blog post (title, body, excerpt, tags, cover image, author, categories, featured, SEO).

NameTypeReqDescription
author_idstringAuthor UUID
author_namestring
bodyobjectPost body (Tiptap JSON document)
category_idsarrayCategory UUIDs to assign — list, not single. Use [] to clear.
confirm_tokenstringToken from a prior dry_run call. Single-use, 7d TTL.
cover_image_urlstringCover image URL. Field name MUST end with `_url` to persist.
dry_runbooleanPreview the change without mutating and receive a confirm_token. When omitted, the change is applied immediately (legacy behaviour preserved).
excerptstring
featured_image_altstringAlt text for the cover image
is_featuredbooleanMark as featured post (field name is `is_featured`, not `featured`)
og_image_urlstring
post_idstringyesPost ID
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
related_post_idsarray
seo_descriptionstring
seo_titlestring
slugstring
tag_idsarrayTag entity UUIDs (new system)
tagsarrayLegacy text tags
titlestring
tldr_summarystring
vayapin_pinsarrayVayaPin pin ids that fit this article (e.g. ['BB:TAPAS','BB:CHAMPERS']) — auto-renders a card strip at the post bottom. Omit to leave unchanged; pass [] to clear. Resolve ids via GET /content/vayapin…
workspacestring

No output schema declared.

No examples provided.

content_update_post_status ~106

Update post status (draft, published, archived).

NameTypeReqDescription
post_idstringyesPost ID
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
statusstringyesNew status
workspacestring

No output schema declared.

No examples provided.

content_update_settings ~338

Update content settings (site name, SEO, analytics code, primary color, custom head scripts, etc.). IMPORTANT: wrap the fields you want to change inside a top-level `settings` object — pass `{ settings: { site_name: 'X', primary_color: '#abc' } }`, NOT `{ site_name: 'X', primary_color: '#abc' }` and NOT `{ changes: { ... } }` (other tools like `form_update` use `changes:`; this tool uses `settings:`). The wrapper is required; calls without it return 422 'Field required'. Phase 11+12: defaults to dry_run=true — review the preview and call again with confirm_token to apply.

NameTypeReqDescription
confirm_tokenstringToken from a prior dry_run call. Single-use, 7d TTL.
dry_runbooleanPreview the change without mutating. Defaults to true — call again with confirm_token to actually mutate.
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
settingsobjectyesREQUIRED top-level wrapper. The dict of settings fields to update (e.g. { site_name: 'X', primary_color: '#abc', custom_head_scripts: '<script>…</script>' }). Note: tool wrapper, NOT `changes` (which…
workspacestring

No output schema declared.

No examples provided.

content_update_site_template ~368

Patch an existing site-template catalog row (rename, attach a preview image, toggle is_public, retag, change source bindings, flip is_single_page). Phase 11+12 gated. AUTHORING-ONLY. Auth: same as content_create_site_template (super_admin OR marketplace-authoring-brand PAT). Commonly used right after content_create_site_template to set preview_thumbnail_url from a content_upload_template_preview result, or to publish a staged draft (is_public=true). Phase 11+12 flow: dry_run=true → confirm_token → call again with confirm_token. Only the fields you pass are changed.

NameTypeReqDescription
confirm_tokenstring
descriptionstring
dry_runboolean
industrystring
is_featuredboolean
is_publicboolean
is_single_pageboolean
namestring
preview_thumbnail_urlstring
preview_urlstring
projectstringOptional project — a website inside the workspace (proj_xxx) — to scope this call to. Sent as the X-Project-Id header. If omitted, the spideriq.json / SPIDERIQ_PROJECT_ID binding (or the workspace de…
replication_promptstring
slugstringyesCatalog slug to patch.
source_client_idstring
source_component_slugsarray
source_nav_locationsarray
source_page_slugsarray
source_settings_keysarray
tagsarray
use_casestring
workspacestringWorkspace name (default: "default").

No output schema declared.

No examples provided.