Foliade
REMOTE · FOLIADE.GEKKODE.COM
Turn PDFs into mobile flipbook catalogues: upload private drafts, customise, publish, get stats.
Available components
Last scanned (5 hours ago)
Scores higher than 98% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Documents and Files
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security97
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability69
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 2387 tokens (~68/item across 35 items; 35 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage67
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 36 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 26 Oct 26 +1
- Stability: 0.97 → pass security
- 24 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 22 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 20 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://foliade.gekkode.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=gekkode.com | CN=WE1,O=Google Trust Services,C=US | 3 Oct 2026 | 1 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | 64a724d27d9c74a20ed24f9124630de5 |
| SANs: gekkode.com, *.gekkode.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of foliade.gekkode.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| gekkode.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer resource_metadata="https://foliade.gekkode.com/.well-known/oauth-protected-resource/mcp"
Bearer resource_metadata="https://foliade.gekkode.com/.well-known/oauth-protected-resource/mcp" | Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'self'; script-src 'self' 'nonce-3MPhaoJ6tenKpQrdedxcOQ'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; media-src 'self' data:; font-src 'self' data:; object-src 'none'; base-uri 'self'; form-action 'self'; frame-src *; frame-ancestors 'none' |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | no-referrer |
| permissions-policy | camera=(), microphone=(), geolocation=() |
Protected resource metadata
| Document | https://foliade.gekkode.com/.well-known/oauth-protected-resource/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://foliade.gekkode.com/mcp |
| Authorisation server | https://foliade.gekkode.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://foliade.gekkode.com/mcp | Verified | 200 | |
| http (plaintext) | http://foliade.gekkode.com/mcp | HTTPS enforced | 301 | https://foliade.gekkode.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
foliade_account Check the connected Foliade account ~27
Confirms the address and the plan of the destination account, without secrets or payment data.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
foliade_apply_theme Apply a theme to a catalogue ~49
Copies the styling and media of a theme of this account onto this catalogue.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| expected_revision | string | yes | – |
| theme_id | integer | yes | – |
No output schema declared.
No examples provided.
foliade_capabilities Discover the MCP settings, entitlements and schemas ~67
Effective 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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
foliade_catalogue_stats Read the statistics of a catalogue ~41
Aggregated statistics: reads and contacts, without disclosing the contact details.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| days | integer | – | – |
No output schema declared.
No examples provided.
foliade_catalogue_status Check the conversion and the state of a catalogue ~42
Private state: owner OAuth or guest token, never the public link alone.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| guest_token | string | – | – |
No output schema declared.
No examples provided.
foliade_create_shelf Create a private shelf ~43
Creates a shelf as a draft. The Distributeur plan is required; nothing is published automatically.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
| patch | – | yes | – |
No output schema declared.
No examples provided.
foliade_create_theme Create a theme from a catalogue ~53
Saves the existing styling and media of the catalogue as a theme, within the limit of the plan.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| expected_revision | string | yes | – |
| name | string | yes | – |
No output schema declared.
No examples provided.
foliade_create_tracking_link Create a tracking link without sending any message ~57
Creates a named Business link. No email is sent; does not publish the catalogue.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| string | – | – | |
| note | string | – | – |
| recipient | string | yes | – |
No output schema declared.
No examples provided.
foliade_finalize_upload Convert the uploaded PDF into a draft ~76
Finalises 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.
| Name | Type | Req | Description |
|---|---|---|---|
| guest_token | string | – | – |
| upload_id | string | yes | – |
No output schema declared.
No examples provided.
foliade_get_brand Read the account brand settings ~24
Brand name, colour and default PDF download; without any billing information.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
foliade_get_catalogue_settings Read every reader and catalogue setting ~40
Settings, table of contents, lead capture, protection without secrets, and the revision needed for changes.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
No output schema declared.
No examples provided.
foliade_get_enrichments Read the interactive draft, the suggestions and its history ~37
Elements, published version, differences and revision. The files remain those of the catalogue.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
No output schema declared.
No examples provided.
foliade_get_shelf Read a shelf and its contents ~32
Settings, catalogues in order, and revision of the shelf.
| Name | Type | Req | Description |
|---|---|---|---|
| shelf_id | string | yes | – |
No output schema declared.
No examples provided.
foliade_import_chapters Import the PDF bookmarks into the table of contents ~48
Merges the PDF bookmarks into the table of contents without duplicates.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| dry_run | boolean | – | – |
| expected_revision | string | yes | – |
No output schema declared.
No examples provided.
foliade_import_url Import a PDF from a public link ~144
Fetches 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.
| Name | Type | Req | Description |
|---|---|---|---|
| guest_mode | boolean | – | – |
| language | string | – | – |
| notice_version | string | – | – |
| title | string | – | – |
| url | string | yes | – |
No output schema declared.
No examples provided.
foliade_list_catalogues List the Foliade catalogues ~40
Lists the private and public catalogues of the connected account, with pagination.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| offset | integer | – | – |
No output schema declared.
No examples provided.
foliade_list_shelves List the account shelves ~38
Paginated list of the shelves and their settings, without passwords.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| offset | integer | – | – |
No output schema declared.
No examples provided.
foliade_list_themes List the saved brand themes ~44
Account themes, their settings and revisions; a theme is a copy, not a live link.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| offset | integer | – | – |
No output schema declared.
No examples provided.
foliade_list_tracking_links List the tracking links of a catalogue ~53
Named links of the catalogue owned by the account. Contains the recipients; do not disclose them publicly.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| limit | integer | – | – |
| offset | integer | – | – |
No output schema declared.
No examples provided.
foliade_prepare_upload Prepare the private upload of a PDF ~132
Creates 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.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | yes | – |
| guest_mode | boolean | – | – |
| language | string | – | – |
| notice_version | string | – | – |
| sha256 | string | yes | – |
| size_bytes | integer | yes | – |
| title | string | – | – |
No output schema declared.
No examples provided.
foliade_publish_catalogue Publish an existing Foliade draft ~65
Makes 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.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| guest_token | string | – | – |
No output schema declared.
No examples provided.
foliade_publish_enrichments Publish the validated interactive draft ~45
Publishes the interactive elements explicitly, with history. Does not publish the catalogue itself.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| expected_revision | string | yes | – |
No output schema declared.
No examples provided.
foliade_restore_enrichments Restore an interactive publication ~56
Restores a version of this catalogue after re-checking the plan; creates a new history entry.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| expected_revision | string | yes | – |
| publication_id | integer | yes | – |
No output schema declared.
No examples provided.
foliade_set_catalogue_access Set the catalogue protection and addresses ~122
Changes 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.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| domaine | – | – | – |
| dry_run | boolean | – | – |
| expected_revision | string | yes | – |
| password | string | – | – |
| protection | string | – | – |
| sous_domaine | – | – | – |
No output schema declared.
No examples provided.
foliade_set_chapters Configure the catalogue table of contents ~80
Replaces 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.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| chapters | array | yes | – |
| dry_run | boolean | – | – |
| expected_revision | string | yes | – |
No output schema declared.
No examples provided.
foliade_set_lead_capture Configure the lead capture form ~65
Sets activation, page, blocking mode, fields and consent. A plan with lead capture is required; email is mandatory.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| dry_run | boolean | – | – |
| expected_revision | string | yes | – |
| patch | – | yes | – |
No output schema declared.
No examples provided.
foliade_set_shelf_access Publish, protect or close a shelf ~86
Publication and access of the shelf on explicit request only; DNS/TLS remain separate.
| Name | Type | Req | Description |
|---|---|---|---|
| domaine | – | – | – |
| dry_run | boolean | – | – |
| expected_revision | string | yes | – |
| password | string | – | – |
| protection | string | – | – |
| shelf_id | string | yes | – |
| sous_domaine | – | – | – |
| state | string | – | – |
No output schema declared.
No examples provided.
foliade_set_shelf_catalogues Compose and order the catalogues of a shelf ~65
Replaces the contents of the shelf with this ordered list with collection names. The PDFs themselves are kept.
| Name | Type | Req | Description |
|---|---|---|---|
| dry_run | boolean | – | – |
| expected_revision | string | yes | – |
| items | array | yes | – |
| shelf_id | string | yes | – |
No output schema declared.
No examples provided.
foliade_unpublish_catalogue Unpublish a Foliade catalogue ~43
Closes the public link without deleting the data. Requires an explicit request.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| guest_token | string | – | – |
No output schema declared.
No examples provided.
foliade_update_brand Change the account brand settings ~55
Account-wide impact: use it when a global customisation is asked for, prefer update_catalogue for a single PDF.
| Name | Type | Req | Description |
|---|---|---|---|
| dry_run | boolean | – | – |
| expected_revision | string | yes | – |
| patch | – | yes | – |
No output schema declared.
No examples provided.
foliade_update_catalogue Change the reader and the metadata ~99
Changes 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.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| dry_run | boolean | – | – |
| expected_revision | string | yes | – |
| patch | – | yes | – |
No output schema declared.
No examples provided.
foliade_update_enrichments Save the interactive elements as a draft ~109
Replaces 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.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| dry_run | boolean | – | – |
| elements | array | yes | – |
| expected_revision | string | yes | – |
No output schema declared.
No examples provided.
foliade_update_shelf Configure the appearance and the reading of a shelf ~61
Texts, six layouts, covers, shelf boards, colours, fonts, collections, search and opening.
| Name | Type | Req | Description |
|---|---|---|---|
| dry_run | boolean | – | – |
| expected_revision | string | yes | – |
| patch | – | yes | – |
| shelf_id | string | yes | – |
No output schema declared.
No examples provided.
foliade_update_theme Change a saved theme ~71
Changes the theme for its future applications. make_default changes the starting point of new catalogues.
| Name | Type | Req | Description |
|---|---|---|---|
| dry_run | boolean | – | – |
| expected_revision | string | yes | – |
| make_default | boolean | – | – |
| name | – | – | – |
| patch | – | yes | – |
| theme_id | integer | yes | – |
No output schema declared.
No examples provided.
foliade_update_tracking_link Change or close a tracking link ~69
Changes recipient, note, email or active flag; closing is explicit and reversible, with no message sent.
| Name | Type | Req | Description |
|---|---|---|---|
| catalogue_id | string | yes | – |
| dry_run | boolean | – | – |
| expected_revision | string | yes | – |
| link_id | integer | yes | – |
| patch | – | yes | – |
No output schema declared.
No examples provided.
How do I install the Foliade MCP server?
Foliade is a hosted endpoint at https://foliade.gekkode.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · foliade.gekkode.com
claude mcp add --transport http com-gekkode-foliade 'https://foliade.gekkode.com/mcp'
What is the Foliade MCP server?
Foliade is an MCP server listed in the public MCP registry as com.gekkode/foliade. Turn PDFs into mobile flipbook catalogues: upload private drafts, customise, publish, get stats. This page covers its hosted endpoint (https://foliade.gekkode.com/mcp).
Is the Foliade MCP server safe to use?
Foliade scores 91 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Foliade MCP server expose?
Foliade exposes 35 tools: foliade_account, foliade_list_catalogues, foliade_prepare_upload, foliade_import_url, foliade_finalize_upload, and 30 more. Their descriptions and schemas cost roughly 2,178 tokens of context every time the server is loaded.
Does the Foliade MCP server require authentication?
Yes. Foliade asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the Foliade MCP server still maintained?
Foliade is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.