Flodesk MCP Server & CLI
A free, open source Flodesk MCP server and CLI that lets Claude Code, Codex, Cursor and other AI agents manage your subscribers, segments and workflows, and draft campaigns.
0.0(0 ratings)- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
claude mcp add flodesk \
-e FLODESK_API_KEY=YOUR_API_KEY \
-- npx -y @thenavidm/flodesk-mcp-cli@latest - 2
In Claude Code, type /mcp. Flodesk should show as connected.
/mcp
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
claude mcp add flodesk -e FLODESK_API_KEY="YOUR_API_KEY" -- npx -y @thenavidm/flodesk-mcp-cli@latest - 2
In Claude Code, type /mcp. Flodesk should show as connected.
/mcp
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
claude mcp add flodesk \
-e FLODESK_API_KEY=YOUR_API_KEY \
-- npx -y @thenavidm/flodesk-mcp-cli@latest - 2
In Claude Code, type /mcp. Flodesk should show as connected.
/mcp
- 1Download the extension
Download the Claude Desktop extension.
- 2
Double-click it, and Claude Desktop installs it.
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
codex mcp add flodesk \
--env FLODESK_API_KEY=YOUR_API_KEY \
-- npx -y @thenavidm/flodesk-mcp-cli@latest - 2
Check that Codex lists it.
codex mcp list
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
codex mcp add flodesk --env FLODESK_API_KEY="YOUR_API_KEY" -- npx -y @thenavidm/flodesk-mcp-cli@latest - 2
Check that Codex lists it.
codex mcp list
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
codex mcp add flodesk \
--env FLODESK_API_KEY=YOUR_API_KEY \
-- npx -y @thenavidm/flodesk-mcp-cli@latest - 2
Check that Codex lists it.
codex mcp list
- 1
Open Cursor's settings, go to the MCP tab, and click Add new global MCP server.
- 2
Add the server.
Put your own API key in place of the example.
{
"mcpServers": {
"flodesk": {
"command": "npx",
"args": ["-y", "@thenavidm/flodesk-mcp-cli@latest"],
"env": {
"FLODESK_API_KEY": "YOUR_API_KEY"
}
}
}
} - 3
Open the MCP tab again. It should show 32 tools.
- 1
Open the Command Palette and run MCP: Open User Configuration.
- 2
Add the server to that mcp.json.
If the file already has servers, add only this one inside servers. Put your own API key in place of the example.
{
"servers": {
"flodesk": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@thenavidm/flodesk-mcp-cli@latest"],
"env": {
"FLODESK_API_KEY": "YOUR_API_KEY"
}
}
}
}
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
copilot mcp add flodesk \
--env FLODESK_API_KEY=YOUR_API_KEY \
-- npx -y @thenavidm/flodesk-mcp-cli@latest - 2
Check that Copilot CLI has it.
copilot mcp get flodesk
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
copilot mcp add flodesk --env FLODESK_API_KEY="YOUR_API_KEY" -- npx -y @thenavidm/flodesk-mcp-cli@latest - 2
Check that Copilot CLI has it.
copilot mcp get flodesk
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
copilot mcp add flodesk \
--env FLODESK_API_KEY=YOUR_API_KEY \
-- npx -y @thenavidm/flodesk-mcp-cli@latest - 2
Check that Copilot CLI has it.
copilot mcp get flodesk
- 1
Open your Gemini CLI settings.
~/.gemini/settings.json - 2
Add the server to settings.json.
If the file already has servers, add only this one inside mcpServers. Put your own API key in place of the example.
{
"mcpServers": {
"flodesk": {
"command": "npx",
"args": ["-y", "@thenavidm/flodesk-mcp-cli@latest"],
"env": {
"FLODESK_API_KEY": "YOUR_API_KEY"
}
}
}
} - 3
Restart Gemini CLI and type /mcp to check it.
/mcp
- 1
Open your Gemini CLI settings.
%USERPROFILE%\.gemini\settings.json - 2
Add the server to settings.json.
If the file already has servers, add only this one inside mcpServers. Put your own API key in place of the example.
{
"mcpServers": {
"flodesk": {
"command": "npx",
"args": ["-y", "@thenavidm/flodesk-mcp-cli@latest"],
"env": {
"FLODESK_API_KEY": "YOUR_API_KEY"
}
}
}
} - 3
Restart Gemini CLI and type /mcp to check it.
/mcp
- 1
Open your Gemini CLI settings.
~/.gemini/settings.json - 2
Add the server to settings.json.
If the file already has servers, add only this one inside mcpServers. Put your own API key in place of the example.
{
"mcpServers": {
"flodesk": {
"command": "npx",
"args": ["-y", "@thenavidm/flodesk-mcp-cli@latest"],
"env": {
"FLODESK_API_KEY": "YOUR_API_KEY"
}
}
}
} - 3
Restart Gemini CLI and type /mcp to check it.
/mcp
- 1
Open your OpenCode config.
~/.config/opencode/opencode.json - 2
Add the server under mcp.
If the file already has servers, add only this one inside mcp. Put your own API key in place of the example.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"flodesk": {
"type": "local",
"command": ["npx", "-y", "@thenavidm/flodesk-mcp-cli@latest"],
"enabled": true,
"environment": {
"FLODESK_API_KEY": "YOUR_API_KEY"
}
}
}
} - 3
Restart OpenCode.
- 1
Open your OpenCode config.
%USERPROFILE%\.config\opencode\opencode.json - 2
Add the server under mcp.
If the file already has servers, add only this one inside mcp. Put your own API key in place of the example.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"flodesk": {
"type": "local",
"command": ["npx", "-y", "@thenavidm/flodesk-mcp-cli@latest"],
"enabled": true,
"environment": {
"FLODESK_API_KEY": "YOUR_API_KEY"
}
}
}
} - 3
Restart OpenCode.
- 1
Open your OpenCode config.
~/.config/opencode/opencode.json - 2
Add the server under mcp.
If the file already has servers, add only this one inside mcp. Put your own API key in place of the example.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"flodesk": {
"type": "local",
"command": ["npx", "-y", "@thenavidm/flodesk-mcp-cli@latest"],
"enabled": true,
"environment": {
"FLODESK_API_KEY": "YOUR_API_KEY"
}
}
}
} - 3
Restart OpenCode.
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
openclaw mcp add flodesk \
--command npx \
--arg -y \
--arg @thenavidm/flodesk-mcp-cli@latest \
--env FLODESK_API_KEY=YOUR_API_KEY - 2
Check that it starts and lists its tools.
openclaw mcp doctor flodesk --probe
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
openclaw mcp add flodesk --command npx --arg -y --arg @thenavidm/flodesk-mcp-cli@latest --env FLODESK_API_KEY="YOUR_API_KEY" - 2
Check that it starts and lists its tools.
openclaw mcp doctor flodesk --probe
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
openclaw mcp add flodesk \
--command npx \
--arg -y \
--arg @thenavidm/flodesk-mcp-cli@latest \
--env FLODESK_API_KEY=YOUR_API_KEY - 2
Check that it starts and lists its tools.
openclaw mcp doctor flodesk --probe
- 1
In the agent panel, click the … menu, then MCP Servers, Manage MCP Servers and View raw config.
- 2
Add the server to mcp_config.json.
If the file already has servers, add only this one inside mcpServers. Put your own API key in place of the example.
{
"mcpServers": {
"flodesk": {
"command": "npx",
"args": ["-y", "@thenavidm/flodesk-mcp-cli@latest"],
"env": {
"FLODESK_API_KEY": "YOUR_API_KEY"
}
}
}
}
- 1
Open your Hermes config.
~/.hermes/config.yaml - 2
Add the server under mcp_servers.
If the file already has mcp_servers, add only this one under it. Put your own API key in place of the example.
mcp_servers:
flodesk:
command: "npx"
args: ["-y", "@thenavidm/flodesk-mcp-cli@latest"]
env:
FLODESK_API_KEY: "YOUR_API_KEY"
- 1
Open your Hermes config.
%USERPROFILE%\.hermes\config.yaml - 2
Add the server under mcp_servers.
If the file already has mcp_servers, add only this one under it. Put your own API key in place of the example.
mcp_servers:
flodesk:
command: "npx"
args: ["-y", "@thenavidm/flodesk-mcp-cli@latest"]
env:
FLODESK_API_KEY: "YOUR_API_KEY"
- 1
Open your Hermes config.
~/.hermes/config.yaml - 2
Add the server under mcp_servers.
If the file already has mcp_servers, add only this one under it. Put your own API key in place of the example.
mcp_servers:
flodesk:
command: "npx"
args: ["-y", "@thenavidm/flodesk-mcp-cli@latest"]
env:
FLODESK_API_KEY: "YOUR_API_KEY"
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give Claude Code the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Claude Code what each command does and which ones ask first.
mkdir -p ~/.claude/skills/flodesk
cp "$(npm root -g)/@thenavidm/flodesk-mcp-cli/SKILL.md" ~/.claude/skills/flodesk/ - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask Claude Code to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Claude Code finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give Claude Code the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Claude Code what each command does and which ones ask first.
New-Item -ItemType Directory -Force "$HOME\.claude\skills\flodesk" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\flodesk-mcp-cli\SKILL.md" "$HOME\.claude\skills\flodesk\" - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
setx FLODESK_API_KEY "YOUR_API_KEY" - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask Claude Code to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Claude Code finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give Claude Code the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Claude Code what each command does and which ones ask first.
mkdir -p ~/.claude/skills/flodesk
cp "$(npm root -g)/@thenavidm/flodesk-mcp-cli/SKILL.md" ~/.claude/skills/flodesk/ - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask Claude Code to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Claude Code finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give Codex the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Codex what each command does and which ones ask first.
mkdir -p ~/.agents/skills/flodesk
cp "$(npm root -g)/@thenavidm/flodesk-mcp-cli/SKILL.md" ~/.agents/skills/flodesk/ - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask Codex to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Codex finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give Codex the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Codex what each command does and which ones ask first.
New-Item -ItemType Directory -Force "$HOME\.agents\skills\flodesk" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\flodesk-mcp-cli\SKILL.md" "$HOME\.agents\skills\flodesk\" - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
setx FLODESK_API_KEY "YOUR_API_KEY" - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask Codex to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Codex finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give Codex the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Codex what each command does and which ones ask first.
mkdir -p ~/.agents/skills/flodesk
cp "$(npm root -g)/@thenavidm/flodesk-mcp-cli/SKILL.md" ~/.agents/skills/flodesk/ - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask Codex to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Codex finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask Cursor to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Cursor finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
setx FLODESK_API_KEY "YOUR_API_KEY" - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask Cursor to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Cursor finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask Cursor to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Cursor finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask VS Code to use flodesk-cli.
Running flodesk-cli on its own lists every command, so VS Code finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
setx FLODESK_API_KEY "YOUR_API_KEY" - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask VS Code to use flodesk-cli.
Running flodesk-cli on its own lists every command, so VS Code finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask VS Code to use flodesk-cli.
Running flodesk-cli on its own lists every command, so VS Code finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give Copilot CLI the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Copilot CLI what each command does and which ones ask first.
mkdir -p ~/.copilot/skills/flodesk
cp "$(npm root -g)/@thenavidm/flodesk-mcp-cli/SKILL.md" ~/.copilot/skills/flodesk/ - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask Copilot CLI to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Copilot CLI finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give Copilot CLI the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Copilot CLI what each command does and which ones ask first.
New-Item -ItemType Directory -Force "$HOME\.copilot\skills\flodesk" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\flodesk-mcp-cli\SKILL.md" "$HOME\.copilot\skills\flodesk\" - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
setx FLODESK_API_KEY "YOUR_API_KEY" - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask Copilot CLI to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Copilot CLI finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give Copilot CLI the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells Copilot CLI what each command does and which ones ask first.
mkdir -p ~/.copilot/skills/flodesk
cp "$(npm root -g)/@thenavidm/flodesk-mcp-cli/SKILL.md" ~/.copilot/skills/flodesk/ - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask Copilot CLI to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Copilot CLI finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask Gemini CLI to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Gemini CLI finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
setx FLODESK_API_KEY "YOUR_API_KEY" - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask Gemini CLI to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Gemini CLI finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask Gemini CLI to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Gemini CLI finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give OpenCode the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells OpenCode what each command does and which ones ask first.
mkdir -p ~/.config/opencode/skills/flodesk
cp "$(npm root -g)/@thenavidm/flodesk-mcp-cli/SKILL.md" ~/.config/opencode/skills/flodesk/ - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask OpenCode to use flodesk-cli.
Running flodesk-cli on its own lists every command, so OpenCode finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give OpenCode the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells OpenCode what each command does and which ones ask first.
New-Item -ItemType Directory -Force "$HOME\.config\opencode\skills\flodesk" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\flodesk-mcp-cli\SKILL.md" "$HOME\.config\opencode\skills\flodesk\" - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
setx FLODESK_API_KEY "YOUR_API_KEY" - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask OpenCode to use flodesk-cli.
Running flodesk-cli on its own lists every command, so OpenCode finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give OpenCode the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells OpenCode what each command does and which ones ask first.
mkdir -p ~/.config/opencode/skills/flodesk
cp "$(npm root -g)/@thenavidm/flodesk-mcp-cli/SKILL.md" ~/.config/opencode/skills/flodesk/ - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask OpenCode to use flodesk-cli.
Running flodesk-cli on its own lists every command, so OpenCode finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give OpenClaw the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells OpenClaw what each command does and which ones ask first.
mkdir -p ~/.openclaw/skills/flodesk
cp "$(npm root -g)/@thenavidm/flodesk-mcp-cli/SKILL.md" ~/.openclaw/skills/flodesk/ - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask OpenClaw to use flodesk-cli.
Running flodesk-cli on its own lists every command, so OpenClaw finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give OpenClaw the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells OpenClaw what each command does and which ones ask first.
New-Item -ItemType Directory -Force "$HOME\.openclaw\skills\flodesk" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\flodesk-mcp-cli\SKILL.md" "$HOME\.openclaw\skills\flodesk\" - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
setx FLODESK_API_KEY "YOUR_API_KEY" - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask OpenClaw to use flodesk-cli.
Running flodesk-cli on its own lists every command, so OpenClaw finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Give OpenClaw the skill, so it knows every command.
The skill is the SKILL.md in the package. It tells OpenClaw what each command does and which ones ask first.
mkdir -p ~/.openclaw/skills/flodesk
cp "$(npm root -g)/@thenavidm/flodesk-mcp-cli/SKILL.md" ~/.openclaw/skills/flodesk/ - 3
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 5
Ask OpenClaw to use flodesk-cli.
Running flodesk-cli on its own lists every command, so OpenClaw finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask Antigravity to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Antigravity finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
setx FLODESK_API_KEY "YOUR_API_KEY" - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask Antigravity to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Antigravity finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask Antigravity to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Antigravity finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask Hermes to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Hermes finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
setx FLODESK_API_KEY "YOUR_API_KEY" - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask Hermes to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Hermes finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
Ask Hermes to use flodesk-cli.
Running flodesk-cli on its own lists every command, so Hermes finds the one it needs.
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
List every command, then try one.
flodesk-cli
flodesk-cli list-segments
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
setx FLODESK_API_KEY "YOUR_API_KEY" - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
List every command, then try one.
flodesk-cli
flodesk-cli list-segments
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/flodesk-mcp-cli@latest - 2
Save your Flodesk details, so every new session has them.
Put your own API key in place of the example.
echo 'export FLODESK_API_KEY=YOUR_API_KEY' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
flodesk-cli doctor - 4
List every command, then try one.
flodesk-cli
flodesk-cli list-segments
Needs Node 22 or newer and a Flodesk API key, on a paid plan. Get it in a minute.
It's free and open source. If it saves you time, star it on GitHub, so more people find it.
This free Flodesk MCP server and CLI gives your AI real access to your Flodesk account: subscribers, segments, custom fields, workflows, campaigns and webhooks. It reads and updates subscribers, manages segments and custom fields, starts subscribers on workflows, turns Canva or Studio designs into draft campaigns, and sets up webhooks.
It's one install with two ways in. Claude, Codex, Cursor or any other MCP app calls its 32 tools for you, and the same tools work as a CLI that agents like Claude Code, Codex and OpenCode run, or that you type yourself.
In this guide, I'll show you:
- What the Flodesk MCP server & CLI is, and what you can ask it
- How to install it and check that it works
- When to use the MCP server, and when the CLI
- Every tool, and how to keep your account safe
Every tool on this page comes from the server itself, and every cost was measured in Claude Code.
Key takeaways
What is the Flodesk MCP server & CLI?
The Flodesk MCP server & CLI is a free, open source program that lets AI agents work in your Flodesk account for you, in two ways. The MCP server is what an AI app like Claude, Codex or Cursor connects to, through MCP (Model Context Protocol), the open standard AI apps use to call outside tools.
You ask in plain language. Your AI picks the right tool, and the server makes the call to Flodesk's own API.
The CLI is the same program as commands. flodesk-cli list-subscribers runs the same code your AI runs when you ask who's on your list, whether an agent like Claude Code runs it or you do.
In an AI OS, the layer that connects your AI to your context, your data and your tools, a server like this is how your AI reaches Flodesk. My guide to building an AI operating system names Flodesk among the tools it reaches, and here's how I use AI myself.
What can you ask it?
Once it's set up, you ask the way you'd ask an assistant. These are real prompts it handles:
Try askingHow many active subscribers do I have, and who joined this week?
Add jane@example.com to my list and to my VIP segment.
Start this subscriber on my welcome workflow.
List my segments and my workflows.
Turn my latest Canva email design into a draft campaign.
Unsubscribe old@example.com from everything.
The fifth one shows why this is useful. Your design lands in Flodesk as a draft campaign, ready for you to check and send yourself.
It works well next to my Teachable MCP server and Calendly MCP server, so your AI can enroll your buyers in a course and find open times for a call in the same chat. Every server I've made is on my MCP servers page.
For the emails themselves, my free email subject line generator and email subject line tester help too.
How to install the Flodesk MCP server
Pick your app in the box at the top of this page. Each one is a single command or a pasted block, and they all run through npx, so there's nothing to install first.
Windsurf, Zed and Cline take the same server, though they don't have a tab in the box yet. Follow the box's Cursor tab, and put its block here instead:
| App | Where the block goes |
|---|---|
| Windsurf | In the Cascade panel, open the Actions menu (…) and choose Open MCP config file, then paste the block. |
| Cline | Click the MCP Servers icon in the Cline panel, open the Configure tab, click Configure MCP Servers, and paste the block. |
| Zed | Go to Settings, then AI, then MCP Servers, and choose Add Server, then Add Local Server. Enter the block's command, arguments and variables, and Zed saves them under context_servers. |
Watch out: Flodesk shows a new API key only once. Copy it before you click Done, or you'll need to make a new one.
Set up your Flodesk account
It takes a minute.
FLODESK_API_KEY in the command for your app, in place of the example, and click Done.If you've built a partner app with Flodesk's OAuth, put its access token into FLODESK_ACCESS_TOKEN instead. Flodesk's access tokens last 24 hours, and the server uses the token as it is, so your app keeps it fresh.
To keep the key out of your app's config, save it alone in a file only you can read, and point FLODESK_TOKEN_FILE at that file's full path instead. For a file that holds an OAuth token, also set FLODESK_AUTH_TYPE to oauth.
Check that it works
Run the doctor with --network. It checks your settings, then reads one page of subscribers to prove the key works. It prints only the count, never a subscriber, and it never changes anything.
npx -y @thenavidm/flodesk-mcp-cli doctor --networkWhen every line has a check mark, restart your app and ask it how many active subscribers you have. A failed check usually means the key was mistyped or deleted.
In Claude Code, /mcp also shows whether the Flodesk server is connected. It's one of the Claude Code commands worth knowing.
Use the Flodesk CLI
The CLI is the same 32 tools as commands. AI agents that run commands, like Claude Code, Codex and OpenCode, use it on their own, and you can type the same commands in a terminal or a script.
Every tool name becomes a command with dashes, so list_subscribers runs as flodesk-cli list-subscribers.
npm install -g @thenavidm/flodesk-mcp-cli
flodesk-cli
flodesk-cli list-subscribers --status active --per-page 20
flodesk-cli get-subscriber --id-or-email jane@example.com
flodesk-cli add-subscriber-to-segments --id-or-email jane@example.com --segment-ids YOUR_SEGMENT_ID --confirm
flodesk-cli list-workflowsThe bare flodesk-cli lists every command, flodesk-cli which <words> finds the command for a task, and flodesk-cli <command> --help shows what a command takes. Anything that changes your audience, a workflow, a draft or a webhook needs --confirm, the terminal's version of your approval.
flodesk-cli install <app> adds the server to Claude Code, Codex, Claude Desktop, Cursor, VS Code or Gemini CLI, in each app's own format.
These are the flags you'll use most:
| Flag | What it does |
|---|---|
--json | Prints JSON |
--compact | Prints the JSON on one line |
--select a,b.c | Keeps only those fields, and a dotted path goes deeper |
--agent | Machine mode: compact JSON, no prompts, and it never confirms anything |
--confirm | Lets a write that asks first go ahead |
--dry-run | Shows what a write would do, without doing it |
A script can branch on the exit code:
| Exit code | What it means |
|---|---|
| 0 | It worked |
| 1 | Something unexpected went wrong |
| 2 | The command was typed wrong, or a write needed --confirm |
| 3 | It wasn't found |
| 4 | Flodesk rejected the credentials |
| 5 | Flodesk failed or couldn't be reached |
| 7 | You hit a rate limit, so wait and try again |
| 10 | Nothing is set up yet |
MCP server or CLI: which one?
Both are the same program with the same 32 tools. The difference is when your AI pays for them, in the tokens it reads.
- MCP server
- 12,700 tokens
- CLI
- Nothing
- MCP server
- 950 tokens
- CLI
- Nothing
- MCP server
- Nothing more, or in Claude Code the tools it picks
- CLI
- 1,300 tokens, once
- MCP server
- 255,000 tokens
- CLI
- 1,300 tokens
- MCP server
- Yes
- CLI
- No, there's no terminal there
- MCP server
- No
- CLI
- Yes
An app that loads every tool up front sends the full list with every message, whether you mention Flodesk or not. Claude Code doesn't by default: its tool search sends only the tool names and the server's instructions, and loads a tool's full definition when your AI reaches for it.
The CLI costs nothing until Flodesk comes up. Then your agent reads its skill file once and runs the commands it needs. With the skill added, Claude Code also lists its one-line description with every message, about 70 tokens.
When the whole conversation is about Flodesk, the gap closes. Then the MCP server is the better experience, because you ask in plain language and your AI never has to look up a command.
How to spend less
In Claude Code, leave tool search on, which it is unless you've set ENABLE_TOOL_SEARCH=false.
Turn the server off when you aren't working on your list. In Claude Code that's the /mcp panel, and every AI app has its own switch. FLODESK_READ_ONLY=1 cuts it to the 16 reading tools.
Or install the CLI and connect the server later, on the days it earns its place. Every tool stays in reach, and the standing cost drops to nothing.
Every number here was measured on October 5, 2026 in Claude Code 2.1.286 with Claude Opus 5.5. It's the same one-line prompt with and without the server connected, once with tool search off so every tool loads, and once with Claude Code's default. The skill was measured the same way, and other apps and models count tokens a little differently.
Drafts, opt-ins and workflows
A campaign this server makes is always a draft. publish_canva_email and publish_studio_email turn a design into a draft campaign in Flodesk, and you send or schedule it there yourself.
Some changes can email people. A new subscriber added with double opt-in gets a confirmation email, and starting someone on a workflow can send its emails right away. That's why both ask first.
A workflow takes someone a second time only after they've finished it once, and only if the workflow allows repeat subscribers. Abandoned cart workflows can't be started this way at all.
Unsubscribing someone keeps their record in Flodesk with the new status, and taking them out of a segment changes only the segment.
batch_create_or_update_subscribers adds or updates up to 50 subscribers in one request. For a mix of changes, preview_subscriber_batch checks up to 20 of them on your computer and gives the batch a fingerprint, and submit_subscriber_batch runs them in order only with that same fingerprint.
Watch out: Flodesk allows 100 requests a minute, and 20 a minute for batches, so a big import goes at up to 1,000 subscribers a minute. The server spaces its requests out, and it never retries one on its own.
Every Flodesk tool
The tables below list all 32 tools, grouped by what they're for. Of these, 16 only read, and 16 change something in your Flodesk account or on your computer.
Subscribers
list_subscribers- What it does
- Lists your subscribers, filtered by status or segment.
- Kind
- Reads
create_or_update_subscriber- What it does
- Adds a subscriber, or updates one by ID or email.
- Kind
- Asks first
batch_create_or_update_subscribers- What it does
- Adds or updates up to 50 subscribers in one request.
- Kind
- Asks first
get_subscriber- What it does
- Reads one subscriber, by ID or email.
- Kind
- Reads
unsubscribe- What it does
- Unsubscribes someone from all your lists.
- Kind
- Asks first
save_subscriber_page- What it does
- Saves one page of subscribers to a new private JSON file.
- Kind
- Asks first
Segments
list_segments- What it does
- Lists your segments.
- Kind
- Reads
create_segment- What it does
- Adds a segment.
- Kind
- Asks first
list_segment_colors- What it does
- Lists the colors a segment can have.
- Kind
- Reads
get_segment- What it does
- Reads one segment.
- Kind
- Reads
remove_subscriber_from_segments- What it does
- Takes a subscriber out of segments, and keeps the subscriber.
- Kind
- Asks first
add_subscriber_to_segments- What it does
- Puts a subscriber into segments.
- Kind
- Asks first
Custom fields
list_custom_fields- What it does
- Lists your custom fields, a page at a time.
- Kind
- Reads
create_custom_field- What it does
- Adds a custom field.
- Kind
- Asks first
list_all_custom_fields- What it does
- Lists every custom field at once.
- Kind
- Reads
Workflows
list_workflows- What it does
- Lists your workflows.
- Kind
- Reads
add_subscriber_to_workflow- What it does
- Starts a subscriber on a workflow, which can send them emails.
- Kind
- Asks first
remove_subscriber_from_workflow- What it does
- Takes a subscriber off a workflow.
- Kind
- Asks first
Draft campaigns
list_campaigns- What it does
- Lists your campaigns, with search, status and sorting.
- Kind
- Reads
publish_canva_email- What it does
- Turns a Canva email design into a draft campaign, and never sends it.
- Kind
- Asks first
get_canva_design_state- What it does
- Reads the latest Canva design state, to pick the right campaign.
- Kind
- Reads
publish_studio_email- What it does
- Turns an email from Flodesk Studio into a draft campaign, and never sends it.
- Kind
- Asks first
Webhooks
list_webhooks- What it does
- Lists your webhooks.
- Kind
- Reads
create_webhook- What it does
- Adds a webhook that sends events to your own URL.
- Kind
- Asks first
delete_webhook- What it does
- Deletes a webhook.
- Kind
- Asks first
get_webhook- What it does
- Reads one webhook.
- Kind
- Reads
update_webhook- What it does
- Changes a webhook's name, URL or events.
- Kind
- Asks first
Batches
preview_subscriber_batch- What it does
- Checks up to 20 subscriber changes on your computer and gives the batch a fingerprint.
- Kind
- Reads
submit_subscriber_batch- What it does
- Runs a checked batch in order, only with the fingerprint from its preview.
- Kind
- Asks first
Your accounts and requests
list_accounts- What it does
- Lists the accounts you've set up, without their keys.
- Kind
- Reads
get_operation_schema- What it does
- Shows every field Flodesk accepts for one of its requests.
- Kind
- Reads
get_oauth_userinfo- What it does
- Shows whose account an OAuth token belongs to.
- Kind
- Reads
Is the Flodesk MCP server safe?
Your list is your business, and some changes email people. So 16 tools ask first: every change to a subscriber, segment, custom field, workflow, campaign draft or webhook, and saving subscribers to a file. They're the ones marked "Asks first" in the tool tables above.
Reading your list never asks, because it changes nothing.
When your AI calls one of them, the call needs a yes first. Where you use it decides who gives it:
- Claude Code (2.1.246 and later) asks you before every call, in every one of its permission modes.
- An app that can show forms asks you in a form.
- Any other app takes your AI's
confirm: trueas the yes, so tell your AI to check with you first. - An agent with no person to ask needs
FLODESK_CONFIRM=model, so itsconfirm: truecounts in every app. - In a terminal, you add
--confirmto the command.
If the answer is no, nothing reaches Flodesk.
Make it read-only
Set FLODESK_READ_ONLY=1 and every tool that asks first disappears from the tool list, leaving 16 reading tools.
Keep a log of every write
Set FLODESK_AUDIT_LOG to a file path. The server writes one line per attempted write, allowed or blocked, with what it was about to do and who approved it.
Watch out: Subscriber names and custom fields are typed by other people, and one can try to give your AI orders. Treat them as data, and use FLODESK_READ_ONLY=1 for an agent working on its own.
Your data
Your requests go straight to Flodesk, with no server of ours in between and no tracking. Your key stays in your app's config, your shell or your token file.
A saved page of subscribers holds their emails and names, so keep the file private and delete it when you're done.
To cut access, delete the key under My Account, then Integrations, then API keys, and remove the server from your app's config.
Connect more than one Flodesk account
Set FLODESK_ACCOUNTS to a JSON list with a name and a key, an OAuth token or a token file for each account, and FLODESK_DEFAULT_ACCOUNT to the one that acts when a tool names none. Every tool takes an optional account.
An account never borrows another one's key. If the account you name has no key, the call stops instead of changing a different list.
Flodesk MCP server settings
Every setting is an environment variable, in your app's config or your shell.
FLODESK_API_KEY- Default
- none
- What it does
- Holds your API key
FLODESK_ACCESS_TOKEN- Default
- none
- What it does
- Holds an OAuth access token from your own partner app, instead of a key
FLODESK_TOKEN_FILE- Default
- none
- What it does
- Points at a private file holding the key or token, instead
FLODESK_AUTH_TYPE- Default
api_key- What it does
oauthsays the token file holds an OAuth token
FLODESK_ACCOUNTS- Default
- none
- What it does
- Lists several accounts, as JSON
FLODESK_DEFAULT_ACCOUNT- Default
- the first one
- What it does
- Picks the account that acts when a tool names none
FLODESK_REQUEST_TIMEOUT_MS- Default
30000- What it does
- Gives up on a Flodesk request after this many milliseconds
FLODESK_MIN_REQUEST_INTERVAL_MS- Default
650- What it does
- Waits this many milliseconds between requests
FLODESK_BATCH_MIN_REQUEST_INTERVAL_MS- Default
3100- What it does
- Waits this many milliseconds between batch requests
FLODESK_READ_ONLY- Default
- off
- What it does
1hides every tool that changes something
FLODESK_ALLOW_DESTRUCTIVE- Default
- on
- What it does
0refuses the tools that ask first
FLODESK_AUDIT_LOG- Default
- none
- What it does
- Names a file that gets one line per attempted write
FLODESK_SURFACE- Default
full- What it does
searchlists three tools that find, describe and run the rest
FLODESK_TOOL_TIMEOUT_MS- Default
- none
- What it does
- Gives up on any tool after this many milliseconds
FLODESK_CONFIRM- Default
human- What it does
modellets your AI'sconfirm: trueapprove on its own, for an agent with no person to ask
FLODESK_HTTP_PORT- Default
8787- What it does
- Sets the port for
--http
FLODESK_HTTP_HOST- Default
127.0.0.1- What it does
- Sets the address for
--http, and any other needs a token
FLODESK_HTTP_TOKEN- Default
- none
- What it does
- Sets the bearer token every
--httprequest needs
FLODESK_HTTP_ALLOWED_ORIGINS- Default
- none
- What it does
- Lists other websites allowed to call
--http, comma separated
FLODESK_DEBUG- Default
- off
- What it does
1prints debug lines
Troubleshooting
Run the doctor first. It names the step that failed and the fix.
| What you see | What to do |
|---|---|
| The key check fails | The key was mistyped or deleted. Make a new one under My Account, then Integrations, then API keys |
| There's no API keys page | API keys come with paid plans only, not trials or free accounts |
| A token file is read as an API key | Set FLODESK_AUTH_TYPE=oauth for a file that holds an OAuth token |
| A workflow won't take a subscriber | They haven't finished it yet, the workflow doesn't allow repeat subscribers, or it's an abandoned cart workflow |
| A 429 error | Flodesk allows 100 requests a minute, and 20 for batches. Wait a minute, and check before you try again |
| A campaign didn't go out | Campaigns made here are drafts. Send or schedule them in Flodesk |
| "…so it will not run without confirm: true" | That's the safety check working. Approve it when your app asks |
If the server doesn't show up in your app at all, run the command your app runs, in a terminal, and read the error.
More free tools for your newsletter
Run your newsletter in Kit or Beehiiv too, with the same kind of tools.
Free tools
FAQs about the Flodesk MCP server & CLI
Here are the questions people ask most about the Flodesk MCP server and CLI.
The Flodesk MCP server & CLI is a free, open source program that lets an AI app like Claude, Codex or Cursor work in your Flodesk account.
It has 32 tools for subscribers, segments, custom fields, workflows, campaigns and webhooks, and the same tools run as a CLI that agents like Claude Code and Codex use, or that you type yourself.
An MCP server is a standard way to give an AI app real access to a tool, so it can act instead of guessing.
MCP stands for Model Context Protocol, and Claude, Codex, Cursor and many other AI apps speak it.
Every server I've made is on my MCP servers page.
The Flodesk CLI is the same program as the Flodesk MCP server, run as commands.
AI agents like Claude Code, Codex and OpenCode run them for you, and you can type them in a terminal or a script.
One npm package installs both.
Use the Flodesk MCP server in an AI app with no terminal, like Claude Desktop's chat, and the CLI in a terminal, a script or a cron job.
In an AI app that can run commands, like Claude Code, Codex or Cursor, the CLI is the lighter choice, because it costs nothing until it runs.
Yes, the Flodesk MCP server is free and open source under the AGPL-3.0 license.
Flodesk's API comes with its paid plans, so the only other thing you pay for is your own AI app.
You need a paid Flodesk plan, because API keys aren't part of trials or free accounts.
You make the key under My Account, then Integrations, then API keys.
No, it makes draft campaigns only, from a Canva or Studio design.
You send or schedule them in Flodesk yourself.
Yes, it can.
A new subscriber added with double opt-in gets a confirmation email, and starting someone on a workflow can send its emails, so both ask first.
Yes, the Flodesk MCP server connects as many accounts as you set up in FLODESK_ACCOUNTS, each with its own key or token.
Every tool takes an optional account, and an account never borrows another one's key.
To disconnect the Flodesk MCP server, delete its key under My Account, then Integrations, then API keys, which cuts access right away.
Then remove the server from your AI app's config.
The Flodesk MCP server works with any app that speaks MCP.
That includes Claude Code, Claude Desktop, Codex, Cursor, VS Code, Windsurf, Zed, Cline, GitHub Copilot CLI, Gemini CLI, OpenCode, OpenClaw, Antigravity and Hermes.
I did.
I'm Navid Moazzez, and I made the Flodesk MCP server & CLI as one of my free tools on navid.me.
You can read more about me.
The code is on GitHub under the AGPL-3.0 license, and the package is on npm.
More MCP servers & CLIs
Related free tools
Navid.me is reader-supported. When you buy through links on this site, I may earn an affiliate commission. Read the affiliate disclaimer.
On this page
The most actionable AI newsletter for founders
Every week, get proven AI strategies, curated tools, and step-by-step systems to grow your audience, create better content, and build a profitable creator business.
No fluff, no filler, no BS. Just five minutes each week that might level up your online business and life.
P.S. Sign up now to get free access to my ultimate AI tools guide for creators.
