About Senderkit
Senderkit is a set of portable skills for coding agents to integrate and operate transactional messaging in applications. It covers email deliverability as well as runtime message operations through SenderKit MCP.
Key features
- 01Integrate email, SMS, and push notifications
- 02Migrate or route existing providers
- 03Send and inspect messages through MCP
- 04Check and configure email authentication
Use cases
- 01Add signup emails or SMS verification
- 02Add push notifications to an application
- 03Check delivery status or cancel a pending send
- 04Diagnose SPF, DKIM, and DMARC setup
MCP support
Connects coding agents to the remote SenderKit MCP server for sending messages, inspecting templates and delivery status, and cancelling pending sends.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.senderkit.comclaude mcp add --transport http senderkit-skills https://mcp.senderkit.com{"mcpServers":{"senderkit-skills":{"type":"http","url":"https://mcp.senderkit.com"}}}Open in Cursor{"servers":{"senderkit-skills":{"type":"http","url":"https://mcp.senderkit.com"}}}Open in VS Code{"mcpServers":{"senderkit-skills":{"type":"http","url":"https://mcp.senderkit.com"}}}{"mcpServers":{"senderkit-skills":{"serverUrl":"https://mcp.senderkit.com"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
18| Parameter | Type | Required | Description |
|---|---|---|---|
| context | string | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Details
From the project READMESenderKit Skills
Add transactional email, SMS, push, and web-push notifications to any app — straight from your AI coding agent. Portable AI-agent skills for SenderKit, packaged as a plugin for Claude Code, OpenAI Codex, Cursor, opencode, and other Agent Skills-compatible coding assistants.
SenderKit sends email, SMS, push, and web-push directly, and can also route through providers like Resend, SendGrid, Postmark, Mailgun, SES, Twilio, FCM, APNs, and Expo — so your app isn't locked into one vendor. These skills let an agent wire SenderKit into your codebase and operate it at runtime over MCP.
This repository contains one senderkit plugin with three related skills:
senderkit-integration- add SenderKit to an app, or replace/route an existing email, SMS, or push provider through it.senderkit-mcp-messaging-operations- send and inspect messages at runtime through the SenderKit MCP connector.senderkit-email-deliverability- authenticate a sending domain (SPF/DKIM/DMARC) so email reaches the inbox.
What can I ask?
You don't need to name SenderKit — these skills activate on everyday messaging requests. Examples:
| You ask | Skill that helps |
|---|---|
| "Add a welcome email when a user signs up" | senderkit-integration |
| "Set up SMS OTP / verification codes" | senderkit-integration |
| "Add push notifications to this project" | senderkit-integration |
| "Send password-reset and receipt emails" | senderkit-integration |
| "Switch my email provider to SenderKit (or route through it, no lock-in)" | senderkit-integration |
| "Send a test email and check its delivery status" | senderkit-mcp-messaging-operations |
| "Why did this message fail? Cancel that scheduled send" | senderkit-mcp-messaging-operations |
| "Why are my emails going to spam? Set up DKIM/SPF/DMARC" | senderkit-email-deliverability |
Rule of thumb: integration writes SenderKit into your code; messaging operations sends and inspects messages at runtime via MCP.
Install
This repo ships per-platform metadata — Claude Code (.claude-plugin/), OpenAI Codex (.codex-plugin/), Cursor (.cursor-plugin/), and opencode (opencode.json) — and the authored skills under ./skills/. Pick your agent below; each path ends with a quick check so you know it worked.
Any agent (skills CLI)
The skills CLI installs the skills into the right location for whichever agent you use (Claude Code, Codex, Cursor, opencode, and others):
npx skills add senderkit/senderkit-skills
It detects your agent, lists the three skills, and copies the ones you pick. This installs the skills only — to get the senderkit_* MCP tools, also connect the MCP server (see Connect the SenderKit MCP server).
Check it works: ask your agent "Use senderkit-integration to add a welcome email."
Claude Code
From the marketplace (recommended):
/plugin marketplace add senderkit/senderkit-skills
/plugin install senderkit@senderkit-skills
From a local checkout (for development):
claude --plugin-dir .
This loads both skills and the SenderKit MCP server from the repo's .mcp.json (OAuth, no key stored). Run /mcp, sign in, and pick a workspace and test/live mode.
Check it works: run /mcp — the senderkit server should be connected — or ask "Use senderkit-integration to add a welcome email."
OpenAI Codex
"ChatGPT" support means Codex, OpenAI's coding agent (CLI / IDE extension / app). The ChatGPT chat app does not load skills.
Codex discovers skills from .agents/skills/ directories. Vendor the skills into your user scope (available in every repo) or a single repo's scope:
git clone https://github.com/senderkit/senderkit-skills.git
mkdir -p ~/.agents/skills
cp -R senderkit-skills/skills/senderkit-integration ~/.agents/skills/
cp -R senderkit-skills/skills/senderkit-mcp-messaging-operations ~/.agents/skills/
# repo-scoped instead? copy into <your-repo>/.agents/skills/
Restart Codex so it picks them up. Connect MCP: the bundled .mcp.json (referenced from .codex-plugin/plugin.json) points Codex at https://mcp.senderkit.com over OAuth — run codex mcp login senderkit to sign in (no key stored). Prefer an API key? See API key (optional) below, or run senderkit mcp install --client codex.
Check it works: run /skills (the SenderKit skills should be listed) or invoke one explicitly with $senderkit-integration.
Distributing the full plugin (skills + MCP) to a team? Publish this repo as a Codex marketplace and install via codex → /plugins. See https://developers.openai.com/codex/plugins/build.
Cursor
For an individual install, load this repo as a local plugin:
git clone https://github.com/senderkit/senderkit-skills.git
ln -s "$(pwd)/senderkit-skills" ~/.cursor/plugins/local/senderkit
Reload Cursor (Developer: Reload Window). Skills show up under Settings → Rules & Skills and can be invoked with /senderkit-integration. Connect MCP: the bundled .cursor-plugin/plugin.json points Cursor at https://mcp.senderkit.com over OAuth — open Settings → MCP, toggle the server on, and sign in (no key stored). Prefer an API key? See API key (optional) below, or run senderkit mcp install --client cursor.
For teams, import this GitHub repo as a Team Marketplace (Dashboard → Settings → Plugins; Teams/Enterprise plans). See https://cursor.com/docs/plugins.
Check it works: type /senderkit-integration in chat, or ask "Send a test email and check its status via SenderKit MCP."
opencode
opencode auto-discovers Agent Skills (one folder per skill, SKILL.md inside) from ~/.config/opencode/skills/ (user scope, every repo) or .opencode/skills/ (repo scope) — and also reads .claude/skills/ and .agents/skills/, so the same skill folders work unchanged. Vendor them in:
git clone https://github.com/senderkit/senderkit-skills.git
mkdir -p ~/.config/opencode/skills
cp -R senderkit-skills/skills/senderkit-integration ~/.config/opencode/skills/
cp -R senderkit-skills/skills/senderkit-mcp-messaging-operations ~/.config/opencode/skills/
cp -R senderkit-skills/skills/senderkit-email-deliverability ~/.config/opencode/skills/
# repo-scoped instead? copy into <your-repo>/.opencode/skills/
Connect MCP: merge the mcp block from this repo's opencode.json into your own opencode.json (project root or ~/.config/opencode/opencode.json). It points opencode at https://mcp.senderkit.com as a "type": "remote" server with no auth, so opencode runs the OAuth flow on first use (no key stored). Sign in with opencode mcp auth senderkit. Prefer an API key? See API key (optional) below.
Check it works: run opencode mcp list (the senderkit server should be listed) or ask "Use senderkit-integration to add a welcome email."
Connect the SenderKit MCP server
Installing the plugin/skills gives you the senderkit_* MCP tools. Auth differs per client:
- Claude Code — OAuth via the repo's
.mcp.json. Run/mcp, sign in, pick a workspace and test/live mode. No API key is stored in the repo. - Cursor — OAuth via the bundled
.cursor-plugin/plugin.json. Toggle the server under Settings → MCP and sign in. No API key is stored in the repo. - Codex — OAuth via the bundled
.mcp.json. Runcodex mcp login senderkitto sign in. No API key is stored in the repo. - opencode — OAuth via the bundled
opencode.json("type": "remote",urlonly). Runopencode mcp auth senderkitto sign in. No API key is stored in the repo.
API key (optional)
Every shipped manifest is OAuth-only, so no credential is committed. mcp.senderkit.com also accepts an API key if you'd rather skip OAuth — set SENDERKIT_API_KEY (the sk_live_ / sk_test_ prefix selects mode) and add it in your own MCP config:
- Cursor / Claude Code / Windsurf — add an
Authorizationheader, e.g. in~/.cursor/mcp.json:{ "mcpServers": { "senderkit": { "url": "https://mcp.senderkit.com", "headers": { "Authorization": "Bearer ${env:SENDERKIT_API_KEY}" } } } } - Codex — add
bearer_token_env_var = "SENDERKIT_API_KEY"to thesenderkitserver in your~/.codex/config.toml. - opencode — in your own
opencode.json, set"oauth": falseon thesenderkitserver and add a header:"headers": { "Authorization": "Bearer {env:SENDERKIT_API_KEY}" }(opencode interpolates{env:VAR}).
Other clients (Windsurf, VS Code, Zed, Claude Desktop) and manual config: see skills/senderkit-mcp-messaging-operations/README.md and https://docs.senderkit.com/mcp/installation. The SenderKit CLI can also write the config for you: senderkit mcp install --client cursor (or codex, claude-code, vscode, zed, all).
Skills
SenderKit Integration
Use senderkit-integration when an agent needs to modify an application: detect the stack, add SenderKit, migrate provider calls, preserve existing notification behavior, and verify the integration before live traffic.
Suggested prompt:
Use $senderkit-integration to add SenderKit transactional messaging to this project.
Claude Code plugin command:
/senderkit:senderkit-integration
SenderKit MCP Messaging Operations
Use senderkit-mcp-messaging-operations when an agent has access to the SenderKit MCP server and needs to send messages, inspect templates, check message status, or cancel pending sends through MCP tool calls.
Suggested prompt:
Use $senderkit-mcp-messaging-operations to send a test message and verify its status through SenderKit MCP.
Claude Code plugin command:
/senderkit:senderkit-mcp-messaging-operations
SenderKit Email Deliverability
Use senderkit-email-deliverability when transactional email needs to be authenticated to reach the inbox: diagnose current SPF/DKIM/DMARC with dig, generate the exact records to add, point to the SenderKit dashboard for issued values, and verify publication.
Suggested prompt:
Use $senderkit-email-deliverability to diagnose and fix SPF, DKIM, and DMARC for my sending domain.
Claude Code plugin command:
/senderkit:senderkit-email-deliverability
Repository layout
senderkit-skills/
|-- .claude-plugin/
| |-- marketplace.json
| `-- plugin.json
|-- .codex-plugin/
| `-- plugin.json
|-- .cursor-plugin/
| |-- marketplace.json
| `-- plugin.json
|-- .github/
| |-- dependabot.yml
| `-- workflows/
| |-- validate.yml
| `-- hol-scanner.yml
|-- .codexignore
|-- .mcp.json
|-- opencode.json
|-- AGENTS.md
|-- LICENSE
|-- README.md
|-- SECURITY.md
|-- llms.txt
`-- skills/
|-- senderkit-email-deliverability/
|-- senderkit-integration/
`-- senderkit-mcp-messaging-operations/
Official docs
- SenderKit MCP overview:
https://docs.senderkit.com/mcp/overview - SenderKit MCP tools:
https://docs.senderkit.com/mcp/tools - SenderKit OpenAPI:
https://www.senderkit.com/openapi.yaml
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.