{
  "app": {
    "name": "MailSenpai",
    "slug": "mailsenpai",
    "company_name": "Octotech Solutions",
    "legal_entity": "Octotech Solutions / MailSenpai",
    "primary_language": "en",
    "supported_languages": [
      "en",
      "it"
    ],
    "category": "Productivity / Marketing Automation",
    "short_description": "Orchestrate MailSenpai email marketing from ChatGPT and MCP-compatible AI assistants.",
    "long_description": "MailSenpai MCP lets authorized users manage email marketing workflows from AI assistants: lists, fields, segments, subscribers, templates, campaigns, reports and transactional email, plus deliverability checks (email DNS records, email blocklists and an email spam test). Access is controlled by OAuth, consent, customer plans, roles, scopes, operational limits, confirmations, audit logs and rate limits.",
    "logo_url": "https://www.mailsenpai.com/wp-content/uploads/2024/06/MailSenpai-Logo-5-400x182.png",
    "website_url": "https://www.mailsenpai.com",
    "support_email": "supporto@mailsenpai.com",
    "privacy_email": "privacy@mailsenpai.com",
    "support_url": "https://mcp.mailsenpai.com/support",
    "privacy_policy_url": "https://mcp.mailsenpai.com/privacy",
    "terms_of_service_url": "https://mcp.mailsenpai.com/terms",
    "consent_evidence_url": "https://mcp.mailsenpai.com/consent",
    "install_url": "https://mcp.mailsenpai.com/install",
    "rate_limits_url": "https://mcp.mailsenpai.com/rate-limits",
    "mcp_server_url": "https://mcp.mailsenpai.com/mcp",
    "oauth_authorization_server_metadata_url": "https://mcp.mailsenpai.com/.well-known/oauth-authorization-server",
    "oauth_protected_resource_metadata_url": "https://mcp.mailsenpai.com/.well-known/oauth-protected-resource"
  },
  "test_plan": [
    {
      "step": 1,
      "action": "Connect with OAuth and accept consent checkbox",
      "expected": "User completes MailSenpai OAuth, consent evidence is recorded, and customer-scoped capabilities are returned."
    },
    {
      "step": 2,
      "action": "Read capabilities",
      "expected": "No secrets are returned. Scopes, limits and plan controls are visible."
    },
    {
      "step": 3,
      "action": "List demo data",
      "expected": "Only authenticated customer demo data is returned."
    },
    {
      "step": 4,
      "action": "Create a demo segment",
      "expected": "Allowed only if segments:write and canManageSegments are enabled."
    },
    {
      "step": 5,
      "action": "Create a draft campaign",
      "expected": "Draft campaign is created with provided content or template UID."
    },
    {
      "step": 6,
      "action": "Attempt send/delete without confirmation",
      "expected": "The MCP server rejects the action."
    },
    {
      "step": 7,
      "action": "Trigger rate limit in test",
      "expected": "HTTP 429 with Retry-After is returned."
    },
    {
      "step": 8,
      "action": "Run check_blacklist on a public IP (for example 8.8.8.8)",
      "expected": "Read-only. Returns status done, counts and one result per blocklist (listed, clean, unreachable), plus manual_checks with links for the lists that are not queried."
    },
    {
      "step": 9,
      "action": "Run start_email_spam_test, then get_email_spam_test_result with the returned test_token",
      "expected": "start_email_spam_test is a non-destructive write: it returns a test address and a test_token and emails the instructions to the account address. get_email_spam_test_result is read-only and returns waiting until a real email is sent to the test address, then the score from 0 to 10 with the checks."
    }
  ]
}