Kit MCP Server & CLI
A free, open source Kit MCP server and CLI that lets Claude Code, Codex, Cursor and other AI agents draft broadcasts, manage subscribers and read your email stats.
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 kit \
-e KIT_API_KEY=YOUR_V4_API_KEY \
-- npx -y @thenavidm/kit-mcp-cli@latest - 2
In Claude Code, type /mcp. Kit 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 kit -e KIT_API_KEY="YOUR_V4_API_KEY" -- npx -y @thenavidm/kit-mcp-cli@latest - 2
In Claude Code, type /mcp. Kit 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 kit \
-e KIT_API_KEY=YOUR_V4_API_KEY \
-- npx -y @thenavidm/kit-mcp-cli@latest - 2
In Claude Code, type /mcp. Kit 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 kit \
--env KIT_API_KEY=YOUR_V4_API_KEY \
-- npx -y @thenavidm/kit-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 kit --env KIT_API_KEY="YOUR_V4_API_KEY" -- npx -y @thenavidm/kit-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 kit \
--env KIT_API_KEY=YOUR_V4_API_KEY \
-- npx -y @thenavidm/kit-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": {
"kit": {
"command": "npx",
"args": ["-y", "@thenavidm/kit-mcp-cli@latest"],
"env": {
"KIT_API_KEY": "YOUR_V4_API_KEY"
}
}
}
} - 3
Open the MCP tab again. It should show 85 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": {
"kit": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@thenavidm/kit-mcp-cli@latest"],
"env": {
"KIT_API_KEY": "YOUR_V4_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 kit \
--env KIT_API_KEY=YOUR_V4_API_KEY \
-- npx -y @thenavidm/kit-mcp-cli@latest - 2
Check that Copilot CLI has it.
copilot mcp get kit
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
copilot mcp add kit --env KIT_API_KEY="YOUR_V4_API_KEY" -- npx -y @thenavidm/kit-mcp-cli@latest - 2
Check that Copilot CLI has it.
copilot mcp get kit
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
copilot mcp add kit \
--env KIT_API_KEY=YOUR_V4_API_KEY \
-- npx -y @thenavidm/kit-mcp-cli@latest - 2
Check that Copilot CLI has it.
copilot mcp get kit
- 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": {
"kit": {
"command": "npx",
"args": ["-y", "@thenavidm/kit-mcp-cli@latest"],
"env": {
"KIT_API_KEY": "YOUR_V4_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": {
"kit": {
"command": "npx",
"args": ["-y", "@thenavidm/kit-mcp-cli@latest"],
"env": {
"KIT_API_KEY": "YOUR_V4_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": {
"kit": {
"command": "npx",
"args": ["-y", "@thenavidm/kit-mcp-cli@latest"],
"env": {
"KIT_API_KEY": "YOUR_V4_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": {
"kit": {
"type": "local",
"command": ["npx", "-y", "@thenavidm/kit-mcp-cli@latest"],
"enabled": true,
"environment": {
"KIT_API_KEY": "YOUR_V4_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": {
"kit": {
"type": "local",
"command": ["npx", "-y", "@thenavidm/kit-mcp-cli@latest"],
"enabled": true,
"environment": {
"KIT_API_KEY": "YOUR_V4_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": {
"kit": {
"type": "local",
"command": ["npx", "-y", "@thenavidm/kit-mcp-cli@latest"],
"enabled": true,
"environment": {
"KIT_API_KEY": "YOUR_V4_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 kit \
--command npx \
--arg -y \
--arg @thenavidm/kit-mcp-cli@latest \
--env KIT_API_KEY=YOUR_V4_API_KEY - 2
Check that it starts and lists its tools.
openclaw mcp doctor kit --probe
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
openclaw mcp add kit --command npx --arg -y --arg @thenavidm/kit-mcp-cli@latest --env KIT_API_KEY="YOUR_V4_API_KEY" - 2
Check that it starts and lists its tools.
openclaw mcp doctor kit --probe
- 1
Add it with a single command in a terminal.
Put your own API key in place of the example.
openclaw mcp add kit \
--command npx \
--arg -y \
--arg @thenavidm/kit-mcp-cli@latest \
--env KIT_API_KEY=YOUR_V4_API_KEY - 2
Check that it starts and lists its tools.
openclaw mcp doctor kit --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": {
"kit": {
"command": "npx",
"args": ["-y", "@thenavidm/kit-mcp-cli@latest"],
"env": {
"KIT_API_KEY": "YOUR_V4_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:
kit:
command: "npx"
args: ["-y", "@thenavidm/kit-mcp-cli@latest"]
env:
KIT_API_KEY: "YOUR_V4_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:
kit:
command: "npx"
args: ["-y", "@thenavidm/kit-mcp-cli@latest"]
env:
KIT_API_KEY: "YOUR_V4_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:
kit:
command: "npx"
args: ["-y", "@thenavidm/kit-mcp-cli@latest"]
env:
KIT_API_KEY: "YOUR_V4_API_KEY"
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/kit-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/kit
cp "$(npm root -g)/@thenavidm/kit-mcp-cli/SKILL.md" ~/.claude/skills/kit/ - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask Claude Code to use kit-cli.
Running kit-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/kit-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\kit" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\kit-mcp-cli\SKILL.md" "$HOME\.claude\skills\kit\" - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
setx KIT_API_KEY "YOUR_V4_API_KEY" - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask Claude Code to use kit-cli.
Running kit-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/kit-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/kit
cp "$(npm root -g)/@thenavidm/kit-mcp-cli/SKILL.md" ~/.claude/skills/kit/ - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask Claude Code to use kit-cli.
Running kit-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/kit-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/kit
cp "$(npm root -g)/@thenavidm/kit-mcp-cli/SKILL.md" ~/.agents/skills/kit/ - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask Codex to use kit-cli.
Running kit-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/kit-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\kit" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\kit-mcp-cli\SKILL.md" "$HOME\.agents\skills\kit\" - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
setx KIT_API_KEY "YOUR_V4_API_KEY" - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask Codex to use kit-cli.
Running kit-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/kit-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/kit
cp "$(npm root -g)/@thenavidm/kit-mcp-cli/SKILL.md" ~/.agents/skills/kit/ - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask Codex to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask Cursor to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
setx KIT_API_KEY "YOUR_V4_API_KEY" - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask Cursor to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask Cursor to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask VS Code to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
setx KIT_API_KEY "YOUR_V4_API_KEY" - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask VS Code to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask VS Code to use kit-cli.
Running kit-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/kit-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/kit
cp "$(npm root -g)/@thenavidm/kit-mcp-cli/SKILL.md" ~/.copilot/skills/kit/ - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask Copilot CLI to use kit-cli.
Running kit-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/kit-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\kit" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\kit-mcp-cli\SKILL.md" "$HOME\.copilot\skills\kit\" - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
setx KIT_API_KEY "YOUR_V4_API_KEY" - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask Copilot CLI to use kit-cli.
Running kit-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/kit-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/kit
cp "$(npm root -g)/@thenavidm/kit-mcp-cli/SKILL.md" ~/.copilot/skills/kit/ - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask Copilot CLI to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask Gemini CLI to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
setx KIT_API_KEY "YOUR_V4_API_KEY" - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask Gemini CLI to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask Gemini CLI to use kit-cli.
Running kit-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/kit-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/kit
cp "$(npm root -g)/@thenavidm/kit-mcp-cli/SKILL.md" ~/.config/opencode/skills/kit/ - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask OpenCode to use kit-cli.
Running kit-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/kit-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\kit" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\kit-mcp-cli\SKILL.md" "$HOME\.config\opencode\skills\kit\" - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
setx KIT_API_KEY "YOUR_V4_API_KEY" - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask OpenCode to use kit-cli.
Running kit-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/kit-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/kit
cp "$(npm root -g)/@thenavidm/kit-mcp-cli/SKILL.md" ~/.config/opencode/skills/kit/ - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask OpenCode to use kit-cli.
Running kit-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/kit-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/kit
cp "$(npm root -g)/@thenavidm/kit-mcp-cli/SKILL.md" ~/.openclaw/skills/kit/ - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.zshrc - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask OpenClaw to use kit-cli.
Running kit-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/kit-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\kit" | Out-Null
Copy-Item "$(npm root -g)\@thenavidm\kit-mcp-cli\SKILL.md" "$HOME\.openclaw\skills\kit\" - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
setx KIT_API_KEY "YOUR_V4_API_KEY" - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask OpenClaw to use kit-cli.
Running kit-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/kit-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/kit
cp "$(npm root -g)/@thenavidm/kit-mcp-cli/SKILL.md" ~/.openclaw/skills/kit/ - 3
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.bashrc - 4
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 5
Ask OpenClaw to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask Antigravity to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
setx KIT_API_KEY "YOUR_V4_API_KEY" - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask Antigravity to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask Antigravity to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask Hermes to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
setx KIT_API_KEY "YOUR_V4_API_KEY" - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask Hermes to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
Ask Hermes to use kit-cli.
Running kit-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/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.zshrc - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
List every command, then try one.
kit-cli
kit-cli get-account
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
setx KIT_API_KEY "YOUR_V4_API_KEY" - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
List every command, then try one.
kit-cli
kit-cli get-account
- 1
Install the CLI. It needs Node 22 or newer.
npm install -g @thenavidm/kit-mcp-cli@latest - 2
Save your Kit details, so every new session has them.
Put your own API key in place of the example.
echo 'export KIT_API_KEY=YOUR_V4_API_KEY' >> ~/.bashrc - 3
Check your setup.
It names anything that's wrong and the fix.
kit-cli doctor - 4
List every command, then try one.
kit-cli
kit-cli get-account
Needs Node 22 or newer and a Kit v4 API key. Get one 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 Kit MCP server and CLI gives your AI real access to your Kit account: broadcasts, subscribers, tags, forms, sequences, snippets, purchases and webhooks. It reads your newsletters and email stats, drafts broadcasts, manages subscribers and tags, edits sequences and snippets, and sets up webhooks.
It's one install with two ways in. Claude, Codex, Cursor or any other MCP app calls its 85 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 Kit 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 Kit MCP server & CLI?
The Kit MCP server & CLI is a free, open source program that lets AI agents work in your Kit 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 Kit's own API.
The CLI is the same program as commands. kit-cli list-broadcasts runs the same code your AI runs when you ask for your recent newsletters, 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 Kit. My guide to building an AI operating system names Kit 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 askingShow my last five broadcasts and how each one did.
Draft next week's newsletter from these notes, and leave it unscheduled so I can read it first.
Which links got the most clicks in my last broadcast?
Find reader@example.com and show me their tags.
List my sequences and the emails in each one.
How has my list grown over the last 90 days?
The second one shows why this is useful. A new broadcast starts as a private, unscheduled draft, so your AI can write the whole email and leave the send to you.
It works well next to my Teachable MCP server and ThriveCart MCP server, so your AI can enroll your buyers in a Teachable course and read your ThriveCart sales 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. Kit is my best free pick in the best landing page builders.
How to install the Kit 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: Use a v4 API key. An old v3 API secret doesn't work, and the server never needs your Kit password.
Set up your Kit account
Most people need only an API key, and it takes a minute.
KIT_API_KEY in the command for your app, in place of the example.A few tools only work with OAuth: the bulk tools and purchases. They're marked in the tool tables below. For those, make your own Kit app, sign in through Kit's OAuth flow, and point KIT_TOKENS_FILE at a private file holding the tokens. The server refreshes the token a minute before it expires and writes the new one back to that file.
Check that it works
Run the doctor with --network. It checks your settings, then reads your account to prove the key works, without sending email or changing a subscriber.
npx -y @thenavidm/kit-mcp-cli doctor --networkWhen every line has a check mark, restart your app and ask it for your last broadcast. A failed account read usually means the key was mistyped or is an old v3 secret.
In Claude Code, /mcp also shows whether the Kit server is connected. It's one of the Claude Code commands worth knowing.
Use the Kit CLI
The CLI is the same 85 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_broadcasts runs as kit-cli list-broadcasts.
npm install -g @thenavidm/kit-mcp-cli
kit-cli
kit-cli list-broadcasts --per-page 5
kit-cli get-broadcast-stats --broadcast-id 123
kit-cli search-subscribers --email-address reader@example.comThe bare kit-cli lists every command, kit-cli which <words> finds the command for a task, and kit-cli <command> --help shows what a command takes. Anything that can email people, change your audience or delete needs --confirm, the terminal's version of your approval.
kit-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 | Kit rejected the credentials |
| 5 | Kit 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 85 tools. The difference is when your AI pays for them, in the tokens it reads.
- MCP server
- 46,200 tokens
- CLI
- Nothing
- MCP server
- 1,500 tokens
- CLI
- Nothing
- MCP server
- Nothing more, or in Claude Code the tools it picks
- CLI
- 1,600 tokens, once
- MCP server
- 923,000 tokens
- CLI
- 1,600 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 Kit 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 Kit 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 80 tokens.
When the whole conversation is about Kit, 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 newsletter. In Claude Code that's the /mcp panel, and every AI app has its own switch. KIT_READ_ONLY=1 cuts it to the 38 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.
Draft, review, then send
A new broadcast starts as a private draft with no send time, so writing one never emails anyone. Your AI writes it, you read it in Kit, and scheduling is a separate step you approve.
When you do schedule, the send time is send_at. published_at only sets when the post shows on your Kit web page, and it doesn't send anything.
Writes are never retried on their own. If a call times out, the server says so and leaves it to you, because sending the same broadcast twice can't be undone.
Watch out: Tagging a subscriber, or adding one to a form or a sequence, can start an automation you already set up in Kit. That's why those tools ask first, even though the change itself is small.
Every Kit tool
The tables below list all 85 tools, grouped the way the repo groups them. Of these, 38 only read, and 47 change something in your Kit account.
Broadcasts
list_broadcasts- What it does
- List broadcasts.
- Kind
- Reads
create_broadcast- What it does
- Create a broadcast.
- Kind
- Asks first
list_broadcast_stats- What it does
- Get stats for a list of broadcasts.
- Kind
- Reads
get_broadcast_clicks- What it does
- Get link clicks for a broadcast.
- Kind
- Reads
get_broadcast_stats- What it does
- Get stats for a broadcast.
- Kind
- Reads
delete_broadcast- What it does
- Delete a broadcast.
- Kind
- Asks first
get_broadcast- What it does
- Get a broadcast.
- Kind
- Reads
update_broadcast- What it does
- Update a broadcast.
- Kind
- Asks first
Subscribers
bulk_create_subscribers- What it does
- Bulk create subscribers.
- Kind
- Asks first
list_subscribers- What it does
- List subscribers.
- Kind
- Reads
create_subscriber- What it does
- Create a subscriber.
- Kind
- Asks first
filter_subscribers- What it does
- Filter subscribers by engagement, sign-up date, state, and tags.
- Kind
- Reads
get_subscriber- What it does
- Get a subscriber.
- Kind
- Reads
update_subscriber- What it does
- Update a subscriber.
- Kind
- Asks first
unsubscribe- What it does
- Unsubscribe subscriber.
- Kind
- Asks first
delete_subscriber_location- What it does
- Delete a subscriber's location.
- Kind
- Asks first
update_subscriber_location- What it does
- Update a subscriber's pinned location.
- Kind
- Asks first
pin_subscriber_location- What it does
- Pin a subscriber's location.
- Kind
- Asks first
get_subscriber_stats- What it does
- List stats for a subscriber.
- Kind
- Reads
list_subscriber_tags- What it does
- List tags for a subscriber.
- Kind
- Reads
search_subscribers- What it does
- Compatibility alias for list_subscribers with a required exact email_address filter.
- Kind
- Reads
Tags
bulk_delete_tags- What it does
- Bulk delete tags.
- Kind
- Asks first
bulk_create_tags- What it does
- Bulk create tags.
- Kind
- Writes
bulk_remove_tags_from_subscribers- What it does
- Bulk remove tags from subscribers.
- Kind
- Asks first
bulk_tag_subscribers- What it does
- Bulk tag subscribers.
- Kind
- Asks first
list_tags- What it does
- List tags.
- Kind
- Reads
create_tag- What it does
- Create a tag.
- Kind
- Writes
update_tag_name- What it does
- Update tag name.
- Kind
- Writes
untag_subscriber_by_email- What it does
- Remove tag from subscriber by email address.
- Kind
- Asks first
list_subscribers_for_tag- What it does
- List subscribers for a tag.
- Kind
- Reads
tag_subscriber- What it does
- Tag a subscriber by email address.
- Kind
- Asks first
untag_subscriber- What it does
- Remove tag from subscriber.
- Kind
- Asks first
tag_subscriber_by_id- What it does
- Tag a subscriber.
- Kind
- Asks first
Forms
bulk_add_subscribers_to_forms- What it does
- Bulk add subscribers to forms.
- Kind
- Asks first
list_forms- What it does
- List forms.
- Kind
- Reads
list_subscribers_for_form- What it does
- List subscribers for a form.
- Kind
- Reads
add_subscriber_to_form- What it does
- Add subscriber to form by email address.
- Kind
- Asks first
add_subscriber_to_form_by_id- What it does
- Add subscriber to form.
- Kind
- Asks first
Sequences
list_sequence_emails- What it does
- List sequence emails.
- Kind
- Reads
create_sequence_email- What it does
- Create a sequence email.
- Kind
- Asks first
delete_sequence_email- What it does
- Delete a sequence email.
- Kind
- Asks first
get_sequence_email- What it does
- Get a sequence email.
- Kind
- Reads
update_sequence_email- What it does
- Update a sequence email.
- Kind
- Asks first
list_sequences- What it does
- List sequences.
- Kind
- Reads
create_sequence- What it does
- Create a sequence.
- Kind
- Asks first
delete_sequence- What it does
- Delete a sequence.
- Kind
- Asks first
get_sequence- What it does
- Get a sequence.
- Kind
- Reads
update_sequence- What it does
- Update a sequence.
- Kind
- Asks first
list_subscribers_for_sequence- What it does
- List subscribers for a sequence.
- Kind
- Reads
add_subscriber_to_sequence- What it does
- Add subscriber to sequence by email address.
- Kind
- Asks first
add_subscriber_to_sequence_by_id- What it does
- Add subscriber to sequence.
- Kind
- Asks first
Custom fields
bulk_create_custom_fields- What it does
- Bulk create custom fields.
- Kind
- Writes
bulk_update_subscriber_custom_field_values- What it does
- Bulk update subscriber custom field values.
- Kind
- Asks first
list_custom_fields- What it does
- List custom fields.
- Kind
- Reads
create_custom_field- What it does
- Create a custom field.
- Kind
- Writes
delete_custom_field- What it does
- Delete custom field.
- Kind
- Asks first
update_custom_field- What it does
- Update a custom field.
- Kind
- Writes
Snippets
list_snippets- What it does
- List snippets.
- Kind
- Reads
create_snippet- What it does
- Create a snippet.
- Kind
- Asks first
get_snippet- What it does
- Get a snippet.
- Kind
- Reads
update_snippet- What it does
- Update a snippet.
- Kind
- Asks first
Templates, posts and segments
list_email_templates- What it does
- List email templates.
- Kind
- Reads
list_posts- What it does
- List posts.
- Kind
- Reads
get_post- What it does
- Get a post.
- Kind
- Reads
list_segments- What it does
- List segments.
- Kind
- Reads
Purchases
list_purchases- What it does
- List purchases.
- Kind
- Reads
create_purchase- What it does
- Create a purchase.
- Kind
- Asks first
get_purchase- What it does
- Get a purchase.
- Kind
- Reads
Webhooks
list_webhook_endpoints- What it does
- List webhook endpoints.
- Kind
- Reads
create_webhook_endpoint- What it does
- Create a webhook endpoint.
- Kind
- Asks first
delete_webhook_endpoint- What it does
- Delete a webhook endpoint.
- Kind
- Asks first
get_webhook_endpoint- What it does
- Get a webhook endpoint.
- Kind
- Reads
update_webhook_endpoint- What it does
- Update a webhook endpoint.
- Kind
- Asks first
revoke_previous_webhook_secret- What it does
- Revoke the previous webhook endpoint secret.
- Kind
- Asks first
rotate_webhook_secret- What it does
- Rotate a webhook endpoint secret.
- Kind
- Asks first
list_webhooks- What it does
- List webhooks.
- Kind
- Reads
create_webhook- What it does
- Create a webhook.
- Kind
- Asks first
delete_webhook- What it does
- Delete a webhook.
- Kind
- Asks first
Your account
get_account- What it does
- Get current account.
- Kind
- Reads
list_colors- What it does
- List colors.
- Kind
- Reads
update_colors- What it does
- Update colors.
- Kind
- Writes
get_creator_profile- What it does
- Get Creator Profile.
- Kind
- Reads
get_email_stats- What it does
- Get email stats.
- Kind
- Reads
get_growth_stats- What it does
- Get growth stats.
- Kind
- Reads
list_accounts- What it does
- List private account labels and configured auth methods, without returning credentials or token-file paths.
- Kind
- Reads
Is the Kit MCP server safe?
Email can't be unsent, and your list is your business. So 40 tools ask first: everything that can email someone, change your audience, or delete. They're the ones marked "Asks first" in the tool tables above.
Making a tag or a custom field, and renaming one, don't ask, because each is easy to change back in Kit.
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
KIT_CONFIRM=model, so itsconfirm: truecounts in every app. - In a terminal, you add
--confirmto the command.
If the answer is no, nothing reaches Kit.
Make it read-only
Set KIT_READ_ONLY=1 and every write disappears from the tool list, leaving 38 reading tools. KIT_ALLOW_DESTRUCTIVE=0 is the middle setting: tags and custom fields still work, and the tools that ask first don't.
Keep a log of every write
Set KIT_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: Replies and subscriber details are written by other people, and one can try to give your AI orders. Treat them as data, and use KIT_READ_ONLY=1 for an agent working on its own.
Your data
Your requests go straight to Kit, with no server of ours in between and no tracking. Your key stays in your app's config or your shell.
An OAuth token file stays where you put it, and the server writes it back only to refresh the token, readable by you alone. Webhook secrets go to private files and never show up in what your AI reads.
Connect more than one Kit account
Set KIT_ACCOUNTS to a JSON list with a name and a key, or a token file, for each account, and KIT_DEFAULT_ACCOUNT to the one that acts when a tool names none. Every tool takes an optional account, so you can say which list a change is for.
Kit MCP server settings
Every setting is an environment variable, in your app's config or your shell.
KIT_API_KEY- Default
- none
- What it does
- Holds your v4 API key
KIT_TOKENS_FILE- Default
- none
- What it does
- Points at a private file with your OAuth tokens
KIT_ACCESS_TOKEN- Default
- none
- What it does
- Holds an OAuth access token, instead of a file
KIT_REFRESH_TOKEN- Default
- none
- What it does
- Holds the OAuth refresh token
KIT_CLIENT_ID- Default
- none
- What it does
- Holds your Kit app's client ID, for refreshing
KIT_CLIENT_SECRET- Default
- none
- What it does
- Holds your Kit app's client secret, for refreshing
KIT_ACCOUNTS- Default
- none
- What it does
- Lists several accounts, as JSON
KIT_DEFAULT_ACCOUNT- Default
- the first one
- What it does
- Picks the account that acts when a tool names none
KIT_READ_ONLY- Default
- off
- What it does
1hides every write
KIT_ALLOW_DESTRUCTIVE- Default
- on
- What it does
0refuses the tools that ask first
KIT_AUDIT_LOG- Default
- none
- What it does
- Names a file that gets one line per attempted write
KIT_REQUEST_TIMEOUT_MS- Default
30000- What it does
- Each request's deadline
KIT_MAX_RETRIES- Default
2- What it does
- Retries for a GET Kit rate limits
KIT_MIN_REQUEST_INTERVAL_MS- Default
- 550 with an API key and 110 with OAuth
- What it does
- Pacing between requests
KIT_PRIVATE_DIR- Default
~/.config/kit-mcp-cli/secrets- What it does
- Folder for private signing secrets
KIT_SURFACE- Default
full- What it does
searchlists three tools that find, describe and run the rest
KIT_TOOL_TIMEOUT_MS- Default
- none
- What it does
- Gives up on any tool after this many milliseconds
KIT_CONFIRM- Default
human- What it does
modellets your AI'sconfirm: trueapprove on its own, for an agent with no person to ask
KIT_HTTP_PORT- Default
8787- What it does
- Sets the port for
--http
KIT_HTTP_HOST- Default
127.0.0.1- What it does
- Sets the address for
--http, and any other needs a token
KIT_HTTP_TOKEN- Default
- none
- What it does
- Sets the bearer token every
--httprequest needs
KIT_HTTP_ALLOWED_ORIGINS- Default
- none
- What it does
- Lists other websites allowed to call
--http, comma separated
KIT_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 account read fails | The key is mistyped or is an old v3 secret. Make a new v4 key |
| A bulk tool or purchases say they need OAuth | Those work only with an OAuth token. Set up your own Kit app |
| You hit a rate limit | Kit allows about 120 requests a minute per key. Wait a minute and try again |
| A scheduled broadcast didn't send | The send time is send_at. published_at only sets when the post shows on your web page |
| "…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
Write a stronger subject line, or see which links in your emails get opened.
Free tools
FAQs about the Kit MCP server & CLI
Here are the questions people ask most about the Kit MCP server and CLI.
The Kit MCP server & CLI is a free, open source program that lets an AI app like Claude, Codex or Cursor work in your Kit account.
It has 85 tools for broadcasts, subscribers, tags, forms, sequences, snippets, purchases 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 Kit CLI is the same program as the Kit 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 Kit 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 Kit MCP server is free and open source under the AGPL-3.0-or-later license.
Kit's API comes with your Kit account, so the only thing you pay for is your own AI app.
No, you don't need a developer account.
A v4 API key from your Kit settings is enough for almost every tool, and only the bulk tools and purchases need an OAuth app of your own.
No, a new broadcast starts as a private draft with no send time.
It goes out only once you schedule it with send_at, and scheduling waits for your approval.
Yes, it can, when you have an automation in Kit that starts on that tag.
That's why tagging, and adding someone to a form or a sequence, ask first.
Yes, the Kit MCP server connects as many accounts as you set up in KIT_ACCOUNTS.
Every tool takes an optional account, and a default decides which one acts when you don't say.
To disconnect the Kit MCP server, delete its API key in Kit's developer settings, which cuts access right away.
Then remove the server from your AI app's config.
The Kit 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 Kit 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-or-later 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.
