Sendry Docs
Integrations

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 sendry MCP 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
SkillFires when you ask aboutUses
send-transactional-emailsending, scheduling, batching or cancelling a messagePOST /v1/emails, POST /v1/emails/batch, POST /v1/emails/{id}/cancel
diagnose-email-deliverya message that never arrived, bounced, or landed in spamGET /v1/emails/{id}, /events, /insights, GET /v1/logs, GET /v1/suppression
verify-sending-domainDNS setup, a pending domain, domain_not_verifiedPOST /v1/domains, POST /v1/domains/{id}/verify
review-deliverability-posturebulk sender readiness, DMARC policy, a placement dropGET /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:

  1. Configure Tools, and enable the sendry MCP server.
  2. 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:

  1. 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.
  2. 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.
  3. 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.

ScopeThe agent canSkills it unlocks
read_onlyList and read every resource, change nothingdiagnose-email-delivery, review-deliverability-posture
sending_accessThe above, plus send email and manage templates and contactssend-transactional-email
full_accessEverything, including domains, API keys, team and billingverify-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.

On this page