FlipLetters
REMOTE · APP.FLIPLETTERS.COM · 2 COMPONENTS
Draft, validate, render, and share split-flap and flip-dot board videos written in flipcode.
Available components
Last scanned (2 hours ago)
Scores higher than 91% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Design and Media
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 Security89
- 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
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability74
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 1602 tokens (~123/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management63
- Stability observed for 19 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage96
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 85% of tool parameters carry a description.Partial
- Structured output schemas are declared (46% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 13 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.
- 4 Nov 26 0
- Tool “flipletters_share_to_team” rewrote its description, which is the text the model reads security
- Tool “flipletters_share_to_postiz” rewrote its description, which is the text the model reads security
- Tool “flipletters_render_board” rewrote its description, which is the text the model reads security
- Tool “flipletters_create_animation” rewrote its description, which is the text the model reads security
- Schema quality: 109 → 123 ▼ functional
- 3 Nov 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.
- 1 Nov 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.
- 30 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 25 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 24 Oct 26 +3
- Authorization: fail → pass ▲ security
- First check of Authorization: partial security
- Schema quality: pass → fail ▼ functional
- Tool coverage: 33% → 46% ▲ functional
- Tool “flipletters_render_board” now declares an output schema ▲ functional
- New tool “flipletters_create_animation” functional
- “flipletters_render_board” reworded the description of “wait” cosmetic
- 22 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 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://app.flipletters.com/mcp/v1
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=flipletters.com | CN=WE1,O=Google Trust Services,C=US | 27 Sept 2026 | 26 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 2c32b2391e59527f134cc1c1406186c5 |
| SANs: flipletters.com, *.flipletters.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 app.flipletters.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| flipletters.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 realm="FlipLetters", resource_metadata="https://app.flipletters.com/.well-known/oauth-protected-resource/mcp/v1", scope="flipletters"
Bearer realm="FlipLetters", resource_metadata="https://app.flipletters.com/.well-known/oauth-protected-resource/mcp/v1", scope="flipletters" Protected resource metadata
| Document | https://app.flipletters.com/.well-known/oauth-protected-resource/mcp/v1 |
|---|---|
| Retrieved | Yes |
| Resource | https://app.flipletters.com/mcp/v1 |
| Authorisation server | https://app.flipletters.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://app.flipletters.com/mcp/v1 | Verified | 200 | |
| http (plaintext) | http://app.flipletters.com/mcp/v1 | HTTPS enforced | 301 | https://app.flipletters.com:443/mcp/v1 |
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 →
flipletters_create_animation Create a split-flap animation from text ~213
One call from plain text to a FlipLetters video: builds a board on a text template (default minimal), checks the text against FlipLetters content rules, cloud-renders an MP4 under the signed-in owner's plan (free renders carry the FlipLetters watermark), and returns mp4Url (downloadable HTTPS), shareUrl (opens in Studio), jobId, status and expiresAt. If the render is still running when this returns, poll flipletters_render_status with jobId. Not idempotent: each call starts a new render and counts against the plan's render quota; poll render_status instead of calling again. If a call fails or times out, confirm with the user before retrying.
| Name | Type | Req | Description |
|---|---|---|---|
| template | string | – | Board type: minimal, trainboard, marquee, announcement, arena (aliases like station, desk, poster, lightbox ok). Default minimal. |
| text | string | yes | What the board should say, e.g. "I love sourdough". Newlines force line breaks. |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string|null | yes | – |
| expiresAt | string|null | yes | ISO time the mp4Url stops working, or null when it does not expire. |
| fileName | string|null | yes | – |
| jobId | string|null | yes | – |
| mp4Url | string|null | yes | HTTPS download URL for the finished MP4 (public token URL; no expiry). Null until status is done. |
| shareUrl | string|null | yes | Opens the board in FlipLetters Studio. Null if the board is too large for a URL. |
| status | string | yes | queued | running | done | error | cancelled | moderated | paywall |
| watermarked | boolean|null | yes | – |
No examples provided.
flipletters_example_board Example board ~97
Returns a complete, valid flipcode document for a board type (minimal, trainboard/station, artboard, flipdot, marquee, announcement, arena) — a known-good starting point to edit rather than writing from scratch.
| Name | Type | Req | Description |
|---|---|---|---|
| template | string | yes | Board type or alias: minimal, trainboard, station, artboard, art, flipdot, dots, marquee, desk, announcement, poster, arena, lightbox. |
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | – |
| template | string | yes | – |
No examples provided.
flipletters_flipcode_reference flipcode reference ~57
Returns the flipcode cheat sheet (spec v1): directives, board types and size limits, transition modes, and flip-native effect recipes. Call this before writing a board so the code you produce is valid on the first try.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| reference | string | yes | – |
No examples provided.
flipletters_list_postiz_destinations List Postiz share accounts on a project ~61
Lists Postiz destinations (masked keys) attached to a FlipLetters project. Use flipletters_list_workspaces first. Requires Authorization: Bearer flk_….
| Name | Type | Req | Description |
|---|---|---|---|
| workspaceId | string | yes | Project id from flipletters_list_workspaces. |
No output schema declared.
No examples provided.
flipletters_list_postiz_integrations List channels on a Postiz destination ~63
Lists connected social channels for a project's Postiz share account. Use before flipletters_share_to_postiz to get integrationId. Requires Authorization: Bearer flk_….
| Name | Type | Req | Description |
|---|---|---|---|
| destinationId | string | yes | – |
| workspaceId | string | yes | – |
No output schema declared.
No examples provided.
flipletters_list_teams List my teams ~43
Lists FlipLetters teams the API key owner belongs to (teamId, name, inviteCode). Requires Authorization: Bearer flk_… with team scope.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
flipletters_list_workspaces List FlipLetters projects ~50
Lists agency projects (workspaces) for the API key owner, plus the active project id. Project-scoped keys return their bound project as active. Requires Authorization: Bearer flk_….
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
flipletters_render_board Cloud-render a board to MP4 ~215
Parses flipcode and submits a cloud MP4 render under the API key owner's FlipLetters plan (same free quota / Premium / Studio limits as the Studio). Requires Authorization: Bearer flk_… (or FLIPLETTERS_API_KEY on stdio). Polls until done (or returns jobId if wait=false). Prefer share links for free previews; only render when the human wants an MP4 file. Not idempotent: each call starts a new render and counts against the plan's render quota; poll flipletters_render_status instead of calling again. If a call fails or times out, confirm with the user before retrying.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | Complete flipcode document. |
| repeat | integer | – | Loop the segment this many times (default 1). Caps apply for long / 4K exports. |
| wait | boolean | – | If true (default), poll until done/error (hosted: up to ~45s, then poll render_status). If false, return jobId immediately. |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string|null | yes | – |
| expiresAt | string|null | yes | ISO time the mp4Url stops working, or null when it does not expire. |
| fileName | string|null | yes | – |
| jobId | string|null | yes | – |
| mp4Url | string|null | yes | HTTPS download URL for the finished MP4 (public token URL; no expiry). Null until status is done. |
| shareUrl | string|null | yes | Opens the board in FlipLetters Studio. Null if the board is too large for a URL. |
| status | string | yes | queued | running | done | error | cancelled | moderated | paywall |
| watermarked | boolean|null | yes | – |
No examples provided.
flipletters_render_status Cloud render job status ~47
Poll a cloud render job started with flipletters_render_board. Requires Authorization: Bearer flk_….
| Name | Type | Req | Description |
|---|---|---|---|
| jobId | string | yes | Job id returned by flipletters_render_board. |
No output schema declared.
No examples provided.
flipletters_share_to_postiz Schedule export on Postiz ~284
Uploads a cloud media URL (or Studio host local fileName) to a project's Postiz destination and schedules/drafts/posts it. Loop: render_board → list_workspaces → list_postiz_destinations → list_postiz_integrations → share_to_postiz. Requires Authorization: Bearer flk_…. Prefer mediaUrl from flipletters_render_board. Posts publicly to the connected social account when not drafted; confirm the destination and caption with the user before calling. Not idempotent: each call creates another post. If a call fails or times out, confirm with the user before retrying.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | – | Caption / post body. |
| date | string | yes | UTC ISO datetime, e.g. 2026-08-14T15:00:00.000Z |
| destinationId | string | yes | Postiz destination id on that project. |
| fileName | string | – | Local renders/*.mp4 name when Studio host has the file. |
| integrationId | string | yes | Postiz channel/integration id. |
| mediaUrl | string | – | HTTPS URL of the MP4 (from cloud render). |
| providerType | string | – | Postiz provider __type, e.g. tiktok, x, linkedin. |
| type | string | – | Default schedule. |
| workspaceId | string | yes | FlipLetters project id. |
No output schema declared.
No examples provided.
flipletters_share_to_team Share board to team library ~128
Parses flipcode and shares the board into a Team Library the key owner is a member of. Requires Authorization: Bearer flk_…. Use flipletters_list_teams first to get teamId. Not idempotent: each call adds another copy of the board to the Team Library. If a call fails or times out, confirm with the user before retrying.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | Complete flipcode document. |
| name | string | yes | Display name for the template in the team library. |
| teamId | string | yes | Team id from flipletters_list_teams. |
No output schema declared.
No examples provided.
flipletters_template_url Readable template URL ~230
Builds a human-readable FlipLetters Studio URL where every query parameter mirrors one flipcode line — good for short text boards you want legible in the address itself (chat messages, docs). For full fidelity or paint grids use flipletters_validate_board's share link instead. Slides are strings with | between rows.
| Name | Type | Req | Description |
|---|---|---|---|
| accent | string | – | Hex color, # optional. |
| board | string | – | Board type/alias, e.g. "station". |
| flip | string | – | Transition, commas for spaces: "cascade,9,0.2,0.4". |
| grid | string | – | ROWSxCOLS, e.g. "8x34". |
| hold | string | – | Seconds, e.g. "6". |
| out | string | – | Canvas: "vertical", "square", "1200x630@25", … |
| slides | array | – | Each entry is one slide; | separates rows: "EGGS BENEDICT|FLAT WHITE". |
| sound | string | – | – |
| speed | string | – | – |
| title | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | – |
No examples provided.
flipletters_validate_board Validate a board ~114
Parses a flipcode document, returning the normalized canonical code, any warnings (out-of-range values are clamped, unknown lines ignored), a board summary, and links: a share URL that opens the exact board in the FlipLetters Studio, and an open-with-code URL that also reveals the code panel. Use this after drafting a board; fix warnings and re-validate until clean, then give the human the share link.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | A complete flipcode document (see flipletters_flipcode_reference). |
| Name | Type | Req | Description |
|---|---|---|---|
| canonicalCode | string | yes | – |
| openWithCodeUrl | string|null | yes | – |
| shareUrl | string|null | yes | Opens this exact board in the Studio. Null when the board is too large for a URL — share the code text instead. |
| summary | object | yes | – |
| valid | boolean | yes | – |
| warnings | array | yes | – |
No examples provided.
How do I install the FlipLetters MCP server?
FlipLetters is a hosted endpoint at https://app.flipletters.com/mcp/v1, 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 · app.flipletters.com
claude mcp add --transport http com-flipletters-mcp 'https://app.flipletters.com/mcp/v1'
What is the FlipLetters MCP server?
FlipLetters is an MCP server listed in the public MCP registry as com.flipletters/mcp. Draft, validate, render, and share split-flap and flip-dot board videos written in flipcode. This page covers its hosted endpoint (https://app.flipletters.com/mcp/v1).
Is the FlipLetters MCP server safe to use?
FlipLetters scores 85 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 FlipLetters MCP server expose?
FlipLetters exposes 13 tools: flipletters_flipcode_reference, flipletters_validate_board, flipletters_example_board, flipletters_template_url, flipletters_create_animation, and 8 more. Their descriptions and schemas cost roughly 1,602 tokens of context every time the server is loaded.
Does the FlipLetters MCP server require authentication?
Yes. FlipLetters 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 FlipLetters MCP server still maintained?
FlipLetters 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.