Novence

ai.novence由 novence.ai 發布官方發布者v0.1.3更新於 Oct 27, 2026

Hosted MCP for creating, checking, deploying, and hosting static sites for AI agents.

已驗證Streamable HTTP可網頁執行雲端與基礎設施開發者工具資料與分析

概覽

AI 產生的概覽

託管型 MCP 伺服器,讓助理建立、上傳、檢查、部署並託管靜態網站,並提供表單、自訂網域與用量統計。

可以做什麼
  • 註冊與管理帳號:用電子郵件 bootstrap 取得 nv_ 金鑰、以 OTP 驗證信箱、重寄驗證碼、重新簽發金鑰
  • 管理託管專案:建立、列出、檢視、更新設定,並讀取配額、用量與可選開啟的邊緣分析
  • 上傳與暫存網站檔案:取得單一或批次預簽章上傳網址、確認上傳、列出、檢視與刪除暫存路徑、寫入重新導向規則
  • 發佈與檢視部署:部署、輪詢狀態、取得公開網址、回復舊版,並執行 Lighthouse、無障礙與連結檢查
  • 一次呼叫就把單一 HTML 文件發佈為 index.html,並可在不重新部署的情況下寫入線上 JSON 資料檔
  • 處理表單與網域:建立與更新表單、讀取或刪除提交紀錄、綁定自訂網域並檢查 DNS 狀態
適用情境
當助理產出靜態網站、報告、儀表板或 HTML 作品而需要快速發佈時適用;也適合讓代理在多次工作階段中持續維護已託管網站、其資料檔、表單與自訂網域。
執行需求
遠端 streamable HTTP 端點,無需在本機執行。開始時不需金鑰:呼叫 bootstrap 並帶入電子郵件即可取得 nv_ 金鑰,之後在 Authorization Bearer 標頭中攜帶。完整配額與付費工具需要電子郵件 OTP 驗證。付費方案需要 Stripe 結帳或付款憑證。
安裝前請注意
bootstrap 會用電子郵件建立真實帳號並回傳 API 金鑰;reissue_key 會撤銷先前的帳號層級金鑰。checkout 與 mpp_upgrade 會為 Pro 或 Scale 方案實際付費,且需要已驗證信箱。delete_file 與 delete_form_submission 無法復原,部署、重新導向與設定變更會改動公開線上網站。put_site_data 寫入的是公開網址,不應存放機密。表單提交含訪客個人資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Novence,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/ai.novence%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "novence": {
      "type": "http",
      "url": "https://api.novence.ai/mcp"
    }
  }
}

README

Novence MCP

Hosted Model Context Protocol server for Novence — static site hosting for AI agents.

Your agent can build the site. Then in seconds, give it somewhere to ship.

[Add Novence MCP — Claude or Cursor calls create_project, uploads, deploys, and lands on a live URL]
20 seconds · Claude Code, Cursor, Codex, or any other agent · plugin to a live URL

  • Endpoint: https://api.novence.ai/mcp (streamable HTTP)
  • Auth: optional to start. Call bootstrap(email); the session adopts the nv_ key. Then Authorization: Bearer nv_… for later sessions.
  • Docs: novence.ai/mcp
  • Privacy: novence.ai/privacy

This repository is the Claude Code plugin / install package (Novence-ai/mcp). The MCP server itself is hosted; there is nothing to run locally.

The Dockerfile and catalog/ stdio adapter are only for MCP directories (Glama). They answer tools/list with public tool schemas. They do not contain the hosting API. End users should use https://api.novence.ai/mcp.

Root .mcp.json (and mcp.json for Cursor / Agent Plugins) is Cursor-safe: URL only, no Claude ${user_config.*} placeholders. After bootstrap, Cursor / shell clients persist auth with env NOVENCE_API_KEY and a Bearer header. The Claude Code plugin keeps Keychain / userConfig.api_key via .claude-plugin/plugin.json inline mcpServers.

Skill for registries: skills/novence-deploy (gh skill install Novence-ai/mcp novence-deploy when available).

Install (Claude Code)

bash
claude plugin marketplace add Novence-ai/mcp# or: enable from the Claude plugin directory after listing is approved

Leave Novence API key blank. Call bootstrap(email) (MCP). After the live URL, paste the nv_ key in plugin settings (Keychain) and run /reload-plugins so later sessions stay authenticated.

Claude stores the key via plugin userConfig. Empty interpolation is treated as unauthenticated (Bearer / uninterpolated ${user_config.api_key}), so bootstrap works before you fill the field.

Cursor / shell

Root .mcp.json matches this URL-only shape (no auth header). Connect with no header, then bootstrap:

json
{  "mcpServers": {    "novence": {      "url": "https://api.novence.ai/mcp"    }  }}

After bootstrap, persist the key:

bash
export NOVENCE_API_KEY='nv_…'
json
{  "mcpServers": {    "novence": {      "url": "https://api.novence.ai/mcp",      "headers": {        "Authorization": "Bearer ${env:NOVENCE_API_KEY}"      }    }  }}

One-click install (no key): Add to Cursor

Generic MCP clients

Same as Cursor: URL only first, then add Authorization: Bearer nv_… after bootstrap.

REST fallback if you are not on MCP:

bash
# Deploy first (no email): curl -sS -X POST https://api.novence.ai/v1/democurl -sS -X POST https://api.novence.ai/v1/bootstrap \  -H 'Content-Type: application/json' \  -d '{"email":"[email protected]"}'

Verify the emailed OTP after the live URL to unlock full Free quotas.

Tools

ToolDescription
bootstrap / verify_email / resend_verification / reissue_keySignup without a prior nv_ key; OTP after live URL
create_project / list_projects / get_project / update_project_settingsProject lifecycle (share_gate_emails OTP on *.novence.ai only; site_mcp visitor MCP on Pro/Scale; data_edit_emails + data_edit_names owner /edit on Pro/Scale)
delete_projectIrreversible owner-only delete; confirm must be the project's exact name or suffix
get_upload_url / get_upload_urls_batch / confirm_upload / confirm_uploads_batchUpload site files
list_files / get_file / delete_fileManage project files
set_redirectsStage /_redirects (SPA: /* /index.html 200); call deploy to apply
put_site_dataLive /data/{name}.json without a deploy (Pro/Scale)
get_site_brief / put_site_brief / list_site_eventsPrivate webmaster brief + inbox (Pro/Scale). Session start: get then list.
deploy / get_deployment_status / get_preview_url / rollbackPublish, poll, preview aliases (Pro/Scale), rollback last 5
publish_htmlOne HTML document → index.html + deploy (omit project_id to create)
run_checks / get_checks_resultsQuality checks (Lighthouse, a11y, links)
configure_custom_domain / get_domain_statusCustom domains (CNAME www → fallback.novence.ai; apex ALIAS or URL-redirect)
create_form / list_forms / update_form / list_form_submissions / delete_form_submissionForms
checkout / mpp_upgrade / billing_portalPaid plans (verified email; after 2nd project or a 402)
get_quotas_and_usage / get_project_usage / update_project_settings (analytics_enabled) / get_project_analytics / get_accountQuotas, usage, and opt-in site traffic
create_account_session / get_account_console_kitBilling/account console kit (never embed nv_ in HTML)

Official registry

Published as ai.novence/mcp on registry.modelcontextprotocol.io. [MCP Badge]

License

MIT — see LICENSE.

來源:README.md,提交 5f253a3

工具

50

bootstrap

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. If the human message includes a Signup attribution object, pass it as attribution unchanged.

輸入參數email必填attribution

verify_email

Verify email

Confirm the email OTP (15 min TTL). No Bearer key required. Call after the first live URL, before checkout/mpp_upgrade.

輸入參數code必填email必填

resend_verification

Resend verification

Email a new OTP (also used for reissue_key). No Bearer key required. Works when already verified.

輸入參數email必填

reissue_key

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.

輸入參數code必填email必填

checkout

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.

輸入參數plancancel_urlsuccess_url

mpp_upgrade

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.

輸入參數planpayment_authorization

billing_portal

Billing portal

Stripe Customer Portal URL for an existing subscriber (manage/cancel). Not first-time subscribe — use checkout or mpp_upgrade for that.

輸入參數return_url

create_project

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.

輸入參數name必填description

publish_html

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.

輸入參數html必填forcetitleproject_id

list_projects

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

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.

輸入參數project_id必填

update_project_settings

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 + data_edit_names, optional data_edit_path; Pro/Scale, off by default).

輸入參數namesite_mcpproject_id必填descriptiondata_edit_pathdata_edit_namescheck_thresholdsdata_edit_emailsanalytics_enabledshare_gate_emails

get_upload_url

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.

輸入參數path必填project_id必填content_type

get_upload_urls_batch

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.

輸入參數files必填project_id必填

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.

輸入參數path必填project_id必填content_type

confirm_uploads_batch

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.

輸入參數files必填project_id必填

list_files

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.

輸入參數project_id必填

get_file

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.

輸入參數path必填project_id必填

delete_file

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.

輸入參數path必填project_id必填

set_redirects

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.

輸入參數body必填project_id必填

put_site_data

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.

輸入參數json必填name必填project_id必填

get_site_brief

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.

輸入參數project_id必填

put_site_brief

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.

輸入參數brief必填project_id必填

list_site_events

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.

輸入參數limitsinceproject_id必填

deploy

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.

輸入參數forceproject_id必填

get_deployment_status

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.

輸入參數project_id必填deployment_id

get_preview_url

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.

輸入參數project_id必填

rollback

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.

輸入參數project_id必填deployment_id

run_checks

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.

輸入參數project_id必填

get_checks_results

Get check 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.

輸入參數project_id必填deployment_id

configure_custom_domain

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 primary=apex only when the apex must serve (ALIAS required; URL-redirect would loop).

輸入參數primaryhostname必填redirectproject_id必填

get_domain_status

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 use this to attach a domain. Read-only.

輸入參數project_id必填

create_form

Create form

Create a Novence form on a project (optional — sites may use Formspree/Web3forms instead). Returns submit URLs for edge + public API.

輸入參數name必填slugfieldsproject_id必填notify_emailhoneypot_field

list_forms

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.

輸入參數project_id必填

update_form

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.

輸入參數nameslugfieldsstatusform_id必填project_id必填notify_emailhoneypot_field

list_form_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.

輸入參數limitoffsetform_id必填project_id必填

delete_form_submission

Delete form submission

Permanently delete one form submission (PII). Does not disable the form — use update_form status=disabled. Irreversible.

輸入參數form_id必填project_id必填submission_id必填

get_quotas_and_usage

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

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.

輸入參數project_id必填

get_project_analytics

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.

輸入參數tofromproject_id必填

get_account

Get account

Full account snapshot: profile, subscription, quotas, usage, projects. Use get_quotas_and_usage for limits only; use get_account_console_kit to render a local HTML console. Read-only.

無需輸入參數。

create_account_session

Create account session

Mint a short-lived mgmt_ token for a local HTML console (account:read, billing:portal, project:members). Never put nv_ keys in HTML.

無需輸入參數。

get_account_console_kit

Get account console kit

JSON kit to write a local novence-console.html: snapshot, HTML template, session mint instructions. Serve on localhost. Use create_account_session for the mgmt_ token; use get_account for JSON without the kit. Read-only.

無需輸入參數。

invite_project_member

Invite project member

Invite a collaborator by email. Requires Pro/Scale on the project owner. Only the owner can invite as admin. Creates a new project on the caller's account if you use create_project instead — pass project_id here. Do not share the owner's nv_ key.

輸入參數roleemail必填project_id必填

list_project_members

List project members

List members and pending invites for a project. Use invite_project_member to add; use revoke_project_invite for pending tokens; use remove_project_member for accepted collaborators. Read-only.

輸入參數project_id必填

update_project_member

Update project member role

Change a collaborator's role. Only the owner can grant or demote admin. Use remove_project_member to revoke access entirely. Does not affect pending invites — use revoke_project_invite for those.

輸入參數role必填account_id必填project_id必填

remove_project_member

Remove project member

Remove an accepted collaborator and revoke their project API keys. Owner-only for admins. For a pending invite, use revoke_project_invite instead. Irreversible; they must be invited again.

輸入參數account_id必填project_id必填

revoke_project_invite

Revoke project invite

Cancel a pending invite so the token no longer works. Does not remove someone who already accepted — use remove_project_member for that. Irreversible for that invite_id; send a new invite_project_member if needed.

輸入參數invite_id必填project_id必填

leave_project

Leave project

Leave a project you were invited to. Owners cannot leave — transfer or stay. Revokes your project keys. Use remove_project_member if you are the owner removing someone else.

輸入參數project_id必填

accept_project_invite

Accept project invite

Accept an invite token (from email or invite_project_member in local/dev). Unverified invitees must pass otp. Returns a project-scoped nv_ key once — never email it. Collaborating uses this project_id; create_project still bills the caller.

輸入參數otptoken必填

版本歷史

1
  1. v0.1.3最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分