Self-hosted publishing for HTML and Markdown artifacts with per-document access control, on your own Cloudflare account — CLI and remote MCP server.
PageVault exposes 16 tools with inconsistent quality. Tool names follow verb_noun convention (publish, list, edit, delete, share, views, sync-views, export, backup, restore, verify, health, status, login, deployments, destroy), which is good. However, descriptions are present but often terse (10-50 chars), lacking context on WHEN to use each tool or what happens on failure. Input schemas are visible in the source but lack depth: most parameters have descriptions, but enums are missing where they should exist (e.g., 'kind' accepts 'private|restricted|public' but is not declared as an enum; 'format' accepts 'table|json' but is free-form string). Output schemas are not documented anywhere, LLMs cannot predict what list(), views(), or export() return. Error handling is absent from tool definitions. No tool declares permissions or security implications. The 'destroy' tool is destructive but has no confirmation pattern or dry-run option documented.
Snapshot the KV namespace to a JSON file
Delete a document from the deployment
List registered deployments
Tear down the deployment — Worker, DNS, Access apps, group, and KV data
Edit an existing document's metadata (title, kind, sharing)
Export all documents from a deployment as a browsable folder tree
Assert the live /health endpoint matches this checkout's build
No output schemas documented. LLMs cannot predict what list(), views(), export(), or backup() return. This forces agents to guess at response structure and breaks tool chaining.
Enum constraints missing. Parameters like 'kind' (private|restricted|public), 'format' (table|json), 'by' (doc|portal|day|referrer), and 'source-kind' (html|markdown) are free-form strings instead of declared enums. LLMs will hallucinate invalid values.
Destructive tools (delete, destroy, restore) lack confirmation or dry-run patterns. No tool description warns that these are irreversible. Agents may execute without user consent.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | <=2025-11-25 | v2 |
List documents in a deployment
Log in to a PageVault deployment and save credentials
Publish a document (HTML or Markdown) to a PageVault deployment
Restore a backup into the KV namespace
Share a document with additional email addresses or generate a public link
Show what this clone is configured for (versions, rung, account)
Promote view counts from Analytics Engine into the deployment for durability
Smoke-test the live deployment
Query view analytics for documents
Credentials exposed as parameters. 'login' tool accepts 'token' as a parameter, this will be logged in agent traces and prompt history. Use server-side secret injection instead.
Descriptions too terse. 'verify' (35 chars), 'delete' (35 chars), 'destroy' (35 chars), 'status' (45 chars) lack context on WHEN to use them or what they return. Baseline is 194 chars; these are 5-10x too short.