@sendinel/mcp-server
v1.0.157
Published
AI-controlled email operations control plane for campaigns, contacts, segments, analytics, and multi-provider sending via MCP.
Maintainers
Readme
@sendinel/mcp-server
Sendinel's published MCP server package for local stdio clients such as Claude Desktop, Claude Code, Cursor, and Codex CLI.
AI-controlled email operations control plane for campaigns, contacts, segments, templates, analytics, deliverability, and multi-provider sending across the Sendinel portfolio.
- Categories:
email,marketing,crm,automation,analytics - Official registry name:
ai.sendinel/mcp-server - Hosted remote endpoint:
https://sendinel.ai/mcp - npm package:
@sendinel/mcp-server - Source:
https://github.com/kmdesle/sendinel-ai/tree/main/packages/mcp-server
Tool groups
emit_contact_event (contacts, write scope) records an event and can enroll
contacts into active sending campaigns. It requires standard human approval,
preserves REST outcomes, and redacts failures. See the
event-triggered campaign guide for
inputs, idempotency, subscription requirements, and conditional step examples.
Sendinel currently exposes 35 tool groups and 346 tools (gateway mode exposes 4 meta-tools, sharing how_to with full mode). These counts are checked against the tool registry in CI, so this table matches what ships.
| Group | Count | Purpose |
|-------|-------|---------|
| ab-testing | 4 | A/B test creation, listing, significance checks, winner promotion |
| agent-mailboxes | 6 | Bound inbox, threads, status and always-approved replies/provisioning |
| advisor | 6 | Campaign advisor: recommendations, benchmarks, subject/content/send-time guidance |
| ai-work | 9 | AI work items, recommended segments, context events, agent proposals |
| analytics | 15 | Stats, portfolio analytics, project switching, domain health, engagement, deliverability, revenue analytics |
| approvals | 5 | Poll/list approvals, person OAuth approval, write-scoped cancellation, opted-in chat confirmation |
| automations | 7 | Automation triggers, previews, and response-gated escalation ladders |
| brand_kit | 6 | Brand Core text import, media library upload/URL ingest, asset-context reads, project logo selection |
| campaigns | 44 | Full campaign lifecycle: create, edit, approve, launch, enroll, schedule, sequence templates, convert imported campaigns |
| cloud-import | 6 | Cloud storage import |
| compound | 4 | Higher-level campaign/template/site setup and delivery diagnosis workflows |
| connector | 6 | BYOD connector status, table discovery, schema/view setup, mapping, resync |
| contacts | 40 | Subscriber CRUD, saved views, tags, email log, suppression, merge, timeline |
| content | 14 | Content blocks, gated asset links, blog ingest and auto-publish, sources |
| data | 19 | Platform connectors, imports, API keys, migration jobs, notifications, tenant export |
| data-proposals | 3 | Data-derived campaign proposal generation, listing, approval |
| delivery-ops | 25 | Domains, DNSBL, deliverability diagnostics, queue, DLQ, exports, blackout dates, abuse overrides |
| drafts | 6 | Draft create/approve/reject and draft-to-campaign promotion |
| forms | 3 | Form creation, listing, stats |
| gdpr | 4 | Contact data deletion and GDPR log |
| landing-pages | 5 | Landing page CRUD |
| lists | 7 | Static contact lists and membership management |
| newsletters | 12 | Newsletter publications, issues, subscribers, scheduling, sending, stats |
| org | 24 | Team members, plan usage/limits, audit log, model registry, white-label, support tickets, outbound digest, provider switching |
| segments | 6 | Audience builder: create, edit, natural-language generation, preview |
| short-links | 3 | Short links, click stats, QR codes |
| signatures | 4 | Sending signature blocks |
| sites | 5 | Site, sender, and brand voice management |
| skills | 3 | Operator skills catalog |
| sms | 7 | SMS send, log, consent, inbound |
| social-posts | 17 | Social campaign creation, publisher scheduling, social posts, engagement reads, and LinkedIn reply proposals for human review |
| surveys | 5 | Survey creation, listing, status, results |
| templates | 7 | Email template CRUD, version restore, migration translation |
| warmup | 4 | IP/domain warmup schedule control |
| webhooks | 5 | Webhook subscription management |
cancel_approval({approval_id}) rejects an unexpired, unused pending/approved
request in the current project for any write-scoped credential.
approve_approval({approval_id}) requires the person's own live OAuth connection
(connection_role: NULL) and its own pending request in that project. Tester,
agent, API key, service-token and scoped-JWT credentials cannot approve. Sends
and deletes still need approval; the user may answer through their AI without
another verification prompt. See approval tools.
Install / run
npx -y @sendinel/mcp-server@latestThe package also exposes the legacy bin alias:
npx -y sendinel-mcpRequired environment
SENDINEL_API_KEY
Optional server-side env when you run the package outside the main Sendinel app environment:
SUPABASE_URLorNEXT_PUBLIC_SUPABASE_URLSUPABASE_SERVICE_ROLE_KEYMCP_TRANSPORT(stdioby default,httpfor HTTP/SSE mode)MCP_SERVER_PORT(HTTP mode only)
Stdio mode fails closed if SENDINEL_API_KEY is missing or invalid.
MCP client examples
Claude Desktop / Cursor
{
"mcpServers": {
"sendinel": {
"command": "npx",
"args": ["-y", "@sendinel/mcp-server@latest"],
"env": {
"SENDINEL_API_KEY": "snk_your_api_key"
}
}
}
}Codex CLI
[mcp_servers.sendinel]
command = "npx"
args = ["-y", "@sendinel/mcp-server@latest"]
[mcp_servers.sendinel.env]
SENDINEL_API_KEY = "snk_your_api_key"Or add it automatically:
codex mcp add sendinel --env SENDINEL_API_KEY=snk_your_api_key -- npx "-y" "@sendinel/mcp-server@latest"Transport
stdioby defaulthttpwhenMCP_TRANSPORT=http
Publishing
This package is intended to be published publicly to npm and listed in MCP directories:
- package name:
@sendinel/mcp-server - default launcher:
npx -y @sendinel/mcp-server@latest - official registry manifest:
server.json - Smithery config:
../../smithery.yaml
