Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "bootstrap"
⟨25 unchanged words⟩ apiKey immediately — do not wait for OTP. If the human message includes a Signup attribution object, pass it as attribution unchanged.
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"attribution":{"additionalProperties":false,"description":"First-touch fields from the novence.ai page that sent the human here. Pass through unchanged. Do not invent values.","properties":{"campaign":{"type":"string"},"content":{"type":"string"},"gaClientId":{"type":"string"},"gaSessionId":{"type":"string"},"gclid":{"type":"string"},"landing":{"type":"string"},"medium":{"type":"string"},"referrer":{"type":"string"},"source":{"type":"string"},"term":{"type":"string"}},"type":"object"},"email":{"description":"Account email. Receives the ⟨14 unchanged words⟩
Added "get_site_brief", "list_site_events" and "put_site_brief" (47 tools before, 50 now)
Get site brief — Private webmaster brief for this project (Pro/Scale). Markdown or JSON, max 64 KB. Not on the live origin. On session start call this then list_site_events. Empty is brief: null. Read-only.
List site events — Webmaster inbox (Pro/Scale): form.submitted, collection.updated (agent vs owner_edit), check.completed, deploy.live. Default last 7 days, max 100. Pass since from the last session. Forms still email the owner. Read-only.
Put site brief — Write the private webmaster brief (Pro/Scale, max 64 KB). What the site is, which /data files matter, form ids, owner email, what not to touch. Empty string clears it. Survives deploys.
Changed the definition of "update_project_settings"
⟨17 unchanged words⟩ on platform hosts only; empty = public),orsiteMcp (off | read | forms visitor MCP on Pro/Scale), or owner-edit (data_edit_emails + data_edit_names, optional data_edit_path; Pro/Scale, off by default).
⟨28 unchanged words⟩ leave unchanged.","type":"object"},"data_edit_emails":{"description":"Up to 5 owner emails for live /edit (OTP). Empty turns owner-edit off. Pro/Scale. Custom domains included. Requires data_edit_names.","items":{"type":"string"},"maxItems":5,"type":"array"},"data_edit_names":{"description":"1–5 collection names the owner may edit (e.g. menu, hours). Required when data_edit_emails is set.","items":{"type":"string"},"maxItems":5,"type":"array"},"data_edit_path":{"description":"Single path segment for the editor (default edit → /edit). Letters, digits, hyphen.","type":"string"},"description":{"description":"New internal notes. Omit ⟨113 unchanged words⟩
Changed the definition of "update_project_settings"
⟨7 unchanged words⟩ (cookieless edge traffic; off by default),orshareGateEmails (optional OTP gate on platform hosts only; empty = public), or siteMcp (off | read | forms visitor MCP on Pro/Scale).
⟨106 unchanged words⟩ },"maxItems":5,"type":"array"},"site_mcp":{"description":"Visitor Site MCP. off (default), read (list_pages + get_site_data), or forms (also list_forms + submit_form). Pro/Scale. Cannot enable while share_gate_emails is set. Control plane stays /mcp with nv_.","enum":["off","read","forms"],"type":"string"}},"required":["project_id"],"type":"object"}
Certificate changed, valid to 2026-12-14
Added "put_site_data" (46 tools before, 47 now)
Put live site JSON — Write /data/{name}.json on the live site without a deploy (Pro/Scale). Page JS keeps fetch("/data/{name}.json"). JSON must be an object or array, max 256 KB. Include the file in the next deploy or a repo upload that omits it can wipe it. Do not store secrets — the URL is public. Free: upload the JSON and call deploy instead.
Changed the definition of "configure_custom_domain" and "get_domain_status"
Attach a custom domain. For site domains, enables apex+www. Defaultprimary=wwwprimary=www.withRequiredredirectDNS:(Vercel-style).CNAME www → fallback.novence.ai. Then do exactly one apex option: ALIAS/ANAME/CNAME-flattening @ → fallback.novence.ai, or registrar URL-redirect @ → https://www.{domain}/. Pass primary=apexoronlyredirect=falsewhentothechange.apex must serve (ALIAS required; URL-redirect would loop).
Certificate recorded, valid to 2026-10-16
Authorization not required
Changed the definition of "update_project_settings"
Update project name, description, check thresholds,oranalyticsEnabled (cookieless edge traffic; off by default), or shareGateEmails (optional OTP gate on platform hosts only; empty = public).
⟨63 unchanged words⟩ "format":"uuid","type":"string"},"share_gate_emails":{"description":"Up to 5 client emails. Non-empty turns on email OTP on *.novence.ai and /p/{suffix}/ only. Custom domains stay public. Empty array turns the gate off. Saving the list does not send mail.","items":{"type":"string"},"maxItems":5,"type":"array"}},"required":["project_id"],"type":"object"}
First tool surface recorded: 46 tools (server version 0.1.0)
Showing the latest 11 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
Read DNSand TLS statusfor the project's custom hostname after configure_custom_domain.DoReturnsnotdns.www,usedns.apex,thisandtodns.next (a single next DNS step, or null when www CNAME is in place and apex has records). customDomainStatus stays pending after attacha—domain.pollPolldns.next untilverified;null.returnsDocurrentnothostnameuseandthiscertificatetostate.attach a domain. Read-only.