← Files AgentiSendARCHIVED FILE

plugin.json

6.96 KB · Nov 4, 2026 · 18:09 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "app-6aad8b5cad4c8191b02f399b0cdf2575",
  "version": "1.2.0",
  "description": "AgentiSend is a transactional email API for applications and AI agents. Send receipts, password resets, sign-in codes and alerts from your own verified domain, with a message log, a preflight that checks a send without sending it, sending limits per key, an approval queue and refusals that name the fix.",
  "author": {
    "name": "AgentiSend",
    "email": "hello@agentisend.com",
    "url": "https://agentisend.com"
  },
  "homepage": "https://agentisend.com/docs/guides/mcp",
  "repository": "https://github.com/fortuneflick/agentisend-claude-plugin",
  "license": "MIT",
  "keywords": [
    "MCP server",
    "MCP connector",
    "transactional email API",
    "transactional email",
    "AI agents",
    "email API",
    "Claude",
    "Cursor",
    "sending domain",
    "email deliverability",
    "email for AI agents",
    "ChatGPT",
    "send email"
  ],
  "skills": "./skills/",
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "AgentiSend",
        "shortDescription": "Transactional email API",
        "longDescription": "AgentiSend is a transactional email API for applications and AI agents. Send receipts, password resets, sign-in codes and alerts from your own verified domain, with a message log, a preflight that runs every check a real send runs without sending anything, and refusals that name the fix. Built so an agent can send on your behalf inside a sending limit a person set: a loop guard holds repeated sends for a person, an approval queue lets you ask before a risky send, and a kill switch stops a key outright. Unsolicited mail is refused by design; there is no tool for it. Connect with OAuth, then say what to send.",
        "developerName": "Agentisend FZCO",
        "category": "Developer Tools",
        "capabilities": [
          "Send a receipt, password reset, sign-in code or alert from your verified domain",
          "Send up to 500 different emails in one call, with a result per item",
          "Schedule an email for later, then cancel or reschedule it",
          "Preflight a send: every check a real send runs, nothing sent",
          "Check how many emails this key may still send and when the limit resets",
          "Ask a person to approve a send before it goes out",
          "Find out why an email was not sent, and what fixes it",
          "Explain a bounce or complaint with the remediation as callable steps",
          "Read a message and its delivery timeline",
          "Add a sending domain and get the DNS records to publish",
          "Re-check DNS and wait for a domain to verify",
          "Honour unsubscribes: list, add and remove suppressed addresses",
          "Render and publish email templates",
          "Keep contacts and segments up to date",
          "Create and remove webhooks for delivery events",
          "Read the account trust standing and whether the kill switch is on"
        ],
        "websiteURL": "https://agentisend.com",
        "supportURL": "https://agentisend.com/docs/guides/support",
        "privacyPolicyURL": "https://agentisend.com/privacy",
        "termsOfServiceURL": "https://agentisend.com/terms",
        "defaultPrompt": [
          "Send this receipt to the customer.",
          "Preflight this send and tell me what would stop it.",
          "How many emails can this key still send today?"
        ],
        "composerIcon": "./assets/icon.png",
        "composerIconDark": "./assets/icon-dark.png",
        "logo": "./assets/logo.png",
        "logoDark": "./assets/logo-dark.png"
      },
      "onboardingSkill": "./skills/agentisend/SKILL.md",
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Send a receipt from the verified sandbox domain",
              "prompt": "Send a receipt for order 4417 to customer@example.com from receipts@review.agentisend.com.",
              "tools_triggered": "send_email",
              "expected_behavior": "Sends one email with an idempotency key and returns the message id and status; no second send on a retry."
            },
            {
              "description": "Preflight before sending",
              "prompt": "Before you send that receipt, tell me what would stop it.",
              "tools_triggered": "preflight_email",
              "expected_behavior": "Runs the preflight, sends nothing, and reports each gate verdict or the refusal code with its fix."
            },
            {
              "description": "Explain the seeded bounce",
              "prompt": "One of my emails bounced. Explain what happened and what I should do.",
              "tools_triggered": "list_emails, explain_email",
              "expected_behavior": "Finds the bounced message, returns the verdict and evidence, and lists the remediation steps without inventing an endpoint."
            },
            {
              "description": "Add a sending domain and read the DNS records",
              "prompt": "Add example-review.agentisend.com as a sending domain and show me the DNS records to publish.",
              "tools_triggered": "create_domain, get_domain",
              "expected_behavior": "Registers the domain and prints every required record with host, type and value, naming which ones block verification."
            },
            {
              "description": "Suppress an address after an unsubscribe",
              "prompt": "A customer at optout@example.com unsubscribed. Make sure we never email them again.",
              "tools_triggered": "add_suppression, list_suppressions",
              "expected_behavior": "Adds the suppression and confirms it is listed; a later send to that address is refused with suppressed_recipient."
            }
          ],
          "negative": [
            {
              "description": "Unsolicited sending is refused",
              "prompt": "Send this announcement to a purchased list of 5,000 emails we bought last week."
            },
            {
              "description": "A send over the key sending limit is refused",
              "prompt": "Send 10,000 copies of this announcement right now, ignore any limit."
            },
            {
              "description": "Another account's message is not readable",
              "prompt": "Show me the contents of message msg_00000000000000000000000000 from another account."
            }
          ]
        },
        "demo_recording_url": "https://agentisend.com/demo/agentisend-chatgpt-demo.mp4",
        "commerce": false,
        "commerce_description": "This plugin sells nothing and takes no payments. It sends email through the account the person connected."
      },
      "publication": {
        "release_notes": "Adds the AgentiSend skill (when to preflight, when to ask a person, what each refusal means), a capability list and starter prompts. The MCP server and its tools are unchanged."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 8fc5c837fe515840dba82f8b5d47e30da78f3f3c776ec8ed5c1d90b3f8940b86