Update branding
MCP
update_brandingWRITE$0.00001 / call
Features
Update visual branding: colors, fonts, logo, theme, the site's call-to-action URL, and the Site source URL the AI reads facts from. Available on all plans including FREE. Pass the values the user stated. To copy another site's look, get its values first: fetch_url with assets: true returns that page's logo, favicon, theme colour, the brand colours it declares in CSS and the fonts it asks for. Use what it reports, or ask the user; never invent hex values.
Input27
Your API key, for the REST call. Sent from your browser straight to the API — never to Docsbook, never stored.
Workspace ID (optional when MCP endpoint is auto-scoped to a workspace). Numeric workspace id — OR the project as the user names it: 'owner/repo', the repo name alone, the site's display name, its docs URL or custom domain. Text is resolved server-side; an ambiguous name returns the candidates instead of guessing, so pass what the user said rather than calling list_workspaces first.
Call To Action URL — the ONE page this documentation should drive readers to (pricing, demo booking, signup). https:// only. Treat it as the project's conversion goal: reference it where a page naturally ends in a next step, and surface it as a header button via update_navigation header_links with an accent
color so it reads as a button rather than a plain link. Pass an empty string to clear it.What ONE conversion is worth, in CENTS (29900 = $299) — the average revenue from a reader who clicks through to cta_url. The analytics card multiplies it by those readers to report Revenue and Revenue per visitor; without it both stay switched off rather than being guessed. Save it whenever the owner states an average price, order value or plan price. Pass 0 to clear it and switch revenue reporting back off.
The owner's OWN description of their product — what it is, who it is for, what it does. Briefing for the AGENT only: it is never rendered on the docs site and never shown to readers. Save it whenever the owner explains their product in their own words; it is the one fact about them no crawl can produce. Not a substitute for site_source_url — a price or limit mentioned here is still confirmed there before it reaches a page. Pass an empty string to clear it.
Standing instructions the owner wants the agent to follow on this project — house style, what never to touch, who to ask. Read on every admin turn, under (never over) the safety and tool rules. Save it when the owner states a durable preference about HOW work is done here, as opposed to a one-off request. Pass an empty string to clear it.
Support email — the address the PUBLIC docs chat gives a reader whose question the documentation does not answer. The assistant says plainly that it does not know the answer, then points them here. Save it whenever the owner names a support/contact inbox. Leave it unset rather than guessing: with no address the chat still admits it does not know and still tells the reader to contact support, whereas a made-up support@ sends them somewhere nobody reads. Pass an empty string to clear it.
Site source — the product's OWN website, the place to read real facts from (pricing, plan names, limits, contacts) instead of inventing them. http(s). Save it as soon as the owner names their website or you fetch one for this project, so later sessions can look facts up there. NOT the same as cta_url (that is a destination for readers; this is an origin for facts). Pass an empty string to clear it.
URL for site logo
URL for favicon
URL for an alternate icon shown only when the site is in dark theme (e.g. a dark/near-monochrome icon that would otherwise sink into a dark header). Optional — unset means icon_url renders unchanged in dark mode too.
Display name for the docs site
Primary accent color as hex (#3b82f6)
Accent color for dark mode
Muted/secondary color as hex
Main text color as hex
Background color as hex
Google Font name for HEADINGS (e.g. 'Inter')
Google Font name for BODY/CONTENT text; falls back to font_family when unset
One of:
light, dark, system.Show theme toggle to visitors
Visual background style: clean (no effect), muted (soft neutral wash), bold (shown as 'Premium': an accent haze across the top of the page — a full hero haze on a front page with the sidebar hidden — and an accent-framed Ask docs chat; the most upscale option), or gradient (soft radiant glow tied to the accent color — the old background_glow toggle). One of:
clean, muted, bold, gradient.Legacy on/off toggle — prefer background_style. true sets it to 'gradient'.
Custom background color (hex) for the header search bar button. Pass an empty string to clear it back to the default muted background.
Custom background color (hex) for the header Ask AI button. Pass an empty string to clear it back to the default muted background.
Output28
'owner/repo', or a Docsbook-hosted placeholder when the site was created from scratch.
null
The live docs URL — report this verbatim, never build one from repoFullName.
null
free | pro | business
public | private
Present ONLY when
visibility is private, i.e. when no crawler and no answer engine can open this site. Says what that rules out — keyword work, SERP meta, crawler-facing sitemap/llms.txt tuning, backlinks, ranking readings, being cited by ChatGPT or Perplexity — and what is worth the run instead. A private SOURCE REPOSITORY is NOT this and does not rule anything out: Docsbook serves indexed public sites from private repositories.Alongside
not_discoverable: "private" (the owner's choice) or "plan_locked" (the plan lapsed and Docsbook made it private — tell the owner before doing any work).Whether a REST bearer exists — never the key itself.
Whether the semantic index has ever been built.
{ configured: false } or { issuer, clientId, allowedDomain, configured: true }.
What this plan unlocks.
null
null
null
null
Top-level folder placements, each carrying the
placement it resolves to — "subheader_tab" (a tab in the category strip, its pages kept out of the root sidebar tree), "sidebar_tree" (an ordinary folder in the sidebar), "subheader_tab_and_sidebar_tree" (both) or "hidden". Read placement rather than re-deriving it from inSubheader / showInSidebar / hiddenInSidebar.Present when the project has folder placements: what each one resolves to and why a tab's hiddenInSidebar is not a defect to fix.
Present only when the live site does not show what was published.
Plus every other project setting on this row — branding colors/fonts, navigation, UI toggles, SEO/GEO/AEO flags, access rules, domain, languages — minus secrets.
Example input
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_branding",
"arguments": {
"default_theme": "light",
"background_style": "clean"
}
}
}Example output
{
"id": 0,
"repoFullName": "<repoFullName>",
"customName": "<customName>",
"site_url": "<site_url>",
"customDomain": "<customDomain>",
"plan": "<plan>",
"visibility": "<visibility>",
"not_discoverable": "<not_discoverable>",
"discoverability_blocked_by": "<discoverability_blocked_by>",
"aiEnabled": true,
"hasApiKey": true,
"hasCustomAiKey": true,
"hasCustomTranslationKey": true,
"hasPassword": true,
"hasSourceOfTruthGraph": true,
"sso": {},
"plan_capabilities": {},
"upgrade_hint": "<upgrade_hint>",
"cta_url": "<cta_url>",
"cta_hint": "<cta_hint>",
"average_product_price_cents": "<average_product_price_cents>",
"revenue_hint": "<revenue_hint>",
"site_source_url": "<site_source_url>",
"site_source_hint": "<site_source_hint>",
"subheaderFolders": [],
"navigation_placement_hint": "<navigation_placement_hint>",
"publish_mismatch_warning": "<publish_mismatch_warning>",
"…": "<…>"
}