Novence MCP Server
Host static HTML/CSS/JS for AI agents. Deploy with npx novence, @novence/sdk, or pip install novence — or MCP, REST, and GraphQL. Run checks and attach custom domains.
- Host
- api.novence.ai
- Tools
- 46
- Connection URL
- https://api.novence.ai/mcp
Tools
Bootstrap account
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.
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 API 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.
Stripe 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 first live URL.
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 get_deployment_status until live or failed. For multi-file sites use the upload + deploy loop instead. Re-call with the same project_id to replace the live page.
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, or analyticsEnabled (cookieless edge traffic; off by default).
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.
Deploy site
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 custom hostname. Read-only.
Rollback live site
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 wait. Does not run Lighthouse or increment deploys_count.
Run quality 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 allowed.
Use in your AI tool
One-click into Claude, Cursor, VS Code, and more — connects straight to this server’s public endpoint.
https://api.novence.ai/mcp