@cognilead/mcp-server
Model Context Protocol server for CogniLead — the managed cold-email deliverability engine for EU/technical B2B (plus AI content scaffolding). Exposes five tools to Cursor, Claude Desktop, Windsurf, and any MCP-capable client so you can draft outbound copy and run campaigns without leaving your IDE. All generation runs on phi-cloud as the LLM provider.
Two tools are free (no API key, daily-capped). Three are gated behind a CogniLead API key — when the key is absent, the tool returns an inline signup URL so you can fix it in seconds.
Install
npm install -g @cognilead/mcp-server
# or run on demand without installing
npx -y @cognilead/mcp-server
The binary is cognilead-mcp and speaks the MCP stdio transport.
Configure your IDE
Cursor
~/.cursor/mcp.json (or .cursor/mcp.json per-project):
{
"mcpServers": {
"cognilead": {
"command": "npx",
"args": ["-y", "@cognilead/mcp-server"],
"env": {
"COGNILEAD_API_KEY": "pk_live_..."
}
}
}
}
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"cognilead": {
"command": "npx",
"args": ["-y", "@cognilead/mcp-server"],
"env": {
"COGNILEAD_API_KEY": "pk_live_..."
}
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"cognilead": {
"command": "npx",
"args": ["-y", "@cognilead/mcp-server"],
"env": {
"COGNILEAD_API_KEY": "pk_live_..."
}
}
}
}
Omit COGNILEAD_API_KEY to run in free-tier mode (only draft_pitch
and score_signal are callable; the three gated tools return a 401 with
an inline upgrade URL).
Tools
| Tool | Tier | Daily cap | What it does |
|---|---|---|---|
cognilead.draft_pitch |
free | 20/day | Draft a short, personalised outbound pitch from the insight/context you feed it (the product, topic, and target account). |
cognilead.score_signal |
free | 50/day | Score a supplied insight/context for fit against a target product (0-100, deterministic). |
cognilead.ingest_lead |
gated | — | Register a (customer-supplied) lead in the outbound pipeline. |
cognilead.run_campaign |
gated | — | Kick off an email campaign by id, optionally restricted to a set of leads. |
cognilead.suppress |
gated | — | Add an email or domain to the suppression list (honours one-click RFC 8058 unsubscribe). |
Note: MarketPrior-fed targeting tools are roadmap, not live. Today you supply leads/context yourself; CogniLead runs the deliverability.
Free-tier quotas reset at UTC midnight and persist between IDE restarts
in ~/.cognilead/quota.json.
Environment
| Var | Default | Purpose |
|---|---|---|
COGNILEAD_API_KEY |
unset | Bearer token for gated tools |
COGNILEAD_API_URL |
https://api.cognilead.ai |
Override for self-hosted |
COGNILEAD_SIGNUP_URL |
https://cognilead.ai/signup?via=mcp |
Upgrade-hint URL |
COGNILEAD_QUOTA_DIR |
~/.cognilead |
Free-tier quota state directory |
COGNILEAD_MCP_HTTP_PORT |
8787 |
Only used by the hosted-MCP HTTP variant |
Get a key
Sign up — the free tier ships with 100 outbound sends per month plus capped AI content scaffolding. Paid plans add warmed sender pools, the reputation circuit-breaker, and reply/bounce handling. (MarketPrior-fed targeting is roadmap, not yet available.)
Local development
cd packages/mcp-server
npm install
npm run dev # tsx src/index.ts (stdio)
npm run build # tsc → dist/
npm run start # node dist/index.js
npm run start:http # node dist/http.js — hosted-MCP HTTP variant
To test the binary doesn't crash on startup:
node packages/mcp-server/dist/index.js < /dev/null
It should exit cleanly when stdin closes.
License
MIT