Foliade
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Turn PDFs into mobile flipbook catalogues: upload private drafts, customise, publish, get stats.
| Author | com.gekkode |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 1837 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Foliade": {
"url": "https://foliade.gekkode.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (35)
foliade_accountread-onlyConfirms the address and the plan of the destination account, without secrets or payment data.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
foliade_list_cataloguesread-onlyLists the private and public catalogues of the connected account, with pagination.
Parameters:
limit— integeroffset— integer
Hints: read-only yes · destructive no · idempotent not declared · open-world no
foliade_prepare_uploadCreates a single-use 10-minute deposit. Compute the size and the SHA-256 of the local PDF. Transfer the bytes to upload_url with PUT, Content-Type application/pdf, with the headers returned. Do not publish these headers in your reply. This ticket allows no reading and is not an API key for the account.
Parameters:
filename(required) — stringsize_bytes(required) — integersha256(required) — stringtitle— stringlanguage— stringguest_mode— booleannotice_version— string
Hints: read-only no · destructive no · idempotent not declared · open-world no
foliade_import_urlFetches a PDF that is already online and prepares it as a private draft. Use this when the user gives a link, or when your host hands you an attachment as a download URL rather than a local file. For a file on the user's machine, use foliade_prepare_upload instead. Only public https links are accepted, and the server checks that the link really returns a PDF. Call foliade_finalize_upload next with the upload_id.
Parameters:
url(required) — stringtitle— stringlanguage— stringguest_mode— booleannotice_version— string
Hints: read-only no · destructive no · idempotent not declared · open-world no
foliade_finalize_uploadFinalises an upload that has been received. A repeat returns the same catalogue, never a duplicate. Conversion is asynchronous: check foliade_catalogue_status before giving the final result. The catalogue stays private until it is published explicitly.
Parameters:
upload_id(required) — stringguest_token— string
Hints: read-only no · destructive no · idempotent yes · open-world no
foliade_catalogue_statusread-onlyPrivate state: owner OAuth or guest token, never the public link alone.
Parameters:
catalogue_id(required) — stringguest_token— string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
foliade_publish_catalogueMakes the catalogue public, on explicit request only. Keeps its identifier. It does not change the password or the addresses: those belong to foliade_set_catalogue_access.
Parameters:
catalogue_id(required) — stringguest_token— string
Hints: read-only no · destructive no · idempotent yes · open-world yes
foliade_catalogue_statsread-onlyAggregated statistics: reads and contacts, without disclosing the contact details.
Parameters:
catalogue_id(required) — stringdays— integer
Hints: read-only yes · destructive no · idempotent not declared · open-world no
foliade_unpublish_cataloguedestructiveCloses the public link without deleting the data. Requires an explicit request.
Parameters:
catalogue_id(required) — stringguest_token— string
Hints: read-only no · destructive yes · idempotent yes · open-world yes
foliade_capabilitiesread-onlyEffective entitlements, JSON schemas and examples. Read before configuring; omitted fields are kept, null is refused. Setting changes are visible immediately on a published catalogue. Binary media, PDF replacements, API keys, REST webhooks, team and billing stay in the workspace/API.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
foliade_get_catalogue_settingsread-onlySettings, table of contents, lead capture, protection without secrets, and the revision needed for changes.
Parameters:
catalogue_id(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
foliade_update_cataloguedestructiveChanges only the fields supplied: colours, bar, controls, sound, reading, logo, title, language, PDF. It never touches the table of contents, which belongs to foliade_set_chapters. dry_run returns a preview without writing. No change to the publication state.
Parameters:
catalogue_id(required) — stringpatch(required)expected_revision(required) — stringdry_run— boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
foliade_set_catalogue_accessdestructiveChanges access on explicit request only. Never publishes a draft. The password is never returned. This tool sets the password and the addresses; to make a draft public, use foliade_publish_catalogue. Declaring a domain does not configure DNS/TLS; activation remains a separate operation.
Parameters:
catalogue_id(required) — stringexpected_revision(required) — stringdomainedry_run— booleanpassword— stringprotection— stringsous_domaine
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
foliade_set_lead_capturedestructiveSets activation, page, blocking mode, fields and consent. A plan with lead capture is required; email is mandatory.
Parameters:
catalogue_id(required) — stringpatch(required)expected_revision(required) — stringdry_run— boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
foliade_set_chaptersdestructiveReplaces the table of contents with the ordered list supplied; an empty list removes it. Only the table of contents: every other reader setting stays with foliade_update_catalogue.
Parameters:
catalogue_id(required) — stringchapters(required) — arrayexpected_revision(required) — stringdry_run— boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
foliade_import_chaptersMerges the PDF bookmarks into the table of contents without duplicates.
Parameters:
catalogue_id(required) — stringexpected_revision(required) — stringdry_run— boolean
Hints: read-only no · destructive no · idempotent not declared · open-world yes
foliade_get_brandread-onlyBrand name, colour and default PDF download; without any billing information.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
foliade_update_branddestructiveAccount-wide impact: use it when a global customisation is asked for, prefer update_catalogue for a single PDF.
Parameters:
patch(required)expected_revision(required) — stringdry_run— boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
foliade_list_themesread-onlyAccount themes, their settings and revisions; a theme is a copy, not a live link.
Parameters:
limit— integeroffset— integer
Hints: read-only yes · destructive no · idempotent not declared · open-world no
foliade_create_themeSaves the existing styling and media of the catalogue as a theme, within the limit of the plan.
Parameters:
catalogue_id(required) — stringname(required) — stringexpected_revision(required) — string
Hints: read-only no · destructive no · idempotent not declared · open-world yes
foliade_update_themedestructiveChanges the theme for its future applications. make_default changes the starting point of new catalogues.
Parameters:
theme_id(required) — integerpatch(required)expected_revision(required) — stringnamedry_run— booleanmake_default— boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
foliade_apply_themedestructiveCopies the styling and media of a theme of this account onto this catalogue.
Parameters:
catalogue_id(required) — stringtheme_id(required) — integerexpected_revision(required) — string
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
foliade_get_enrichmentsread-onlyElements, published version, differences and revision. The files remain those of the catalogue.
Parameters:
catalogue_id(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
foliade_update_enrichmentsdestructiveReplaces the draft: 13 types, links, buttons, videos, forms, products, galleries, tours, questions. No element that is invalid or closed off by the plan is accepted. Nothing is published before publish_enrichments. See capabilities and get_enrichments for the examples and the native structure.
Parameters:
catalogue_id(required) — stringelements(required) — arrayexpected_revision(required) — stringdry_run— boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
foliade_publish_enrichmentsdestructivePublishes the interactive elements explicitly, with history. Does not publish the catalogue itself.
Parameters:
catalogue_id(required) — stringexpected_revision(required) — string
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
foliade_restore_enrichmentsdestructiveRestores a version of this catalogue after re-checking the plan; creates a new history entry.
Parameters:
catalogue_id(required) — stringpublication_id(required) — integerexpected_revision(required) — string
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
foliade_list_shelvesread-onlyPaginated list of the shelves and their settings, without passwords.
Parameters:
limit— integeroffset— integer
Hints: read-only yes · destructive no · idempotent not declared · open-world no
foliade_get_shelfread-onlySettings, catalogues in order, and revision of the shelf.
Parameters:
shelf_id(required) — string
Hints: read-only yes · destructive no · idempotent not declared · open-world no
foliade_create_shelfCreates a shelf as a draft. The Distributeur plan is required; nothing is published automatically.
Parameters:
name(required) — stringpatch(required)
Hints: read-only no · destructive no · idempotent not declared · open-world yes
foliade_update_shelfdestructiveTexts, six layouts, covers, shelf boards, colours, fonts, collections, search and opening.
Parameters:
shelf_id(required) — stringpatch(required)expected_revision(required) — stringdry_run— boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
foliade_set_shelf_cataloguesdestructiveReplaces the contents of the shelf with this ordered list with collection names. The PDFs themselves are kept.
Parameters:
shelf_id(required) — stringitems(required) — arrayexpected_revision(required) — stringdry_run— boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
foliade_set_shelf_accessdestructivePublication and access of the shelf on explicit request only; DNS/TLS remain separate.
Parameters:
shelf_id(required) — stringexpected_revision(required) — stringstate— stringdomainedry_run— booleanpassword— stringprotection— stringsous_domaine
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
foliade_list_tracking_linksread-onlyNamed links of the catalogue owned by the account. Contains the recipients; do not disclose them publicly.
Parameters:
catalogue_id(required) — stringlimit— integeroffset— integer
Hints: read-only yes · destructive no · idempotent not declared · open-world no
foliade_create_tracking_linkCreates a named Business link. No email is sent; does not publish the catalogue.
Parameters:
catalogue_id(required) — stringrecipient(required) — stringnote— stringemail— string
Hints: read-only no · destructive no · idempotent not declared · open-world yes
foliade_update_tracking_linkdestructiveChanges recipient, note, email or active flag; closing is explicit and reversible, with no message sent.
Parameters:
catalogue_id(required) — stringlink_id(required) — integerpatch(required)expected_revision(required) — stringdry_run— boolean
Hints: read-only no · destructive yes · idempotent not declared · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.