Log inPreview your site
Sampled: ChatGPT · Gemini · monthlyReceipts kept · unsampled ≠ absentYou approve every change — verified live

mcp · customer-owned agents

Foliora for the agents you already run.

One Streamable HTTP server on this URL. Same handlers as /api/v1 for public discovery. A customer-owned agent can inspect the product, send a human to preview, read exact changes the customer approved in Foliora, publish them with credentials the agent already holds, and return a receipt for live verification.

Tools

Public tools need no account. Account and execution tools use OAuth or an API key created in Account settings.

get_product

Return Foliora product facts: brand, per-site plans, canonical URLs, and product boundaries. Use when the user asks what Foliora is, how much it costs, or which URL to open. Does not crawl a site.

get_snapshot

Fetch a Foliora preview snapshot the human already started. Requires the 32-character hex token from /preview/{token}. Returns public findings and pages only. Unknown tokens are not_found. Does not start a crawl.

create_preview_link

Build a Foliora /preview URL for a public website. Does not crawl, does not take credentials, and does not change the site. Send the human to the returned previewUrl so they can start the snapshot in a browser.

list_sites

List sites owned by the authenticated Foliora account with crawl and finding status. Requires OAuth or a Foliora API key with read scope.

get_site_brief

Return the authenticated customer's current site model, recent runs, open findings, measurement series, question panel, and page jobs.

list_approved_changes

List exact change sets the customer already approved. Optionally filter by site. This never approves or publishes a change.

get_approved_change

Return an already-approved canonical hash and its ordered typed operations. Apply exactly these values; do not reinterpret or regenerate them.

report_publication

Record proof that the customer's agent applied every operation from an already-approved canonical hash. This does not approve a change. Every receipt value must exactly match Foliora's stored operation.

verify_publication

Queue Foliora's rendered production verification after a valid external publication receipt exists. Safe to retry; the same open verification run is returned.

list_findings

List the crawl findings still open on a site: SEO and AI-readiness plumbing such as missing descriptions, blocked AI crawlers, missing llms.txt, stale articles. Each row carries a code, severity, evidence URL, and plain-language fix guidance. Read-only.

get_change_status

For one change set: approval, publication (Foliora's or the agent's receipt), live verification outcome, and every re-asked question with whether ChatGPT or Gemini mentioned or cited the site afterwards. Read-only.

report_finding_fix

After the agent fixes a finding on the site (a meta description, a robots rule, llms.txt), mark it fix_reported with a short note. Foliora's next crawl confirms it as resolved or reopens it; the report is never taken on faith. Requires execute access.

request_recrawl

Pull the site's next crawl forward so reported fixes are checked sooner. One crawl per six hours per site; the response says whether it was queued, already running, or on cooldown and when it can run next. Requires execute access.

Connect

Point any MCP client at https://www.foliora.ai/mcp. Public discovery needs no key. Account tools use OAuth or a named API key. MCP can never approve or roll back a change.

Claude Code

claude mcp add --transport http foliora https://www.foliora.ai/mcp

Cursor / any mcp.json client

{
  "mcpServers": {
    "foliora": {
      "url": "https://www.foliora.ai/mcp"
    }
  }
}

REST

GET  https://www.foliora.ai/api/v1/product
POST https://www.foliora.ai/api/v1/preview-links
GET  https://www.foliora.ai/api/v1/snapshots/{token}

humans still approve

You approve the exact hash. Your agent can publish it. Foliora verifies it live.

Run a snapshot