Flodesk MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FLODESK_API_KEY | No | Private integration Basic username key; empty password. No fallback with named profiles. | |
| FLODESK_ACCOUNTS | No | Private unique {name,api_key,access_token,token_file,auth_type} profiles. | |
| FLODESK_AUDIT_LOG | No | Optional best-effort static guard log without payload/key. | |
| FLODESK_AUTH_TYPE | No | oauth for Bearer token files; blank infers inline credential or defaults file to api_key. | |
| FLODESK_READ_ONLY | No | 1/true hides and directly refuses all 16 confirmed operations. | |
| FLODESK_TOKEN_FILE | No | Absolute owner-private regular token-only file overriding only selected direct credential. | |
| FLODESK_ACCESS_TOKEN | No | Externally minted partner Bearer token, never alongside api_key; no refresh. | |
| FLODESK_DEFAULT_ACCOUNT | No | Exact selected private profile label, not provider owner proof. | |
| FLODESK_ALLOW_DESTRUCTIVE | No | 0/false refuses confirmed operations too. | |
| FLODESK_REQUEST_TIMEOUT_MS | No | Default 30000; allowed 100–300000; no automatic retries. | 30000 |
| FLODESK_MIN_REQUEST_INTERVAL_MS | No | Default 650; allowed 0–10000; process-wide ordinary spacing. | 650 |
| FLODESK_BATCH_MIN_REQUEST_INTERVAL_MS | No | Default 3100; allowed 0–60000; separate native batch-upsert window. | 3100 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_campaignsC | List campaigns. |
| publish_canva_emailC | Publish a Canva email design as a draft campaign. |
| get_canva_design_stateC | Get the latest Canva design state for auto-selecting campaigns. |
| publish_studio_emailC | Publish a Studio email export as a draft campaign. |
| list_custom_fieldsC | List all custom fields (pagination). |
| create_custom_fieldC | Create a custom field. |
| list_all_custom_fieldsC | List all custom fields. |
| list_segmentsC | List all segments. |
| create_segmentD | Create a segment. |
| list_segment_colorsC | List all segment colors. |
| get_segmentC | Retrieve a segment. |
| list_subscribersC | List all subscribers. |
| create_or_update_subscriberC | Create or update a subscriber. |
| batch_create_or_update_subscribersC | Create or update up to 50 subscribers in a single request. |
| get_subscriberC | Retrieve a subscriber. |
| remove_subscriber_from_segmentsC | Remove the subscriber from segments. |
| add_subscriber_to_segmentsC | Add the subscriber to segments. |
| unsubscribeC | Unsubscribe from all lists. |
| list_webhooksC | List all webhooks. |
| create_webhookC | Create a webhook. |
| delete_webhookC | Delete a webhook. |
| get_webhookC | Retrieve a webhook. |
| update_webhookC | Update a webhook. |
| list_workflowsC | List workflows. |
| add_subscriber_to_workflowA | Notes: |
| remove_subscriber_from_workflowC | Remove a subscriber from workflow. |
| list_accountsB | Local profile labels/default/auth method only. No keys, token paths, provider identity or network request. |
| get_operation_schemaA | Local reviewed method/path/query/body schema and provenance for one native tool. No credentials or provider request. |
| get_oauth_userinfoA | One fixed UserInfo GET for an explicitly selected externally minted OAuth access token. API keys refuse; no refresh, OAuth login or fallback. |
| preview_subscriber_batchB | Local validation and SHA-256 of exact ordered subscriber/segment/workflow/custom-field work, selected profile label and reviewed schema. No provider reads, key load, identity check, price or rollback guarantee. |
| submit_subscriber_batchA | Confirmed one-to-twenty ordered subscriber/segment/workflow/custom-field tasks. Prevalidate all and verify exact hash before first request. Stop on first failure with known results/failed index/unattempted indices; no retries, rollback or implicit continuation. |
| save_subscriber_pageB | Confirmed one-page GET saved only to an exclusive new0600 JSON file. No CSV/cohort export, all-pages loop, overwrite, automatic upload or browser preview. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 32 tools
Most tools target distinct resources, but list_custom_fields and list_all_custom_fields are near-duplicates, and the batch surface (batch_create_or_update_subscribers, preview_subscriber_batch, submit_subscriber_batch) plus get_subscriber vs save_subscriber_page create real selection ambiguity.
Names predominantly follow a snake_case verb_noun convention (list_webhooks, create_segment, add_subscriber_to_workflow), which is highly predictable, with only minor deviations like the bare 'unsubscribe'.
32 tools is heavy for the domain and includes several auxiliary/local utilities (get_operation_schema, list_accounts, get_oauth_userinfo, save_subscriber_page) that inflate the surface beyond core marketing operations.
Webhooks have full CRUD and subscribers are well covered, but segments and custom fields lack update/delete, and campaigns only support list/publish with no get or update, leaving notable lifecycle gaps.