Revdoku
About
Revdoku lets Claude, Codex, ChatGPT, and other AI agents publish generated reports, dashboards, prototypes, documents, and interactive app sites as real websites. Sites can be public, password-protected, or mapped to your own domain; regenerating keeps the same URL.
Details
- Author
- revdoku
- Downloads
- 277
- Categories
- Developer Tools, Other, AI
Jump to
- Turn AI-generated content into live websites.
- Support for public, password-protected, and custom-domain sites.
- Create and manage Revdoku buckets.
- Write and publish website files.
- Use app-site database for visitor submissions and feedback.
- Enable searchable support pages and owner notifications.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
RevdokuCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Connect your AI agent (Claude, Codex, ChatGPT) to the remote MCP endpoint at https://app.revdoku.com/mcp. Once connected, the agent can create buckets, upload content, and publish sites. Regenerate content anytime; the URL remains unchanged.
website_preview_create
Create one anonymous public website preview that expires in 24 hours. No Revdoku account, login, private bucket, forms, notifications, analytics, access gate, custom URL, or custom domain is created. The URL is randomized. Anonymous creates and updates share a limit of 60 publish operations per hour per source IP. Return the preview URL and claim link to the user; never ask for a link name. Use only for a website the user asked to preview or publish.
website_preview_update
Replace all files in an unclaimed anonymous website preview while keeping the same randomized URL and original 24-hour expiry. Requires the opaque update token returned by website_preview_create. Creating and updating previews share a limit of 60 publish operations per hour per source IP. Updating never extends expiry and never creates a private bucket.
website_preview_status
Check an anonymous preview's publish or claim status using the preview id and opaque update token. After claim, local agents exchange the returned one-time connection token themselves; hosted MCP clients call an authenticated Revdoku tool and use the sign-in UI (never sign up inside chat).
revdoku_status
Check the authenticated Revdoku account and remote MCP capabilities, including onboarding state, features.github_sync eligibility, publishing.free_plan_available, and account.restriction. When account.restriction reports automated website moderation, tell the user the account was made read-only because of the returned published website, ask them to contact support@revdoku.com if they believe it was incorrect, and do not retry or evade the hold. When onboarding.state is empty_account, offer onboarding.suggested_projects instead of only asking a broad question; create the selected website as a private draft, preview it, and publish only after explicit approval. When it is no_visible_buckets, follow onboarding.recommended_next_step instead of suggesting a bucket this connection cannot create. The Free plan supports up to 5 public websites; publishing.preview_recommended explains the preview-first workflow. Returns mcp.server_version (the connected Revdoku version), mcp.latest_source (https://github.com/revdoku/revdoku — the public skill, CLI, connector setup, API documentation, and agent instructions), and an mcp.update_hint. Reconnect or restart the connector if a documented tool is missing so the client refreshes tools/list.
revdoku_dashboard_link
Return a stable Revdoku dashboard link for buckets, websites, or connector access. The link never signs a browser in; the user authenticates normally if needed.
bucket_list
List visible Revdoku buckets with website state, GitHub sync status/setup links, and archive/delete guidance. Use this before follow-up bucket actions. Pass query to filter by title.
bucket_get
Get one bucket, its files, website type/current revision, effective path permissions, website state, GitHub sync status/setup link, and archive/delete guidance. For Wbuilder buckets, read AGENTS.md and _config/wbuilder/contract.json before editing data/**; _config/** is readable but read-only. Pass file_limit and file_offset to page bucket.files. Set include_form_submissions=true to read visitor feedback with submitter identity, document selections, and a fixed 3x3 minimap; this requires write-capable bucket access. The minimap includes a 0/1 cells matrix and exactly three ASCII rows. Share bucket.website.submissions_review.url for visual submission review or bucket.github_sync_setup.settings_url to connect/manage GitHub; both are stable login-required deep links.
bucket_create
Create a private Revdoku bucket for agent-generated files, reports, or websites. Public websites allow search indexing by default; set allow_search_indexing=false only when the owner asks. Built-in forms can be configured through metadata.publication_forms, including the resource form and a system or website-file success response; writing files still creates only a private draft.
bucket_template_list
List trusted Revdoku bucket templates that can be imported into a new private bucket.
bucket_create_from_template
Create a private Revdoku bucket by importing files from a trusted Revdoku template manifest. The bucket is not published.
bucket_update
Update bucket title, description, metadata, or the affirmative allow_search_indexing setting. Public permanent websites default to searchable; protected and preview websites are locked off. Configure form instances through metadata.publication_forms: Free plans use unchanged templates; paid plans may customize fields/copy and use file/folder success targets. Use {{REVDOKU_FORM:name}} for one form or {{REVDOKU_FORM}} for every hosted form. Form changes are drafts until publish/republish.
bucket_archive
Archive one bucket. Active websites must be unpublished first.
bucket_unarchive
Restore one archived bucket back to the active bucket list.
bucket_delete_permanently
Permanently delete an archived, unpublished normal bucket after confirmation. Get bucket_id and delete.confirmation from bucket_list or bucket_get.
bucket_file_list
List files in a Revdoku bucket. Pass limit and offset for paginated results; omit them to return all files for compatibility. Pass query to search by name/path, or folder to list one folder's files.
bucket_file_read
Read one text bucket file (HTML/CSS/JS/JSON/Markdown/etc.) already stored in Revdoku. Not for binary files (images, fonts, PDFs).
bucket_file_get
Get full metadata for one bucket file by file_id (preferred) or path, without downloading its content. Use this to expand the lean file_id/version_id returned by bucket_file_write and bucket_file_write_many into complete file details when needed.
bucket_file_write
Write or replace one TEXT file in a bucket (HTML/CSS/JS/JSON/SVG/Markdown/etc.). For a Wbuilder bucket, first read AGENTS.md and its contract, edit data/**, leave _config/** read-only, and pass expected_bucket_revision_id from bucket_get when practical. JavaScript is supported and published as-is. Binary assets and whole local folders use the CLI or REST direct-upload API. The response's bucket carries dashboard_url (and public_url when published); show that link to the user instead of the raw bucket id.
bucket_file_append_text
Append UTF-8 text to an existing text file in a bucket, such as txt, md, csv, jsonl, js/code files, and similar text formats. This is not a binary-file API and it does not parse CSV or JSON; for ordinary .json, raw append can make invalid JSON. If the file or bucket is locked, retry briefly; if it remains locked, report error.details including the lock owner and message.
bucket_file_write_many
Write multiple TEXT website files (HTML/CSS/JS/JSON/SVG/Markdown/etc.) in one bucket edit. For Wbuilder, read AGENTS.md first, edit data/**, leave _config/** read-only, and pass expected_bucket_revision_id from bucket_get. Save-time checks validate recognized Wbuilder files before any entry is written; Preview performs full compilation. Binary assets and whole local folders use the CLI or REST direct-upload API. When delete_missing is true, omitted editable files are soft-deleted, but managed/generated files are preserved. The response's bucket carries dashboard_url (and public_url when published); show that link to the user instead of the raw bucket id.
bucket_file_rename
Rename or move one same-bucket file path by blob reference, creating a rename revision without reuploading bytes.
bucket_file_copy
Copy one existing file to another path or bucket by storage reference, including archived sources. The target bucket must be writable; bytes are never downloaded or reuploaded.
bucket_file_move
Move one file by storage reference. Same-bucket moves create a rename revision; cross-bucket moves copy then soft-delete the source without reuploading bytes.
bucket_file_reorganize
Batch rename, move, or copy files using server-side path/blob references. Use for folder cleanup or reorganization without reading or reuploading bytes.
bucket_lock
Lock a whole bucket before broad edits or uploads so other agents can see this connector is working.
bucket_unlock
Unlock a bucket locked by this MCP connector.
bucket_lock_visibility_changes
Lock a bucket's visibility so it cannot be published, unpublished, switched between public/password access, or have its public URL changed by API or agents — use this to protect a bucket holding private data from accidental publishing. Locking is idempotent. There is deliberately no unlock tool: unlocking is web-UI-only and requires the user to type "confirm" in the Revdoku app, so if a bucket is visibility-locked you must ask the user to unlock it themselves.
bucket_lock_files
Lock one or more bucket files before editing so other agents can see this connector is working.
bucket_unlock_file
Unlock a bucket file locked by this MCP connector.
bucket_publish
Queue an async publish or republish of the bucket's saved draft as a live public website. The Free plan supports up to 5 public websites. Unless the user has already reviewed the site or explicitly asks to publish immediately, use bucket_publish_preview first and share that temporary URL for review. For protected/password/private websites, use bucket_publish_password_protected instead. Pass description when the user wants Revdoku to save explanatory bucket text before publishing. Check bucket_publication_get separately for publish_state ready/failed before telling the user the site is live. Fails with BUCKET_VISIBILITY_CHANGE_LOCKED if the bucket's visibility is locked (first publish or an access-mode change); a same-access-mode republish is allowed. Unlocking is web-UI-only — ask the user to unlock it in the Revdoku app. Published content is subject to Revdoku's Acceptable Use Policy (https://revdoku.com/acceptable-use).
bucket_publish_password_protected
Queue an async publish or republish of the bucket's saved draft with Password or Require Email access. New accounts start on Free without a trial. These access modes require payment for a permanent main site but can be evaluated with bucket_publish_preview on Free. Preview with the requested protected access first; if this tool returns PUBLICATION_UPGRADE_REQUIRED, share the protected preview and error.details.upgrade_url as the upgrade link, not the API documentation, then retry only after the user upgrades. Never silently fall back to Public. Require Email verifies visitors by OTP with no shared password and supports an optional email/domain allowlist. Password mode generates a password when needed and returns copyable password/share text to authorized owner publish keys after publish_state is ready. Never put passwords in URLs. Fails with BUCKET_VISIBILITY_CHANGE_LOCKED if the bucket's visibility is locked; unlocking is web-UI-only. After publishing sensitive data, consider offering to lock visibility with bucket_lock_visibility_changes. Published content is subject to Revdoku's Acceptable Use Policy (https://revdoku.com/acceptable-use).
bucket_publish_preview
Queue an async PREVIEW publish of the current saved draft to a temporary 'preview-<slug>' URL. Every preview expires after 15 minutes. Previews may use paid settings (including Password or Require Email) on Free so the user can evaluate them before upgrading; they stay noindex, do not affect the main website, and do not count against live/private-site limits. Re-running republishes to the same preview slug with a new 15-minute window. Check bucket_publication_get for ready/failed, then share the preview URL, any protected-site password/share text, and its expiry.
bucket_set_public_slug
Paid plans only: rename an existing website publication's <slug>.revdoku.site URL. If the site is live, files are republished under the new prefix; if it is unpublished, only the saved URL is changed for the next publish. Free websites retain their randomized URL. Fails with BUCKET_VISIBILITY_CHANGE_LOCKED if visibility is locked.
bucket_update_publication_access
Change an already-published website's access settings WITHOUT republishing its files or URL. Use this to switch a live site between public, password, and Require Email, or rotate the password. Same-storage-class changes (e.g. password <-> Require Email, rotate password) are instant settings updates; switching public <-> protected re-keys the files and may take longer but keeps the site live. To publish a NEW VERSION of the files, use bucket_publish / bucket_publish_password_protected instead. Never put passwords in URLs. An access-mode change fails with BUCKET_VISIBILITY_CHANGE_LOCKED if the bucket's visibility is locked (unlocking is web-UI-only — ask the user); rotating the password or other same-access-mode settings stay allowed while locked.
bucket_unpublish
Queue an async unpublish of a bucket website while keeping the reserved URL. Use before archive/delete when bucket_list says required_action is unpublish_first, then check bucket_publication_get separately until status is unpublished before archiving or deleting. Fails with BUCKET_VISIBILITY_CHANGE_LOCKED if the bucket's visibility is locked; unlocking is web-UI-only, so ask the user to unlock it in the Revdoku app first.
bucket_publication_list
List active and historical bucket website publications visible to this MCP connector.
bucket_publication_get
Get one bucket website publication.
bucket_publication_analytics
Get a bucket website's activity and analytics directly with bucket_id, or pass a publication_id from bucket_get's website.id, bucket_publish, or bucket_publication_list. Event instants are recorded in UTC; calendar boundaries and labels use the account time_zone returned in the response. activity is the newest outcome timeline; last_week is the previous complete Monday-Sunday summary. previous_period_totals and diff_vs_previous_period compare the selected range with the immediately preceding range; signed differences are current minus previous, and views excludes bots. range all covers complete stored history and has no previous comparison; 24h is live and hourly; 7d/30d/90d are daily. For an exact inclusive daily window, pass both from and to as YYYY-MM-DD; they override range. paths contains page views only; downloads contains explicit file downloads by path; document_pages contains document-page engagement. Static support assets are excluded from those engagement breakdowns. hits counts all page views; clicks counts outbound link clicks; hits_bots is the bot subset; visitors counts unique humans; anonymous_visitors is the privacy-safe aggregate public-visitor portion with no durable journey identity. On Free plans, availability.reason is free_plan, availability.message says analytics results are unavailable, every analytics total/comparison is null, and activity/breakdowns are empty. Do not infer zero, reconstruct counts from other fields, or suggest an upgrade. A live comparison is also null when its query is unavailable. Treat nulls as unavailable, never as zero.
bucket_publication_leads
List visitor leads for one publication: verified Require Email visitors and unverified emails collected by a Password Gate, including first/last visit, visit count, and per-path activity, plus recent access sessions. Use this to follow up without opening the Revdoku dashboard. Emails are sensitive, so this requires an account-owner connector with publish permission and write access to the bucket.
bucket_publication_recipient_links
Create personal links for a Require Email website: each tracked URL admits one recipient without the emailed OTP step and appears in Tracking Links with its engagement analytics. Recreating a recipient's link replaces its expiry and invalidates the previous URL. Defaults to allowlisted addresses; bare domains are skipped because links are per person. Pass `emails` for a subset. Removing an address from the allowlist or deleting its Tracking Link revokes access. Personal and ordinary tracking links share the account's recipient-link quota. Requires an account-owner connector with publish and bucket-write permission. Never share these links publicly.
bucket_env_get
Read a bucket's integration variables and secrets. `variables` are PUBLIC config embedded into the published website and are returned in full. `secrets` are SERVER-only (for example RESEND_API_KEY) — encrypted and never returned; only each secret's name and last 4 characters are shown. Names are ENV-style (UPPER_SNAKE).
bucket_env_set
Set a bucket's integration variables and/or secrets (requires write access to the bucket). `variables` (PUBLIC — embedded into the published site and visible to every visitor) REPLACES the entire public set, so call bucket_env_get first and include the entries you want to keep. `secrets` (SERVER-only, encrypted, never returned) is a PATCH: a non-empty value sets/replaces it, an empty string deletes it, and omitted secrets are left unchanged. Names must be UPPER_SNAKE_CASE. Never put a secret value in `variables`.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"revdoku": {
"revdoku": {
"url": "https://app.revdoku.com/mcp"
}
}
}
}
McpServers
{
"revdoku": {
"url": "https://app.revdoku.com/mcp"
}
}
Ask ChatGPT, Claude or other AI to publish to Revdoku.
Get a live*.revdoku.sitewebsite in seconds.
Revdoku publishes static websites and SPAs from AI-generated files and folders. The first public preview is live for 24 hours and can be claimed if the user wants to keep updating the same website.
I'd like you to set up Revdoku so you can publish a website for me for free. Browser-only chat: don't install anything. Direct me to your setup guide—Claude: https://revdoku.com/claude/; ChatGPT: https://revdoku.com/chatgpt/; other products: https://revdoku.com/<lowercase-hyphenated-product-name>/. With terminal access, run npx skills add revdoku/revdoku --skill revdoku -g; without npm, run curl -fsSL https://revdoku.com/install.sh | bash. Then review https://revdoku.com/docs and ask what I'd like to publish.
The agent should run setup commands itself when it has shell access. It must not send the user to a separate terminal.
- The agent creates a public preview at a randomized Revdoku URL. No signup or login is needed.
- The preview lasts 24 hours. The agent can update the same URL without extending that deadline.
- Revdoku returns one browser claim link. Account creation happens only athttps://app.revdoku.com/users/sign_up.
- After email verification, the website appears in the new Free account. The original agent reconnects automatically on its next command.
Anonymous previews never create private buckets and do not include forms, analytics, custom domains, or custom URLs. They are noindex and use ano-referrerpolicy.
npx skills add revdoku/revdoku --skill revdoku -g
curl -fsSL https://revdoku.com/install.sh | bash
The first unsigned run prints the preview and claim URLs. Re-running updates the same preview. After claim, re-running exchanges Revdoku's one-time connection grant automatically and updates the claimed website.
For a different existing account, runrevdoku login. This is sign-in only; new accounts are created on the web signup page.
- revdoku p [PATH]— publish or update a website.
- revdoku preview [PATH]— create a review URL.
- revdoku p [PATH] --draft— save a private draft after sign-in.
- revdoku p --protected— publish with Password access on an eligible plan.
- revdoku p --access-mode require_email— require visitor email OTP.
- revdoku open,revdoku status,revdoku ls,revdoku --help— inspect the current connection and sites.
The hosted MCP endpoint ishttps://app.revdoku.com/mcp. Its anonymous website preview tools require no authentication. Durable buckets and account features use OAuth, and that OAuth screen is sign-in only. If the user has no Revdoku account, the agent should create an anonymous preview and share its returned web signup/claim link instead of trying to sign the user up through OAuth.
Hosted agents cannot read files from the user's computer. Use the local CLI for local folders, JavaScript bundles, images, fonts, PDFs, and other binary assets. MCP can directly write generated text files.
Client guides use the lowercase product name, with spaces replaced by hyphens:https://revdoku.com/<client>/(for example,/cursor/and/antigravity/).
- Setup hub:https://revdoku.com/connect/
- ChatGPT:https://revdoku.com/chatgpt/
- Codex:https://revdoku.com/codex/
- Claude:https://revdoku.com/claude/
- Claude Desktop and terminal agents:https://revdoku.com/claude-desktop-terminal/
- Gemini:https://revdoku.com/gemini/
- Hermes:https://revdoku.com/hermes/
Use those tutorials only when manual setup or troubleshooting is actually needed. Normal onboarding should stay to one preview URL and one claim link.
This repository contains the Revdoku CLI, skill, API documentation, and Claude/Codex/Cursor plugin manifests. The hosted MCP implementation runs athttps://app.revdoku.com/mcp. MCP manifests use"auth":"oauth"for account tools; the tool descriptors separately advertise the anonymous preview tools asnoauth.
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
Publish, update, and manage Markdown pages on a permanent shareable URL directly from your AI conversation.
Integrates Google's Gemini for advanced codebase analysis, web search, and processing of text, PDFs, and images.
Converts LaTeX mathematical expressions to MathML format using MathJax-node.
Dynamic QR code MCP server for AI agents — create, update, track QR codes
一条工務店で家を建てた施主「ろれさん」のブログ記事と、YouTube/X/Instagram/Web から集めた約3,000件の家づくり Tips を横断検索できる MCP サーバ。すべての結果に出典URLが付きます。
Generate express market research reports from 9 verified sources (Wikipedia, Google News, GitHub, HN, SO, arXiv, npm, Reddit, PyPI). TAM/SAM/SOM, SWOT, HTML reports.
Manage and utilize website content within the DevHub CMS platform
Extentos is a multi-vendor development platform for adding smart-glasses capabilities to existing iOS and Android apps. The simplest analogy is Stripe for smart glasses
An MCP server tailored for React Native–first development using Gluestack UI
Create and read feature flags, review experiments, generate flag types, search docs, and interact with GrowthBook's feature flagging and experimentation platform.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





