Agent Plugin
Install Sendry into ChatGPT, Codex, Cursor, GitHub Copilot, Kiro and VS Code through one Agent Plugins 1.0.0 manifest.
Agent Plugins is an open, vendor
neutral package format for AI agent extensions, published at version 1.0.0 in
August 2026. A plugin is a directory holding a plugin.json manifest, an
optional skills/ folder in the Agent Skills
format, and an optional mcp.json declaring MCP servers.
Sendry ships one. It bundles the Sendry MCP server with four skills that teach the agent how to use it well, so a single directory installs Sendry into every client that supports the standard.
- Location:
packages/agent-plugin. - Spec version: Agent Plugins 1.0.0.
- What it declares: the
sendryMCP server over stdio (npx -y sendry-mcp), plus four skills.
If your host takes a raw MCP config rather than a plugin directory, use the MCP server page instead. The plugin is a wrapper around the same server.
What is in it
packages/agent-plugin/
├── plugin.json
├── mcp.json
├── README.md
└── skills/
├── send-transactional-email/SKILL.md
├── diagnose-email-delivery/SKILL.md
├── verify-sending-domain/SKILL.md
└── review-deliverability-posture/SKILL.md
| Skill | Fires when you ask about | Uses |
|---|---|---|
send-transactional-email | sending, scheduling, batching or cancelling a message | POST /v1/emails, POST /v1/emails/batch, POST /v1/emails/{id}/cancel |
diagnose-email-delivery | a message that never arrived, bounced, or landed in spam | GET /v1/emails/{id}, /events, /insights, GET /v1/logs, GET /v1/suppression |
verify-sending-domain | DNS setup, a pending domain, domain_not_verified | POST /v1/domains, POST /v1/domains/{id}/verify |
review-deliverability-posture | bulk sender readiness, DMARC policy, a placement drop | GET /v1/deliverability/*, GET /v1/dmarc/summary |
The skills carry the real request shapes, the scope each route needs, and the error codes the API actually returns, so the agent stops guessing at parameters and stops inventing endpoints.
Get the plugin
git clone https://github.com/sendry-dev/sendry.git
The directory to point your client at is packages/agent-plugin, the one
containing plugin.json, not the repository root.
Install it
The Agent Plugins specification deliberately leaves installation to each client, so the step differs by host. Check your client's own documentation if it is not covered here.
VS Code and GitHub Copilot
Add the plugin directory to chat.pluginLocations in settings.json:
{
"chat.pluginLocations": {
"/absolute/path/to/sendry/packages/agent-plugin": true
}
}
false keeps the plugin registered but disabled. Then, in the Chat view:
- Configure Tools, and enable the
sendryMCP server. - Configure Skills, and confirm the four Sendry skills are listed.
Cursor, Codex, Kiro, ChatGPT
Each of these clients supports Agent Plugins 1.0.0 and each has its own way of
registering a local plugin directory. Point it at packages/agent-plugin; the
manifest, the MCP server and the skills are then discovered from their fixed
locations without further configuration.
Supply your API key
Agent Plugins 1.0.0 has no portable credential mechanism. The specification is
explicit that a plugin's MCP env values are visible package data, and that
plugins must not embed credentials in them. So the plugin's mcp.json declares
the launch command and nothing else:
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
"mcpServers": {
"sendry": {
"type": "stdio",
"command": "npx",
"args": ["-y", "sendry-mcp"]
}
}
}
You supply SENDRY_API_KEY yourself, in one of three places:
- In your client's MCP settings. Most hosts let you attach environment variables or secrets to a server after it is registered. This is the right place: the value never enters the plugin directory.
- In the environment the client launches from. Export it in your shell profile and start the client from that shell. Whether a client passes its own environment through to a plugin subprocess is client defined, so this may not reach the server.
- In a private copy of
mcp.json. If you fork the directory for one machine and never distribute it, adding"env": { "SENDRY_API_KEY": "sn_live_…" }works and matches the plain MCP config. Do not commit it.
SENDRY_BASE_URL overrides the API host for a self-hosted Sendry. It defaults
to https://api.sendry.online and is not a secret.
Pick a scope
Create a key at Settings, API keys. The plugin inherits whatever scope you give it, so pick the narrowest one that covers what you want the agent to do.
| Scope | The agent can | Skills it unlocks |
|---|---|---|
read_only | List and read every resource, change nothing | diagnose-email-delivery, review-deliverability-posture |
sending_access | The above, plus send email and manage templates and contacts | send-transactional-email |
full_access | Everything, including domains, API keys, team and billing | verify-sending-domain |
Check it works
Ask the agent:
List my Sendry domains and tell me which ones are not verified.
That exercises the MCP server end to end and needs only a read_only key. For
a fuller test:
Email email_… never arrived. Work out why.
The agent should read the message status, walk the per-recipient event timeline, pull deliverability insights, and check the suppression list before telling you anything.
Tool coverage
sendry-mcp 0.1.0 exposes over 100 tools across emails, domains, templates,
contacts, audiences, campaigns, webhooks, analytics, suppression, unsubscribes,
API keys, team, billing, segments, topics, contact properties, exports,
postmaster and the DLQ. It does not yet cover the deliverability report,
reputation, bulk sender readiness or DMARC endpoints, so the
review-deliverability-posture skill tells the agent to call those over HTTPS
directly. The skill marks which is which.
Related
- MCP server, for hosts that take a raw MCP config.
- Sendry CLI, for the same surface in a terminal.
- Agent Plugins specification.
- Agent Skills specification.