{
  "slug": "io-github-gabrielbbaldez-notify-hub",
  "name": "io.github.GabrielBBaldez/notify-hub",
  "title": "NotifyHub — Unified Notification MCP Server",
  "description": "Send notifications across 23 channels with 36 AI-ready tools. One API, zero boilerplate.",
  "version": "1.1.0",
  "publishedAt": "2026-03-17T23:23:58.133705Z",
  "updatedAt": "2026-03-17T23:23:58.133705Z",
  "repoUrl": "https://github.com/GabrielBBaldez/notify-hub",
  "websiteUrl": null,
  "namespace": {
    "type": "github",
    "owner": "GabrielBBaldez"
  },
  "kind": "local",
  "packages": [
    {
      "registryType": "oci",
      "identifier": "ghcr.io/gabrielbbaldez/notify-hub:1.1.0",
      "version": null,
      "transport": "stdio",
      "runtimeHint": null
    }
  ],
  "remotes": [],
  "envVars": [
    {
      "name": "NOTIFY_CHANNELS_EMAIL_HOST",
      "isSecret": false,
      "isRequired": false,
      "description": "SMTP server host for email notifications"
    },
    {
      "name": "NOTIFY_CHANNELS_EMAIL_PORT",
      "isSecret": false,
      "isRequired": false,
      "description": "SMTP server port"
    },
    {
      "name": "NOTIFY_CHANNELS_EMAIL_USERNAME",
      "isSecret": true,
      "isRequired": false,
      "description": "SMTP authentication username"
    },
    {
      "name": "NOTIFY_CHANNELS_EMAIL_PASSWORD",
      "isSecret": true,
      "isRequired": false,
      "description": "SMTP authentication password"
    },
    {
      "name": "NOTIFY_CHANNELS_EMAIL_FROM",
      "isSecret": false,
      "isRequired": false,
      "description": "Default sender email address"
    },
    {
      "name": "NOTIFY_CHANNELS_SMS_ACCOUNTSID",
      "isSecret": true,
      "isRequired": false,
      "description": "Twilio Account SID for SMS"
    },
    {
      "name": "NOTIFY_CHANNELS_SMS_AUTHTOKEN",
      "isSecret": true,
      "isRequired": false,
      "description": "Twilio Auth Token for SMS"
    },
    {
      "name": "NOTIFY_CHANNELS_SMS_FROMNUMBER",
      "isSecret": false,
      "isRequired": false,
      "description": "Twilio sender phone number"
    },
    {
      "name": "NOTIFY_CHANNELS_SLACK_WEBHOOKURL",
      "isSecret": true,
      "isRequired": false,
      "description": "Slack incoming webhook URL"
    },
    {
      "name": "NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN",
      "isSecret": true,
      "isRequired": false,
      "description": "Telegram Bot API token"
    },
    {
      "name": "NOTIFY_CHANNELS_TELEGRAM_CHATID",
      "isSecret": false,
      "isRequired": false,
      "description": "Telegram chat/group ID"
    },
    {
      "name": "NOTIFY_CHANNELS_DISCORD_WEBHOOKURL",
      "isSecret": true,
      "isRequired": false,
      "description": "Discord webhook URL"
    },
    {
      "name": "NOTIFY_CHANNELS_TEAMS_WEBHOOKURL",
      "isSecret": true,
      "isRequired": false,
      "description": "Microsoft Teams webhook URL"
    },
    {
      "name": "NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL",
      "isSecret": true,
      "isRequired": false,
      "description": "Google Chat webhook URL"
    },
    {
      "name": "NOTIFY_CHANNELS_TWITTER_APIKEY",
      "isSecret": true,
      "isRequired": false,
      "description": "Twitter/X API key"
    },
    {
      "name": "NOTIFY_CHANNELS_TWITTER_APISECRET",
      "isSecret": true,
      "isRequired": false,
      "description": "Twitter/X API secret"
    },
    {
      "name": "NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN",
      "isSecret": true,
      "isRequired": false,
      "description": "Twitter/X access token"
    },
    {
      "name": "NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET",
      "isSecret": true,
      "isRequired": false,
      "description": "Twitter/X access token secret"
    },
    {
      "name": "NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN",
      "isSecret": true,
      "isRequired": false,
      "description": "LinkedIn OAuth2 access token"
    },
    {
      "name": "NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID",
      "isSecret": false,
      "isRequired": false,
      "description": "LinkedIn organization/company ID"
    },
    {
      "name": "NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID",
      "isSecret": true,
      "isRequired": false,
      "description": "Twilio Account SID for WhatsApp"
    },
    {
      "name": "NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN",
      "isSecret": true,
      "isRequired": false,
      "description": "Twilio Auth Token for WhatsApp"
    },
    {
      "name": "NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER",
      "isSecret": false,
      "isRequired": false,
      "description": "WhatsApp sender number (with whatsapp: prefix)"
    },
    {
      "name": "NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS",
      "isSecret": true,
      "isRequired": false,
      "description": "Firebase Cloud Messaging credentials JSON (base64 or path)"
    },
    {
      "name": "NOTIFY_CHANNELS_NOTION_APIKEY",
      "isSecret": true,
      "isRequired": false,
      "description": "Notion integration API key"
    },
    {
      "name": "NOTIFY_CHANNELS_NOTION_DATABASEID",
      "isSecret": false,
      "isRequired": false,
      "description": "Notion database ID"
    },
    {
      "name": "NOTIFY_CHANNELS_TWITCH_CLIENTID",
      "isSecret": true,
      "isRequired": false,
      "description": "Twitch application client ID"
    },
    {
      "name": "NOTIFY_CHANNELS_TWITCH_CLIENTSECRET",
      "isSecret": true,
      "isRequired": false,
      "description": "Twitch application client secret"
    },
    {
      "name": "NOTIFY_CHANNELS_TWITCH_BROADCASTERID",
      "isSecret": false,
      "isRequired": false,
      "description": "Twitch broadcaster/channel ID"
    },
    {
      "name": "NOTIFY_CHANNELS_YOUTUBE_CLIENTID",
      "isSecret": true,
      "isRequired": false,
      "description": "YouTube/Google OAuth2 client ID"
    },
    {
      "name": "NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET",
      "isSecret": true,
      "isRequired": false,
      "description": "YouTube/Google OAuth2 client secret"
    },
    {
      "name": "NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN",
      "isSecret": true,
      "isRequired": false,
      "description": "YouTube/Google OAuth2 refresh token"
    },
    {
      "name": "NOTIFY_CHANNELS_YOUTUBE_LIVECHATID",
      "isSecret": false,
      "isRequired": false,
      "description": "YouTube Live Chat ID"
    },
    {
      "name": "NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN",
      "isSecret": true,
      "isRequired": false,
      "description": "Instagram Graph API access token"
    },
    {
      "name": "NOTIFY_CHANNELS_INSTAGRAM_USERID",
      "isSecret": false,
      "isRequired": false,
      "description": "Instagram Business account user ID"
    },
    {
      "name": "NOTIFY_CHANNELS_SENDGRID_APIKEY",
      "isSecret": true,
      "isRequired": false,
      "description": "SendGrid API key for email delivery with tracking"
    },
    {
      "name": "NOTIFY_CHANNELS_SENDGRID_FROMEMAIL",
      "isSecret": false,
      "isRequired": false,
      "description": "SendGrid sender email address"
    },
    {
      "name": "NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY",
      "isSecret": true,
      "isRequired": false,
      "description": "TikTok Shop application key"
    },
    {
      "name": "NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET",
      "isSecret": true,
      "isRequired": false,
      "description": "TikTok Shop application secret"
    },
    {
      "name": "NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN",
      "isSecret": true,
      "isRequired": false,
      "description": "TikTok Shop access token"
    },
    {
      "name": "NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID",
      "isSecret": false,
      "isRequired": false,
      "description": "TikTok Shop ID"
    },
    {
      "name": "NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN",
      "isSecret": true,
      "isRequired": false,
      "description": "Facebook Page access token"
    },
    {
      "name": "NOTIFY_CHANNELS_FACEBOOK_PAGEID",
      "isSecret": false,
      "isRequired": false,
      "description": "Facebook Page ID"
    },
    {
      "name": "NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID",
      "isSecret": true,
      "isRequired": false,
      "description": "AWS access key ID for SNS"
    },
    {
      "name": "NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY",
      "isSecret": true,
      "isRequired": false,
      "description": "AWS secret access key for SNS"
    },
    {
      "name": "NOTIFY_CHANNELS_AWSSNS_REGION",
      "isSecret": false,
      "isRequired": false,
      "description": "AWS region for SNS (e.g., us-east-1)"
    },
    {
      "name": "NOTIFY_CHANNELS_MAILGUN_APIKEY",
      "isSecret": true,
      "isRequired": false,
      "description": "Mailgun API key"
    },
    {
      "name": "NOTIFY_CHANNELS_MAILGUN_DOMAIN",
      "isSecret": false,
      "isRequired": false,
      "description": "Mailgun sending domain"
    },
    {
      "name": "NOTIFY_CHANNELS_MAILGUN_FROMEMAIL",
      "isSecret": false,
      "isRequired": false,
      "description": "Mailgun sender email address"
    },
    {
      "name": "NOTIFY_CHANNELS_PAGERDUTY_APIKEY",
      "isSecret": true,
      "isRequired": false,
      "description": "PagerDuty Events API v2 integration key"
    }
  ],
  "category": "communication",
  "subcategory": "more",
  "company": "",
  "categoryAuto": true,
  "checks": [
    {
      "id": "source-linked",
      "label": "Source repository linked",
      "result": "pass",
      "detail": "https://github.com/GabrielBBaldez/notify-hub"
    },
    {
      "id": "version-pinned",
      "label": "Version pinned",
      "result": "pass",
      "detail": "Every package has an explicit version"
    },
    {
      "id": "secrets-requested",
      "label": "Secrets requested",
      "result": "warn",
      "detail": "Asks for 33 secrets: NOTIFY_CHANNELS_EMAIL_USERNAME, NOTIFY_CHANNELS_EMAIL_PASSWORD, NOTIFY_CHANNELS_SMS_ACCOUNTSID, NOTIFY_CHANNELS_SMS_AUTHTOKEN, NOTIFY_CHANNELS_SLACK_WEBHOOKURL, NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN, NOTIFY_CHANNELS_DISCORD_WEBHOOKURL, NOTIFY_CHANNELS_TEAMS_WEBHOOKURL, NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL, NOTIFY_CHANNELS_TWITTER_APIKEY, NOTIFY_CHANNELS_TWITTER_APISECRET, NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN, NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET, NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN, NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID, NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN, NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS, NOTIFY_CHANNELS_NOTION_APIKEY, NOTIFY_CHANNELS_TWITCH_CLIENTID, NOTIFY_CHANNELS_TWITCH_CLIENTSECRET, NOTIFY_CHANNELS_YOUTUBE_CLIENTID, NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET, NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN, NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN, NOTIFY_CHANNELS_SENDGRID_APIKEY, NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY, NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET, NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN, NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN, NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID, NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY, NOTIFY_CHANNELS_MAILGUN_APIKEY, NOTIFY_CHANNELS_PAGERDUTY_APIKEY"
    },
    {
      "id": "known-registry",
      "label": "Known package registry",
      "result": "pass",
      "detail": "All packages come from npm, PyPI, OCI, NuGet or MCPB"
    },
    {
      "id": "namespace",
      "label": "Namespace ownership",
      "result": "info",
      "detail": "Name verified via GitHub account GabrielBBaldez"
    },
    {
      "id": "meta-text",
      "label": "Registry text aimed at the AI",
      "result": "pass",
      "detail": "Description and settings contain no hidden characters or instructions to the AI"
    },
    {
      "id": "code-flags",
      "label": "Code red flags",
      "result": "info",
      "detail": "oci packages are not read yet"
    }
  ],
  "scannedAt": "2026-10-29",
  "level": "Scanned",
  "install": [
    {
      "label": "Claude Desktop (oci)",
      "kind": "claude_desktop_json",
      "text": "{\n  \"mcpServers\": {\n    \"notify-hub\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"ghcr.io/gabrielbbaldez/notify-hub:1.1.0\"\n      ]\n    }\n  }\n}"
    }
  ],
  "curated": true,
  "stars": 5,
  "archived": false,
  "pushedAt": "2026-03-23T17:41:42Z",
  "health": {
    "score": 35,
    "parts": {
      "popularity": 0.1809211567027743,
      "activity": 0.18,
      "issues": null,
      "security": 0.8
    },
    "fail": 0,
    "warn": 1,
    "raw": {
      "stars": 5,
      "forks": 2,
      "downloads": null,
      "hn": null,
      "issuesOpen": 0,
      "issuesClosed": 0,
      "prsMerged": 1,
      "commits90": 0,
      "release": "2026-03-17T23:23:31Z",
      "pushed": "2026-03-23T17:41:42Z",
      "growth": null,
      "growthDays": null,
      "archived": false
    },
    "at": "2026-10-31T07:42:38.200Z"
  }
}
