Novence
by novence.ai in Developer tools
Hosted MCP for creating, checking, deploying, and hosting static sites for AI agents.
https://api.novence.ai/mcp- Tools
- 50
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 435 ms
- 1.5 s slowest 5%
- Last check
- Passed
- 2 h ago, next in 4 h
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"novence": {
"type": "http",
"url": "https://api.novence.ai/mcp"
}
}
}50 tools
- bootstrap
Create an account + nv_ API key from an email. No Bearer key required. Unverified trial still publishes; OTP/verify_email is AFTER the live URL. Returns apiKey immediately — do not wait for OTP. If the human message includes a Signup attribution object, pass it as attribution…
- verify_email
Confirm the email OTP (15 min TTL). No Bearer key required. Call after the first live URL, before checkout/mpp_upgrade.
- resend_verification
Email a new OTP (also used for reissue_key). No Bearer key required. Works when already verified.
- reissue_key
Mint a new account nv_ key from email OTP. No Bearer key required. WARNING: revokes prior account-scoped nv_ keys. Also verifies email if needed.
- checkout
Return a Stripe Checkout URL for Pro ($29) or Scale. Requires nv_ + verified email. Use after a 2nd project or a 402 — never after the first live URL.
- mpp_upgrade
Start or complete Pro/Scale via Machine Payments Protocol. Requires nv_ + verified email. First call returns a 402 Payment challenge; retry with payment_authorization (Payment credential) or _meta org.paymentauth/credential. Use after a 2nd project or a 402 — never after the…
- billing_portal
Stripe Customer Portal URL for an existing subscriber (manage/cancel). Not first-time subscribe — use checkout or mpp_upgrade for that.
- create_project
Create a new hosting project on the caller's account (counts against the caller's project quota). To edit a shared site, pass that project's project_id to upload/deploy tools instead.
- publish_html
Publish one HTML document (report, dashboard, Claude-style artifact) as index.html and deploy. Omit project_id to create a project. Hosted MCP cannot read local files — pass the HTML string (read the file first). Returns url, project_id, and deployment. Poll…
- list_projects
List hosting projects the caller owns or is invited to (ids, names, suffixes). Use get_project for one project's settings; use get_preview_url for the public URL (per-deploy alias on Pro/Scale, live host on Free). Read-only; does not create a project.
- get_project
Return one hosting project (name, suffix, settings, membership). Use list_projects to discover IDs. Use get_preview_url for the public URL (alias on Pro/Scale), and get_project_usage for quotas on that site. Read-only; does not mutate.
- update_project_settings
Update project name, description, check thresholds, analyticsEnabled (cookieless edge traffic; off by default), shareGateEmails (optional OTP gate on platform hosts only; empty = public), siteMcp (off | read | forms visitor MCP on Pro/Scale), or owner-edit (data_edit_emails +…
- get_upload_url
Get a presigned PUT URL for one site file. content_type is optional (inferred from extension). Use get_upload_urls_batch for multi-file sites, then confirm_upload after the PUT.
- get_upload_urls_batch
Presign many site files at once (max 100). Prefer this over get_upload_url for multi-file sites. After PUTs, call confirm_uploads_batch, not confirm_upload.
- confirm_upload
Record one staged file after the client PUT to the presigned URL from get_upload_url. Use confirm_uploads_batch when several files were uploaded. Does not publish the site — call deploy after confirms. Re-confirming the same path updates metadata.
- confirm_uploads_batch
Confirm many uploads after get_upload_urls_batch PUTs. 200 body is { files, errors }. errors is always an array (empty on full success); retry only failed paths. Use confirm_upload for a single file. Does not deploy.
- list_files
List staged site files for a project (paths, types, sizes). Use get_file for one path's metadata; use delete_file to remove a path. Read-only; does not deploy.
- get_file
Return metadata for one staged path (not file bytes). Use list_files to discover paths; use get_upload_url to replace content. Read-only.
- delete_file
Remove one path from staging. Does not change the already-live deploy until the next deploy. Irreversible for that staged path; re-upload to restore. Use delete_form_submission for form PII, not this.
- set_redirects
Write /_redirects (Netlify subset) into staging. Call deploy afterwards to publish. SPA History routing: /* /index.html 200. Exact files always win. Optional custom 404 is a separate /404.html upload. Does not write the live prefix.
- put_site_data
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…
- 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.
- 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.
- 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.
- deploy
Publish the site. Verified accounts run quality checks; unverified accounts skip checks (checkRuns: 0) and still go live. POST returns quickly — poll get_deployment_status until live or failed. Do not retry POST while status is promoting or checking.
- get_deployment_status
Poll publish state after deploy (queued, checking, promoting, live, failed). Omit deployment_id for the latest. Use get_checks_results for Lighthouse/a11y scores and get_preview_url once live. Read-only; do not retry deploy while promoting or checking.
- get_preview_url
Return the public site URL. On Pro/Scale this is the per-deploy https://{suffix}--{ref}.novence.ai alias (last 5 successful deploys stay). On Free it is the live https://{suffix}.novence.ai host. Use get_deployment_status to know if live yet; use configure_custom_domain for a…
- rollback
Re-promote a previous successful snapshot to https://{suffix}.novence.ai without a new upload. Pro/Scale only (HTTP 402 on Free). Omit deployment_id to restore the previous live deploy. Only the last 5 successful deploys are retained. HTML Cache-Control is 60s — hard-refresh or…
- run_checks
Start a Lighthouse, a11y, and link check cycle on the latest deployment. Does not publish a new deploy — use deploy for that. Then poll get_checks_results (not get_deployment_status) until scores appear. Unverified accounts skip checks on deploy; this still queues a cycle when…
- get_checks_results
Read Lighthouse, a11y, and link results for a deployment. Omit deployment_id for the latest. Use run_checks to trigger a new cycle; use get_deployment_status for publish/promote state, not scores.
- configure_custom_domain
Attach a custom domain. For site domains, enables apex+www. Default primary=www. Required DNS: 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…
- get_domain_status
Read DNS for the project's custom hostname after configure_custom_domain. Returns dns.www, dns.apex, and dns.next (a single next DNS step, or null when www CNAME is in place and apex has records). customDomainStatus stays pending after attach — poll dns.next until null. Do not…
- create_form
Create a Novence form on a project (optional — sites may use Formspree/Web3forms instead). Returns submit URLs for edge + public API.
- list_forms
List Novence forms on a project (ids, slugs, status). Use update_form to change one; use list_form_submissions to read leads. Not for third-party widgets. Read-only.
- update_form
Patch an existing Novence form (name, slug, fields, notify_email, honeypot, active|disabled). Partial update: omitted fields stay unchanged. Use create_form for a new form; use list_forms to get form_id. Does not delete submissions.
- list_form_submissions
List visitor submissions for one Novence form (paginated). Use delete_form_submission to remove PII. Not for update_form schema changes. Read-only.
- delete_form_submission
Permanently delete one form submission (PII). Does not disable the form — use update_form status=disabled. Irreversible.
- get_quotas_and_usage
Account-level plan limits and current consumption (projects, storage, deploys, bandwidth). Use get_project_usage for one site; use get_account for profile plus quotas together. Read-only snapshot, not a live meter stream.
- get_project_usage
Per-project usage (storage, deploys, check minutes, bandwidth, forms). Bandwidth is live from edge-served bytes. Use get_quotas_and_usage for account totals; use get_project_analytics for pageviews. Read-only.
- get_project_analytics
Cookieless edge analytics for a hosted site: pageviews, 404s, top pages, referrers, and countries. Off by default. Enable with update_project_settings analytics_enabled=true. Default last 7 days (max 90). If disabled, returns enabled=false and empty totals.
Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 2 h ago | Passed | 200 | 413 ms |
| 13 h ago | Passed | 200 | 384 ms |
| 24 h ago | Passed | 200 | 393 ms |
| 35 h ago | Passed | 200 | 389 ms |
| 46 h ago | Passed | 200 | 543 ms |
Show 10 older checks
| 2 days ago | Passed | 200 | 441 ms |
| 3 days ago | Passed | 200 | 376 ms |
| 3 days ago | Passed | 200 | 544 ms |
| 4 days ago | Passed | 200 | 346 ms |
| 4 days ago | Passed | 200 | 459 ms |
| 4 days ago | Passed | 200 | 943 ms |
| 5 days ago | Passed | 200 | 385 ms |
| 5 days ago | Passed | 200 | 462 ms |
| 6 days ago | Passed | 200 | 483 ms |
| 6 days ago | Passed | 200 | 490 ms |