com.revdoku/revdoku
repo:https://github.com/revdoku/revdoku
Create account-free website previews and publish durable sites from AI agents with Revdoku.
- transport:
- remote
- credential class:
- gated
Owner verification
Not yet verified. Verifying proves you control this server and is free, permanently — it never changes a published score.
Start verification →Tools
- bucket_archiveshallow
Archive one bucket. Active websites must be unpublished first.
- bucket_createshallow
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_create_from_templateshallow
Create a private Revdoku bucket by importing files from a trusted Revdoku template manifest. The bucket is not published.
- bucket_delete_permanentlyshallow
Permanently delete an archived, unpublished normal bucket after confirmation. Get bucket_id and delete.confirmation from bucket_list or bucket_get.
- bucket_env_getshallow
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_setshallow
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`.
- bucket_file_append_textshallow
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_copyshallow
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_getshallow
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_listshallow
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_moveshallow
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_readshallow
Read one text bucket file (HTML/CSS/JS/JSON/Markdown/etc.) already stored in Revdoku. Not for binary files (images, fonts, PDFs).
- bucket_file_renameshallow
Rename or move one same-bucket file path by blob reference, creating a rename revision without reuploading bytes.
- bucket_file_reorganizeshallow
Batch rename, move, or copy files using server-side path/blob references. Use for folder cleanup or reorganization without reading or reuploading bytes.
- bucket_file_writeshallow
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_write_manyshallow
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_getshallow
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_listshallow
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_lockshallow
Lock a whole bucket before broad edits or uploads so other agents can see this connector is working.
- bucket_lock_filesshallow
Lock one or more bucket files before editing so other agents can see this connector is working.
- bucket_lock_visibility_changesshallow
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_publication_analyticsshallow
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_getshallow
Get one bucket website publication.
- bucket_publication_leadsshallow
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_listshallow
List active and historical bucket website publications visible to this MCP connector.
- bucket_publication_recipient_linksshallow
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_publishshallow
Queue an async publish or republish of the bucket's saved draft as a live public website. Read the current Free website allowance from revdoku_status publishing.free_plan.contract.limits.max_live_publications. 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_protectedshallow
Queue an async publish or republish of the bucket's saved draft with Password or Require Email access. New accounts start on the permanent Free plan. 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_previewshallow
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_slugshallow
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_template_listshallow
List trusted Revdoku bucket templates that can be imported into a new private bucket.
- bucket_unarchiveshallow
Restore one archived bucket back to the active bucket list.
- bucket_unlockshallow
Unlock a bucket locked by this MCP connector.
- bucket_unlock_fileshallow
Unlock a bucket file locked by this MCP connector.
- bucket_unpublishshallow
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_updateshallow
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 and paid plans may customize fields/copy. A page loads only the form type selected by its first valid {{REVDOKU_FORM:name}} or {{REVDOKU_FORM}} macro; without a macro it loads the first configured hosted form. Form changes are drafts until publish/republish.
- bucket_update_publication_accessshallow
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.
- revdoku_dashboard_linkshallow
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.
- revdoku_statusshallow
Check the authenticated Revdoku account and remote MCP capabilities, including onboarding state, features.github_sync eligibility, publishing.free_plan_available, the versioned publishing.free_plan.contract for current Free limits and indexing rules, 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. 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.
- website_preview_createshallow
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_statusshallow
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).
- website_preview_updateshallow
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.
Embed this server’s score
Tool count and median score across every tool in this server’s corpus — honest in a way a single cherry-picked tool’s badge wouldn’t be.
[](https://vouch.tools/servers/a6dbe215-4bad-4e02-ae09-4e0df81f4fe6)