Revdoku
@revdoku
About Revdoku
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.
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"revdoku": {
"url": "https://app.revdoku.com/mcp"
}
}
}Tools
42Create 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.
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.
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).
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 [email protected] 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.
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.
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.
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.
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.
List trusted Revdoku bucket templates that can be imported into a new private bucket.
Create a private Revdoku bucket by importing files from a trusted Revdoku template manifest. The bucket is not published.
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.
Archive one bucket. Active websites must be unpublished first.
Restore one archived bucket back to the active bucket list.
Permanently delete an archived, unpublished normal bucket after confirmation. Get bucket_id and delete.confirmation from bucket_list or bucket_get.
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.
Read one text bucket file (HTML/CSS/JS/JSON/Markdown/etc.) already stored in Revdoku. Not for binary files (images, fonts, PDFs).
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.
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.
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.
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.
Rename or move one same-bucket file path by blob reference, creating a rename revision without reuploading bytes.
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.
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.
Batch rename, move, or copy files using server-side path/blob references. Use for folder cleanup or reorganization without reading or reuploading bytes.
Lock a whole bucket before broad edits or uploads so other agents can see this connector is working.
Unlock a bucket locked by this MCP connector.
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.
Lock one or more bucket files before editing so other agents can see this connector is working.
Unlock a bucket file locked by this MCP connector.
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).
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).
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.
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.
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.
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.
List active and historical bucket website publications visible to this MCP connector.
Get one bucket website publication.
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.
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.
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.
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).
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`.
Overview
What is Revdoku?
Revdoku is an MCP server that lets AI agents (like Claude, Codex, or ChatGPT) create and manage Revdoku buckets, write website files, publish live sites, and use Revdoku’s app-site database features. It turns AI-generated reports, dashboards, or prototypes into real websites—public, password-protected, or on a custom domain.
How to use Revdoku?
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.
Key features of Revdoku
- 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.
Use cases of Revdoku
- Publish an AI‑generated report as a public website.
- Host a password‑protected dashboard for a client.
- Keep a stable URL while iterating content with AI.
- Collect user feedback or submissions via embedded forms.
- Build a searchable support page that notifies the owner.
FAQ from Revdoku
What makes Revdoku different from other site deployment tools?
Revdoku is designed specifically for AI agents: it allows them to create, publish, and update websites programmatically without manual steps, and the URL never changes even when content is regenerated.
What are the system requirements or dependencies?
The README does not specify any dependencies. It requires an AI agent that supports MCP and an internet connection to reach the remote endpoint at https://app.revdoku.com/mcp.
Where does the website data live?
Website files and bucket data are stored on Revdoku’s servers. The exact data residency is not detailed in the README.
What transport and authentication does Revdoku use?
The server uses a remote MCP endpoint (likely HTTPS). No authentication details are provided in the README.
Are there any known limits?
The README does not mention any limits on number of buckets, sites, or visitors.
Frequently asked questions
What makes Revdoku different from other site deployment tools?
Revdoku is designed specifically for AI agents: it allows them to create, publish, and update websites programmatically without manual steps, and the URL never changes even when content is regenerated.
What are the system requirements or dependencies?
The README does not specify any dependencies. It requires an AI agent that supports MCP and an internet connection to reach the remote endpoint at `https://app.revdoku.com/mcp`.
Where does the website data live?
Website files and bucket data are stored on Revdoku’s servers. The exact data residency is not detailed in the README.
What transport and authentication does Revdoku use?
The server uses a remote MCP endpoint (likely HTTPS). No authentication details are provided in the README.
Are there any known limits?
The README does not mention any limits on number of buckets, sites, or visitors.
Basic information
More AI & Agents MCP servers
fhirHydrant
faulkjOpen-source Node.js FHIR MCP server with SMART Backend Services, metadata-aware search/CRUD tools, compact responses, FHIRPath filtering, safe pagination, audit events, and terminology lookup.

Transform MCP
UnstructuredThe Unstructured Transform MCP Server connects your ADK agent to Unstructured, a document processing platform that turns raw files into structured, AI-ready data. This integration gives your agent the ability to parse PD
PDI Bridge for Claude
jxrlabsConnect Claude Desktop to your ServiceNow PDI. Query records, inspect Business Rules, review ACLs, and troubleshoot against your live instance.
🔎 GPT Researcher
assafelovicAn autonomous agent that conducts deep research on any data using any LLM providers
Agentic Atlas
Avery JonesConsult field-tested agent-system design patterns through 8 hosted, read-only tools for orientation, deep reading, relationships, provenance, glossary terms, and publication decisions.
Comments