NotifyHub — Unified Notification MCP Server
mcpotherSend notifications across 23 channels with 36 AI-ready tools. One API, zero boilerplate.
run it
on your own machines, one way per deploy method#!/usr/bin/env bash
# notify-hub (io.github.GabrielBBaldez/notify-hub), recipe docker (generated).
# Generated by Hub for toolset "my-agent"; started by mcp-my-agent-notify-hub.service.
set -euo pipefail
export HOST=127.0.0.1 PORT=8101
exec docker run --rm --name mcp-my-agent-notify-hub -p 127.0.0.1:${PORT}:8000 --env-file /etc/mcp/my-agent.env ghcr.io/gabrielbbaldez/notify-hub:1.1.0
[Unit]
Description=MCP server notify-hub (toolset my-agent), generated by Hub
After=network-online.target docker.service
Wants=network-online.target
[Service]
Type=simple
User=mcp
Group=mcp
SupplementaryGroups=docker
EnvironmentFile=/etc/mcp/my-agent.env
Environment=HOME=/var/lib/mcp/notify-hub
WorkingDirectory=/var/lib/mcp/notify-hub
ExecStart=/opt/mcp/my-agent/bin/notify-hub.sh
Restart=on-failure
RestartSec=5
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=true
PrivateTmp=true
ReadWritePaths=/var/lib/mcp/notify-hub
[Install]
WantedBy=multi-user.target
docker run --rm -p 127.0.0.1:8101:8000 -e NOTIFY_CHANNELS_EMAIL_HOST -e NOTIFY_CHANNELS_EMAIL_PORT -e NOTIFY_CHANNELS_EMAIL_USERNAME -e NOTIFY_CHANNELS_EMAIL_PASSWORD -e NOTIFY_CHANNELS_EMAIL_FROM -e NOTIFY_CHANNELS_SMS_ACCOUNTSID -e NOTIFY_CHANNELS_SMS_AUTHTOKEN -e NOTIFY_CHANNELS_SMS_FROMNUMBER -e NOTIFY_CHANNELS_SLACK_WEBHOOKURL -e NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN -e NOTIFY_CHANNELS_TELEGRAM_CHATID -e NOTIFY_CHANNELS_DISCORD_WEBHOOKURL -e NOTIFY_CHANNELS_TEAMS_WEBHOOKURL -e NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL -e NOTIFY_CHANNELS_TWITTER_APIKEY -e NOTIFY_CHANNELS_TWITTER_APISECRET -e NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN -e NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET -e NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN -e NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID -e NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID -e NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN -e NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER -e NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS -e NOTIFY_CHANNELS_NOTION_APIKEY -e NOTIFY_CHANNELS_NOTION_DATABASEID -e NOTIFY_CHANNELS_TWITCH_CLIENTID -e NOTIFY_CHANNELS_TWITCH_CLIENTSECRET -e NOTIFY_CHANNELS_TWITCH_BROADCASTERID -e NOTIFY_CHANNELS_YOUTUBE_CLIENTID -e NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET -e NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN -e NOTIFY_CHANNELS_YOUTUBE_LIVECHATID -e NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN -e NOTIFY_CHANNELS_INSTAGRAM_USERID -e NOTIFY_CHANNELS_SENDGRID_APIKEY -e NOTIFY_CHANNELS_SENDGRID_FROMEMAIL -e NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY -e NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET -e NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN -e NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID -e NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN -e NOTIFY_CHANNELS_FACEBOOK_PAGEID -e NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID -e NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY -e NOTIFY_CHANNELS_AWSSNS_REGION -e NOTIFY_CHANNELS_MAILGUN_APIKEY -e NOTIFY_CHANNELS_MAILGUN_DOMAIN -e NOTIFY_CHANNELS_MAILGUN_FROMEMAIL -e NOTIFY_CHANNELS_PAGERDUTY_APIKEY ghcr.io/gabrielbbaldez/notify-hub:1.1.0
# Generated by Hub for toolset "my-agent" (2026-10-18T15:37:18+00:00).
# Each package server runs behind a stdio->HTTP bridge and listens on localhost only.
# cp .env.example .env # fill the ${VAR}s
# docker compose up -d && bash smoke.sh
# Remote servers are not here: clients reach them directly (see clients/).
name: mcp-my-agent
services:
notify-hub:
image: ghcr.io/gabrielbbaldez/notify-hub:1.1.0
ports:
- 127.0.0.1:8101:8000
restart: unless-stopped
x-note: 'CHANGE_ME: check the image''s README for its transport and port; this assumes streamable
HTTP at :8000/mcp. If it speaks stdio only, use it from clients/mcp.json as a `docker run -i` command
instead.'
environment:
NOTIFY_CHANNELS_EMAIL_HOST: ${NOTIFY_CHANNELS_EMAIL_HOST}
NOTIFY_CHANNELS_EMAIL_PORT: ${NOTIFY_CHANNELS_EMAIL_PORT}
NOTIFY_CHANNELS_EMAIL_USERNAME: ${NOTIFY_CHANNELS_EMAIL_USERNAME}
NOTIFY_CHANNELS_EMAIL_PASSWORD: ${NOTIFY_CHANNELS_EMAIL_PASSWORD}
NOTIFY_CHANNELS_EMAIL_FROM: ${NOTIFY_CHANNELS_EMAIL_FROM}
NOTIFY_CHANNELS_SMS_ACCOUNTSID: ${NOTIFY_CHANNELS_SMS_ACCOUNTSID}
NOTIFY_CHANNELS_SMS_AUTHTOKEN: ${NOTIFY_CHANNELS_SMS_AUTHTOKEN}
NOTIFY_CHANNELS_SMS_FROMNUMBER: ${NOTIFY_CHANNELS_SMS_FROMNUMBER}
NOTIFY_CHANNELS_SLACK_WEBHOOKURL: ${NOTIFY_CHANNELS_SLACK_WEBHOOKURL}
NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN: ${NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN}
NOTIFY_CHANNELS_TELEGRAM_CHATID: ${NOTIFY_CHANNELS_TELEGRAM_CHATID}
NOTIFY_CHANNELS_DISCORD_WEBHOOKURL: ${NOTIFY_CHANNELS_DISCORD_WEBHOOKURL}
NOTIFY_CHANNELS_TEAMS_WEBHOOKURL: ${NOTIFY_CHANNELS_TEAMS_WEBHOOKURL}
NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL: ${NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL}
NOTIFY_CHANNELS_TWITTER_APIKEY: ${NOTIFY_CHANNELS_TWITTER_APIKEY}
NOTIFY_CHANNELS_TWITTER_APISECRET: ${NOTIFY_CHANNELS_TWITTER_APISECRET}
NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN: ${NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN}
NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET: ${NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET}
NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN: ${NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN}
NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID: ${NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID}
NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID: ${NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID}
NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN: ${NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN}
NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER: ${NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER}
NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS: ${NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS}
NOTIFY_CHANNELS_NOTION_APIKEY: ${NOTIFY_CHANNELS_NOTION_APIKEY}
NOTIFY_CHANNELS_NOTION_DATABASEID: ${NOTIFY_CHANNELS_NOTION_DATABASEID}
NOTIFY_CHANNELS_TWITCH_CLIENTID: ${NOTIFY_CHANNELS_TWITCH_CLIENTID}
NOTIFY_CHANNELS_TWITCH_CLIENTSECRET: ${NOTIFY_CHANNELS_TWITCH_CLIENTSECRET}
NOTIFY_CHANNELS_TWITCH_BROADCASTERID: ${NOTIFY_CHANNELS_TWITCH_BROADCASTERID}
NOTIFY_CHANNELS_YOUTUBE_CLIENTID: ${NOTIFY_CHANNELS_YOUTUBE_CLIENTID}
NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET: ${NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET}
NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN: ${NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN}
NOTIFY_CHANNELS_YOUTUBE_LIVECHATID: ${NOTIFY_CHANNELS_YOUTUBE_LIVECHATID}
NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN: ${NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN}
NOTIFY_CHANNELS_INSTAGRAM_USERID: ${NOTIFY_CHANNELS_INSTAGRAM_USERID}
NOTIFY_CHANNELS_SENDGRID_APIKEY: ${NOTIFY_CHANNELS_SENDGRID_APIKEY}
NOTIFY_CHANNELS_SENDGRID_FROMEMAIL: ${NOTIFY_CHANNELS_SENDGRID_FROMEMAIL}
NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY: ${NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY}
NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET: ${NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET}
NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN: ${NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN}
NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID: ${NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID}
NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN: ${NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN}
NOTIFY_CHANNELS_FACEBOOK_PAGEID: ${NOTIFY_CHANNELS_FACEBOOK_PAGEID}
NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID: ${NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID}
NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY: ${NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY}
NOTIFY_CHANNELS_AWSSNS_REGION: ${NOTIFY_CHANNELS_AWSSNS_REGION}
NOTIFY_CHANNELS_MAILGUN_APIKEY: ${NOTIFY_CHANNELS_MAILGUN_APIKEY}
NOTIFY_CHANNELS_MAILGUN_DOMAIN: ${NOTIFY_CHANNELS_MAILGUN_DOMAIN}
NOTIFY_CHANNELS_MAILGUN_FROMEMAIL: ${NOTIFY_CHANNELS_MAILGUN_FROMEMAIL}
NOTIFY_CHANNELS_PAGERDUTY_APIKEY: ${NOTIFY_CHANNELS_PAGERDUTY_APIKEY}
volumes:
npm-cache: {}
uv-cache: {}
# Generated by Hub for toolset "my-agent" (2026-10-18T15:37:18+00:00).
# kubectl create namespace mcp
# kubectl -n mcp create secret generic mcp-credentials --from-env-file=.env
# kubectl apply -f kubernetes.yaml
# Services are cluster-internal: <name>.mcp.svc.cluster.local:8000/mcp. Put an ingress
# with auth in front before exposing any of them.
apiVersion: v1
kind: Namespace
metadata:
name: mcp
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: notify-hub
namespace: mcp
labels: &id001
app: notify-hub
spec:
replicas: 1
selector:
matchLabels: *id001
template:
metadata:
labels: *id001
spec:
containers:
- name: notify-hub
image: ghcr.io/gabrielbbaldez/notify-hub:1.1.0
ports:
- containerPort: 8000
name: http
env:
- name: NOTIFY_CHANNELS_EMAIL_HOST
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_EMAIL_HOST
- name: NOTIFY_CHANNELS_EMAIL_PORT
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_EMAIL_PORT
- name: NOTIFY_CHANNELS_EMAIL_USERNAME
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_EMAIL_USERNAME
- name: NOTIFY_CHANNELS_EMAIL_PASSWORD
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_EMAIL_PASSWORD
- name: NOTIFY_CHANNELS_EMAIL_FROM
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_EMAIL_FROM
- name: NOTIFY_CHANNELS_SMS_ACCOUNTSID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_SMS_ACCOUNTSID
- name: NOTIFY_CHANNELS_SMS_AUTHTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_SMS_AUTHTOKEN
- name: NOTIFY_CHANNELS_SMS_FROMNUMBER
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_SMS_FROMNUMBER
- name: NOTIFY_CHANNELS_SLACK_WEBHOOKURL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_SLACK_WEBHOOKURL
- name: NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN
- name: NOTIFY_CHANNELS_TELEGRAM_CHATID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TELEGRAM_CHATID
- name: NOTIFY_CHANNELS_DISCORD_WEBHOOKURL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_DISCORD_WEBHOOKURL
- name: NOTIFY_CHANNELS_TEAMS_WEBHOOKURL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TEAMS_WEBHOOKURL
- name: NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL
- name: NOTIFY_CHANNELS_TWITTER_APIKEY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TWITTER_APIKEY
- name: NOTIFY_CHANNELS_TWITTER_APISECRET
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TWITTER_APISECRET
- name: NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN
- name: NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET
- name: NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN
- name: NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID
- name: NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID
- name: NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN
- name: NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER
- name: NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS
- name: NOTIFY_CHANNELS_NOTION_APIKEY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_NOTION_APIKEY
- name: NOTIFY_CHANNELS_NOTION_DATABASEID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_NOTION_DATABASEID
- name: NOTIFY_CHANNELS_TWITCH_CLIENTID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TWITCH_CLIENTID
- name: NOTIFY_CHANNELS_TWITCH_CLIENTSECRET
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TWITCH_CLIENTSECRET
- name: NOTIFY_CHANNELS_TWITCH_BROADCASTERID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TWITCH_BROADCASTERID
- name: NOTIFY_CHANNELS_YOUTUBE_CLIENTID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_YOUTUBE_CLIENTID
- name: NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET
- name: NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN
- name: NOTIFY_CHANNELS_YOUTUBE_LIVECHATID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_YOUTUBE_LIVECHATID
- name: NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN
- name: NOTIFY_CHANNELS_INSTAGRAM_USERID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_INSTAGRAM_USERID
- name: NOTIFY_CHANNELS_SENDGRID_APIKEY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_SENDGRID_APIKEY
- name: NOTIFY_CHANNELS_SENDGRID_FROMEMAIL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_SENDGRID_FROMEMAIL
- name: NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY
- name: NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET
- name: NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN
- name: NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID
- name: NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN
- name: NOTIFY_CHANNELS_FACEBOOK_PAGEID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_FACEBOOK_PAGEID
- name: NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID
- name: NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY
- name: NOTIFY_CHANNELS_AWSSNS_REGION
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_AWSSNS_REGION
- name: NOTIFY_CHANNELS_MAILGUN_APIKEY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_MAILGUN_APIKEY
- name: NOTIFY_CHANNELS_MAILGUN_DOMAIN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_MAILGUN_DOMAIN
- name: NOTIFY_CHANNELS_MAILGUN_FROMEMAIL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_MAILGUN_FROMEMAIL
- name: NOTIFY_CHANNELS_PAGERDUTY_APIKEY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_PAGERDUTY_APIKEY
---
apiVersion: v1
kind: Service
metadata:
name: notify-hub
namespace: mcp
spec:
selector:
app: notify-hub
ports:
- port: 8000
targetPort: http
name: http
# Generated by Hub for toolset "my-agent" (2026-10-18T15:37:18+00:00).
# Credentials come from the Secret 'mcp-credentials' (kubectl create secret generic ... --from-env-file=.env).
# Each server under `servers` is one Deployment + Service; the keys after it configure
# upstream charts a worker verified.
servers:
notify-hub:
enabled: true
replicas: 1
port: 8000
path: /mcp
container:
name: notify-hub
image: ghcr.io/gabrielbbaldez/notify-hub:1.1.0
ports:
- containerPort: 8000
name: http
env:
- name: NOTIFY_CHANNELS_EMAIL_HOST
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_EMAIL_HOST
- name: NOTIFY_CHANNELS_EMAIL_PORT
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_EMAIL_PORT
- name: NOTIFY_CHANNELS_EMAIL_USERNAME
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_EMAIL_USERNAME
- name: NOTIFY_CHANNELS_EMAIL_PASSWORD
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_EMAIL_PASSWORD
- name: NOTIFY_CHANNELS_EMAIL_FROM
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_EMAIL_FROM
- name: NOTIFY_CHANNELS_SMS_ACCOUNTSID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_SMS_ACCOUNTSID
- name: NOTIFY_CHANNELS_SMS_AUTHTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_SMS_AUTHTOKEN
- name: NOTIFY_CHANNELS_SMS_FROMNUMBER
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_SMS_FROMNUMBER
- name: NOTIFY_CHANNELS_SLACK_WEBHOOKURL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_SLACK_WEBHOOKURL
- name: NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN
- name: NOTIFY_CHANNELS_TELEGRAM_CHATID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TELEGRAM_CHATID
- name: NOTIFY_CHANNELS_DISCORD_WEBHOOKURL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_DISCORD_WEBHOOKURL
- name: NOTIFY_CHANNELS_TEAMS_WEBHOOKURL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TEAMS_WEBHOOKURL
- name: NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL
- name: NOTIFY_CHANNELS_TWITTER_APIKEY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TWITTER_APIKEY
- name: NOTIFY_CHANNELS_TWITTER_APISECRET
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TWITTER_APISECRET
- name: NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN
- name: NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET
- name: NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN
- name: NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID
- name: NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID
- name: NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN
- name: NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER
- name: NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS
- name: NOTIFY_CHANNELS_NOTION_APIKEY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_NOTION_APIKEY
- name: NOTIFY_CHANNELS_NOTION_DATABASEID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_NOTION_DATABASEID
- name: NOTIFY_CHANNELS_TWITCH_CLIENTID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TWITCH_CLIENTID
- name: NOTIFY_CHANNELS_TWITCH_CLIENTSECRET
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TWITCH_CLIENTSECRET
- name: NOTIFY_CHANNELS_TWITCH_BROADCASTERID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TWITCH_BROADCASTERID
- name: NOTIFY_CHANNELS_YOUTUBE_CLIENTID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_YOUTUBE_CLIENTID
- name: NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET
- name: NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN
- name: NOTIFY_CHANNELS_YOUTUBE_LIVECHATID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_YOUTUBE_LIVECHATID
- name: NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN
- name: NOTIFY_CHANNELS_INSTAGRAM_USERID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_INSTAGRAM_USERID
- name: NOTIFY_CHANNELS_SENDGRID_APIKEY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_SENDGRID_APIKEY
- name: NOTIFY_CHANNELS_SENDGRID_FROMEMAIL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_SENDGRID_FROMEMAIL
- name: NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY
- name: NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET
- name: NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN
- name: NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID
- name: NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN
- name: NOTIFY_CHANNELS_FACEBOOK_PAGEID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_FACEBOOK_PAGEID
- name: NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID
- name: NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY
- name: NOTIFY_CHANNELS_AWSSNS_REGION
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_AWSSNS_REGION
- name: NOTIFY_CHANNELS_MAILGUN_APIKEY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_MAILGUN_APIKEY
- name: NOTIFY_CHANNELS_MAILGUN_DOMAIN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_MAILGUN_DOMAIN
- name: NOTIFY_CHANNELS_MAILGUN_FROMEMAIL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_MAILGUN_FROMEMAIL
- name: NOTIFY_CHANNELS_PAGERDUTY_APIKEY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: NOTIFY_CHANNELS_PAGERDUTY_APIKEY
# helm install my-agent helm/my-agent -n mcp
in the cloud
one click: the provider's deploy form opens filled in, in your own account- koyeb
-
The form opens with CHANGE_ME for each value you supply: NOTIFY_CHANNELS_EMAIL_HOST, NOTIFY_CHANNELS_EMAIL_PORT, NOTIFY_CHANNELS_EMAIL_USERNAME, NOTIFY_CHANNELS_EMAIL_PASSWORD, NOTIFY_CHANNELS_EMAIL_FROM, NOTIFY_CHANNELS_SMS_ACCOUNTSID, NOTIFY_CHANNELS_SMS_AUTHTOKEN, NOTIFY_CHANNELS_SMS_FROMNUMBER, NOTIFY_CHANNELS_SLACK_WEBHOOKURL, NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN, NOTIFY_CHANNELS_TELEGRAM_CHATID, 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_LINKEDIN_ORGANIZATIONID, NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID, NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN, NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER, NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS, NOTIFY_CHANNELS_NOTION_APIKEY, NOTIFY_CHANNELS_NOTION_DATABASEID, NOTIFY_CHANNELS_TWITCH_CLIENTID, NOTIFY_CHANNELS_TWITCH_CLIENTSECRET, NOTIFY_CHANNELS_TWITCH_BROADCASTERID, NOTIFY_CHANNELS_YOUTUBE_CLIENTID, NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET, NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN, NOTIFY_CHANNELS_YOUTUBE_LIVECHATID, NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN, NOTIFY_CHANNELS_INSTAGRAM_USERID, NOTIFY_CHANNELS_SENDGRID_APIKEY, NOTIFY_CHANNELS_SENDGRID_FROMEMAIL, NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY, NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET, NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN, NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID, NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN, NOTIFY_CHANNELS_FACEBOOK_PAGEID, NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID, NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY, NOTIFY_CHANNELS_AWSSNS_REGION, NOTIFY_CHANNELS_MAILGUN_APIKEY, NOTIFY_CHANNELS_MAILGUN_DOMAIN, NOTIFY_CHANNELS_MAILGUN_FROMEMAIL, NOTIFY_CHANNELS_PAGERDUTY_APIKEY. Fill them in before you deploy.
Clients connect to the service's https://…koyeb.app address plus /mcp.
- azure
-
A Container Apps environment with one app per server, each with HTTPS ingress and one replica. The portal asks for each value you supply as a secure parameter; the deployment's outputs list the endpoints.
connect to it
copy what your client needsdocker run -i --rm -e NOTIFY_CHANNELS_EMAIL_HOST -e NOTIFY_CHANNELS_EMAIL_PORT -e NOTIFY_CHANNELS_EMAIL_USERNAME -e NOTIFY_CHANNELS_EMAIL_PASSWORD -e NOTIFY_CHANNELS_EMAIL_FROM -e NOTIFY_CHANNELS_SMS_ACCOUNTSID -e NOTIFY_CHANNELS_SMS_AUTHTOKEN -e NOTIFY_CHANNELS_SMS_FROMNUMBER -e NOTIFY_CHANNELS_SLACK_WEBHOOKURL -e NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN -e NOTIFY_CHANNELS_TELEGRAM_CHATID -e NOTIFY_CHANNELS_DISCORD_WEBHOOKURL -e NOTIFY_CHANNELS_TEAMS_WEBHOOKURL -e NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL -e NOTIFY_CHANNELS_TWITTER_APIKEY -e NOTIFY_CHANNELS_TWITTER_APISECRET -e NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN -e NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET -e NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN -e NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID -e NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID -e NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN -e NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER -e NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS -e NOTIFY_CHANNELS_NOTION_APIKEY -e NOTIFY_CHANNELS_NOTION_DATABASEID -e NOTIFY_CHANNELS_TWITCH_CLIENTID -e NOTIFY_CHANNELS_TWITCH_CLIENTSECRET -e NOTIFY_CHANNELS_TWITCH_BROADCASTERID -e NOTIFY_CHANNELS_YOUTUBE_CLIENTID -e NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET -e NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN -e NOTIFY_CHANNELS_YOUTUBE_LIVECHATID -e NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN -e NOTIFY_CHANNELS_INSTAGRAM_USERID -e NOTIFY_CHANNELS_SENDGRID_APIKEY -e NOTIFY_CHANNELS_SENDGRID_FROMEMAIL -e NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY -e NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET -e NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN -e NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID -e NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN -e NOTIFY_CHANNELS_FACEBOOK_PAGEID -e NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID -e NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY -e NOTIFY_CHANNELS_AWSSNS_REGION -e NOTIFY_CHANNELS_MAILGUN_APIKEY -e NOTIFY_CHANNELS_MAILGUN_DOMAIN -e NOTIFY_CHANNELS_MAILGUN_FROMEMAIL -e NOTIFY_CHANNELS_PAGERDUTY_APIKEY ghcr.io/gabrielbbaldez/notify-hub:1.1.0
{
"mcpServers": {
"notify-hub": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"NOTIFY_CHANNELS_EMAIL_HOST",
"-e",
"NOTIFY_CHANNELS_EMAIL_PORT",
"-e",
"NOTIFY_CHANNELS_EMAIL_USERNAME",
"-e",
"NOTIFY_CHANNELS_EMAIL_PASSWORD",
"-e",
"NOTIFY_CHANNELS_EMAIL_FROM",
"-e",
"NOTIFY_CHANNELS_SMS_ACCOUNTSID",
"-e",
"NOTIFY_CHANNELS_SMS_AUTHTOKEN",
"-e",
"NOTIFY_CHANNELS_SMS_FROMNUMBER",
"-e",
"NOTIFY_CHANNELS_SLACK_WEBHOOKURL",
"-e",
"NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN",
"-e",
"NOTIFY_CHANNELS_TELEGRAM_CHATID",
"-e",
"NOTIFY_CHANNELS_DISCORD_WEBHOOKURL",
"-e",
"NOTIFY_CHANNELS_TEAMS_WEBHOOKURL",
"-e",
"NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL",
"-e",
"NOTIFY_CHANNELS_TWITTER_APIKEY",
"-e",
"NOTIFY_CHANNELS_TWITTER_APISECRET",
"-e",
"NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET",
"-e",
"NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID",
"-e",
"NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID",
"-e",
"NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN",
"-e",
"NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER",
"-e",
"NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS",
"-e",
"NOTIFY_CHANNELS_NOTION_APIKEY",
"-e",
"NOTIFY_CHANNELS_NOTION_DATABASEID",
"-e",
"NOTIFY_CHANNELS_TWITCH_CLIENTID",
"-e",
"NOTIFY_CHANNELS_TWITCH_CLIENTSECRET",
"-e",
"NOTIFY_CHANNELS_TWITCH_BROADCASTERID",
"-e",
"NOTIFY_CHANNELS_YOUTUBE_CLIENTID",
"-e",
"NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET",
"-e",
"NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN",
"-e",
"NOTIFY_CHANNELS_YOUTUBE_LIVECHATID",
"-e",
"NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_INSTAGRAM_USERID",
"-e",
"NOTIFY_CHANNELS_SENDGRID_APIKEY",
"-e",
"NOTIFY_CHANNELS_SENDGRID_FROMEMAIL",
"-e",
"NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY",
"-e",
"NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET",
"-e",
"NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID",
"-e",
"NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_FACEBOOK_PAGEID",
"-e",
"NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID",
"-e",
"NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY",
"-e",
"NOTIFY_CHANNELS_AWSSNS_REGION",
"-e",
"NOTIFY_CHANNELS_MAILGUN_APIKEY",
"-e",
"NOTIFY_CHANNELS_MAILGUN_DOMAIN",
"-e",
"NOTIFY_CHANNELS_MAILGUN_FROMEMAIL",
"-e",
"NOTIFY_CHANNELS_PAGERDUTY_APIKEY",
"ghcr.io/gabrielbbaldez/notify-hub:1.1.0"
],
"env": {
"NOTIFY_CHANNELS_EMAIL_HOST": "${NOTIFY_CHANNELS_EMAIL_HOST}",
"NOTIFY_CHANNELS_EMAIL_PORT": "${NOTIFY_CHANNELS_EMAIL_PORT}",
"NOTIFY_CHANNELS_EMAIL_USERNAME": "${NOTIFY_CHANNELS_EMAIL_USERNAME}",
"NOTIFY_CHANNELS_EMAIL_PASSWORD": "${NOTIFY_CHANNELS_EMAIL_PASSWORD}",
"NOTIFY_CHANNELS_EMAIL_FROM": "${NOTIFY_CHANNELS_EMAIL_FROM}",
"NOTIFY_CHANNELS_SMS_ACCOUNTSID": "${NOTIFY_CHANNELS_SMS_ACCOUNTSID}",
"NOTIFY_CHANNELS_SMS_AUTHTOKEN": "${NOTIFY_CHANNELS_SMS_AUTHTOKEN}",
"NOTIFY_CHANNELS_SMS_FROMNUMBER": "${NOTIFY_CHANNELS_SMS_FROMNUMBER}",
"NOTIFY_CHANNELS_SLACK_WEBHOOKURL": "${NOTIFY_CHANNELS_SLACK_WEBHOOKURL}",
"NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN": "${NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN}",
"NOTIFY_CHANNELS_TELEGRAM_CHATID": "${NOTIFY_CHANNELS_TELEGRAM_CHATID}",
"NOTIFY_CHANNELS_DISCORD_WEBHOOKURL": "${NOTIFY_CHANNELS_DISCORD_WEBHOOKURL}",
"NOTIFY_CHANNELS_TEAMS_WEBHOOKURL": "${NOTIFY_CHANNELS_TEAMS_WEBHOOKURL}",
"NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL": "${NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL}",
"NOTIFY_CHANNELS_TWITTER_APIKEY": "${NOTIFY_CHANNELS_TWITTER_APIKEY}",
"NOTIFY_CHANNELS_TWITTER_APISECRET": "${NOTIFY_CHANNELS_TWITTER_APISECRET}",
"NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN": "${NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN}",
"NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET": "${NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET}",
"NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN": "${NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN}",
"NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID": "${NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID}",
"NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID": "${NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID}",
"NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN": "${NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN}",
"NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER": "${NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER}",
"NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS": "${NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS}",
"NOTIFY_CHANNELS_NOTION_APIKEY": "${NOTIFY_CHANNELS_NOTION_APIKEY}",
"NOTIFY_CHANNELS_NOTION_DATABASEID": "${NOTIFY_CHANNELS_NOTION_DATABASEID}",
"NOTIFY_CHANNELS_TWITCH_CLIENTID": "${NOTIFY_CHANNELS_TWITCH_CLIENTID}",
"NOTIFY_CHANNELS_TWITCH_CLIENTSECRET": "${NOTIFY_CHANNELS_TWITCH_CLIENTSECRET}",
"NOTIFY_CHANNELS_TWITCH_BROADCASTERID": "${NOTIFY_CHANNELS_TWITCH_BROADCASTERID}",
"NOTIFY_CHANNELS_YOUTUBE_CLIENTID": "${NOTIFY_CHANNELS_YOUTUBE_CLIENTID}",
"NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET": "${NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET}",
"NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN": "${NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN}",
"NOTIFY_CHANNELS_YOUTUBE_LIVECHATID": "${NOTIFY_CHANNELS_YOUTUBE_LIVECHATID}",
"NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN": "${NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN}",
"NOTIFY_CHANNELS_INSTAGRAM_USERID": "${NOTIFY_CHANNELS_INSTAGRAM_USERID}",
"NOTIFY_CHANNELS_SENDGRID_APIKEY": "${NOTIFY_CHANNELS_SENDGRID_APIKEY}",
"NOTIFY_CHANNELS_SENDGRID_FROMEMAIL": "${NOTIFY_CHANNELS_SENDGRID_FROMEMAIL}",
"NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY": "${NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY}",
"NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET": "${NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET}",
"NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN": "${NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN}",
"NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID": "${NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID}",
"NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN": "${NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN}",
"NOTIFY_CHANNELS_FACEBOOK_PAGEID": "${NOTIFY_CHANNELS_FACEBOOK_PAGEID}",
"NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID": "${NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID}",
"NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY": "${NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY}",
"NOTIFY_CHANNELS_AWSSNS_REGION": "${NOTIFY_CHANNELS_AWSSNS_REGION}",
"NOTIFY_CHANNELS_MAILGUN_APIKEY": "${NOTIFY_CHANNELS_MAILGUN_APIKEY}",
"NOTIFY_CHANNELS_MAILGUN_DOMAIN": "${NOTIFY_CHANNELS_MAILGUN_DOMAIN}",
"NOTIFY_CHANNELS_MAILGUN_FROMEMAIL": "${NOTIFY_CHANNELS_MAILGUN_FROMEMAIL}",
"NOTIFY_CHANNELS_PAGERDUTY_APIKEY": "${NOTIFY_CHANNELS_PAGERDUTY_APIKEY}"
}
}
}
}
#!/usr/bin/env bash
# Registers every server with Claude Code (run once; `claude mcp list` to check).
set -euo pipefail
set -a; [ -f .env ] && source .env; set +a
claude mcp add notify-hub -e "NOTIFY_CHANNELS_EMAIL_HOST=${NOTIFY_CHANNELS_EMAIL_HOST}" -e "NOTIFY_CHANNELS_EMAIL_PORT=${NOTIFY_CHANNELS_EMAIL_PORT}" -e "NOTIFY_CHANNELS_EMAIL_USERNAME=${NOTIFY_CHANNELS_EMAIL_USERNAME}" -e "NOTIFY_CHANNELS_EMAIL_PASSWORD=${NOTIFY_CHANNELS_EMAIL_PASSWORD}" -e "NOTIFY_CHANNELS_EMAIL_FROM=${NOTIFY_CHANNELS_EMAIL_FROM}" -e "NOTIFY_CHANNELS_SMS_ACCOUNTSID=${NOTIFY_CHANNELS_SMS_ACCOUNTSID}" -e "NOTIFY_CHANNELS_SMS_AUTHTOKEN=${NOTIFY_CHANNELS_SMS_AUTHTOKEN}" -e "NOTIFY_CHANNELS_SMS_FROMNUMBER=${NOTIFY_CHANNELS_SMS_FROMNUMBER}" -e "NOTIFY_CHANNELS_SLACK_WEBHOOKURL=${NOTIFY_CHANNELS_SLACK_WEBHOOKURL}" -e "NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN=${NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN}" -e "NOTIFY_CHANNELS_TELEGRAM_CHATID=${NOTIFY_CHANNELS_TELEGRAM_CHATID}" -e "NOTIFY_CHANNELS_DISCORD_WEBHOOKURL=${NOTIFY_CHANNELS_DISCORD_WEBHOOKURL}" -e "NOTIFY_CHANNELS_TEAMS_WEBHOOKURL=${NOTIFY_CHANNELS_TEAMS_WEBHOOKURL}" -e "NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL=${NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL}" -e "NOTIFY_CHANNELS_TWITTER_APIKEY=${NOTIFY_CHANNELS_TWITTER_APIKEY}" -e "NOTIFY_CHANNELS_TWITTER_APISECRET=${NOTIFY_CHANNELS_TWITTER_APISECRET}" -e "NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN=${NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN}" -e "NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET=${NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET}" -e "NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN=${NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN}" -e "NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID=${NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID}" -e "NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID=${NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID}" -e "NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN=${NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN}" -e "NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER=${NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER}" -e "NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS=${NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS}" -e "NOTIFY_CHANNELS_NOTION_APIKEY=${NOTIFY_CHANNELS_NOTION_APIKEY}" -e "NOTIFY_CHANNELS_NOTION_DATABASEID=${NOTIFY_CHANNELS_NOTION_DATABASEID}" -e "NOTIFY_CHANNELS_TWITCH_CLIENTID=${NOTIFY_CHANNELS_TWITCH_CLIENTID}" -e "NOTIFY_CHANNELS_TWITCH_CLIENTSECRET=${NOTIFY_CHANNELS_TWITCH_CLIENTSECRET}" -e "NOTIFY_CHANNELS_TWITCH_BROADCASTERID=${NOTIFY_CHANNELS_TWITCH_BROADCASTERID}" -e "NOTIFY_CHANNELS_YOUTUBE_CLIENTID=${NOTIFY_CHANNELS_YOUTUBE_CLIENTID}" -e "NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET=${NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET}" -e "NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN=${NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN}" -e "NOTIFY_CHANNELS_YOUTUBE_LIVECHATID=${NOTIFY_CHANNELS_YOUTUBE_LIVECHATID}" -e "NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN=${NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN}" -e "NOTIFY_CHANNELS_INSTAGRAM_USERID=${NOTIFY_CHANNELS_INSTAGRAM_USERID}" -e "NOTIFY_CHANNELS_SENDGRID_APIKEY=${NOTIFY_CHANNELS_SENDGRID_APIKEY}" -e "NOTIFY_CHANNELS_SENDGRID_FROMEMAIL=${NOTIFY_CHANNELS_SENDGRID_FROMEMAIL}" -e "NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY=${NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY}" -e "NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET=${NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET}" -e "NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN=${NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN}" -e "NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID=${NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID}" -e "NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN=${NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN}" -e "NOTIFY_CHANNELS_FACEBOOK_PAGEID=${NOTIFY_CHANNELS_FACEBOOK_PAGEID}" -e "NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID=${NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID}" -e "NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY=${NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY}" -e "NOTIFY_CHANNELS_AWSSNS_REGION=${NOTIFY_CHANNELS_AWSSNS_REGION}" -e "NOTIFY_CHANNELS_MAILGUN_APIKEY=${NOTIFY_CHANNELS_MAILGUN_APIKEY}" -e "NOTIFY_CHANNELS_MAILGUN_DOMAIN=${NOTIFY_CHANNELS_MAILGUN_DOMAIN}" -e "NOTIFY_CHANNELS_MAILGUN_FROMEMAIL=${NOTIFY_CHANNELS_MAILGUN_FROMEMAIL}" -e "NOTIFY_CHANNELS_PAGERDUTY_APIKEY=${NOTIFY_CHANNELS_PAGERDUTY_APIKEY}" -- docker run -i --rm -e NOTIFY_CHANNELS_EMAIL_HOST -e NOTIFY_CHANNELS_EMAIL_PORT -e NOTIFY_CHANNELS_EMAIL_USERNAME -e NOTIFY_CHANNELS_EMAIL_PASSWORD -e NOTIFY_CHANNELS_EMAIL_FROM -e NOTIFY_CHANNELS_SMS_ACCOUNTSID -e NOTIFY_CHANNELS_SMS_AUTHTOKEN -e NOTIFY_CHANNELS_SMS_FROMNUMBER -e NOTIFY_CHANNELS_SLACK_WEBHOOKURL -e NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN -e NOTIFY_CHANNELS_TELEGRAM_CHATID -e NOTIFY_CHANNELS_DISCORD_WEBHOOKURL -e NOTIFY_CHANNELS_TEAMS_WEBHOOKURL -e NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL -e NOTIFY_CHANNELS_TWITTER_APIKEY -e NOTIFY_CHANNELS_TWITTER_APISECRET -e NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN -e NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET -e NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN -e NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID -e NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID -e NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN -e NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER -e NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS -e NOTIFY_CHANNELS_NOTION_APIKEY -e NOTIFY_CHANNELS_NOTION_DATABASEID -e NOTIFY_CHANNELS_TWITCH_CLIENTID -e NOTIFY_CHANNELS_TWITCH_CLIENTSECRET -e NOTIFY_CHANNELS_TWITCH_BROADCASTERID -e NOTIFY_CHANNELS_YOUTUBE_CLIENTID -e NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET -e NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN -e NOTIFY_CHANNELS_YOUTUBE_LIVECHATID -e NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN -e NOTIFY_CHANNELS_INSTAGRAM_USERID -e NOTIFY_CHANNELS_SENDGRID_APIKEY -e NOTIFY_CHANNELS_SENDGRID_FROMEMAIL -e NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY -e NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET -e NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN -e NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID -e NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN -e NOTIFY_CHANNELS_FACEBOOK_PAGEID -e NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID -e NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY -e NOTIFY_CHANNELS_AWSSNS_REGION -e NOTIFY_CHANNELS_MAILGUN_APIKEY -e NOTIFY_CHANNELS_MAILGUN_DOMAIN -e NOTIFY_CHANNELS_MAILGUN_FROMEMAIL -e NOTIFY_CHANNELS_PAGERDUTY_APIKEY ghcr.io/gabrielbbaldez/notify-hub:1.1.0
{
"mcpServers": {
"notify-hub": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"NOTIFY_CHANNELS_EMAIL_HOST",
"-e",
"NOTIFY_CHANNELS_EMAIL_PORT",
"-e",
"NOTIFY_CHANNELS_EMAIL_USERNAME",
"-e",
"NOTIFY_CHANNELS_EMAIL_PASSWORD",
"-e",
"NOTIFY_CHANNELS_EMAIL_FROM",
"-e",
"NOTIFY_CHANNELS_SMS_ACCOUNTSID",
"-e",
"NOTIFY_CHANNELS_SMS_AUTHTOKEN",
"-e",
"NOTIFY_CHANNELS_SMS_FROMNUMBER",
"-e",
"NOTIFY_CHANNELS_SLACK_WEBHOOKURL",
"-e",
"NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN",
"-e",
"NOTIFY_CHANNELS_TELEGRAM_CHATID",
"-e",
"NOTIFY_CHANNELS_DISCORD_WEBHOOKURL",
"-e",
"NOTIFY_CHANNELS_TEAMS_WEBHOOKURL",
"-e",
"NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL",
"-e",
"NOTIFY_CHANNELS_TWITTER_APIKEY",
"-e",
"NOTIFY_CHANNELS_TWITTER_APISECRET",
"-e",
"NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET",
"-e",
"NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID",
"-e",
"NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID",
"-e",
"NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN",
"-e",
"NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER",
"-e",
"NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS",
"-e",
"NOTIFY_CHANNELS_NOTION_APIKEY",
"-e",
"NOTIFY_CHANNELS_NOTION_DATABASEID",
"-e",
"NOTIFY_CHANNELS_TWITCH_CLIENTID",
"-e",
"NOTIFY_CHANNELS_TWITCH_CLIENTSECRET",
"-e",
"NOTIFY_CHANNELS_TWITCH_BROADCASTERID",
"-e",
"NOTIFY_CHANNELS_YOUTUBE_CLIENTID",
"-e",
"NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET",
"-e",
"NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN",
"-e",
"NOTIFY_CHANNELS_YOUTUBE_LIVECHATID",
"-e",
"NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_INSTAGRAM_USERID",
"-e",
"NOTIFY_CHANNELS_SENDGRID_APIKEY",
"-e",
"NOTIFY_CHANNELS_SENDGRID_FROMEMAIL",
"-e",
"NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY",
"-e",
"NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET",
"-e",
"NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID",
"-e",
"NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_FACEBOOK_PAGEID",
"-e",
"NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID",
"-e",
"NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY",
"-e",
"NOTIFY_CHANNELS_AWSSNS_REGION",
"-e",
"NOTIFY_CHANNELS_MAILGUN_APIKEY",
"-e",
"NOTIFY_CHANNELS_MAILGUN_DOMAIN",
"-e",
"NOTIFY_CHANNELS_MAILGUN_FROMEMAIL",
"-e",
"NOTIFY_CHANNELS_PAGERDUTY_APIKEY",
"ghcr.io/gabrielbbaldez/notify-hub:1.1.0"
],
"env": {
"NOTIFY_CHANNELS_EMAIL_HOST": "${NOTIFY_CHANNELS_EMAIL_HOST}",
"NOTIFY_CHANNELS_EMAIL_PORT": "${NOTIFY_CHANNELS_EMAIL_PORT}",
"NOTIFY_CHANNELS_EMAIL_USERNAME": "${NOTIFY_CHANNELS_EMAIL_USERNAME}",
"NOTIFY_CHANNELS_EMAIL_PASSWORD": "${NOTIFY_CHANNELS_EMAIL_PASSWORD}",
"NOTIFY_CHANNELS_EMAIL_FROM": "${NOTIFY_CHANNELS_EMAIL_FROM}",
"NOTIFY_CHANNELS_SMS_ACCOUNTSID": "${NOTIFY_CHANNELS_SMS_ACCOUNTSID}",
"NOTIFY_CHANNELS_SMS_AUTHTOKEN": "${NOTIFY_CHANNELS_SMS_AUTHTOKEN}",
"NOTIFY_CHANNELS_SMS_FROMNUMBER": "${NOTIFY_CHANNELS_SMS_FROMNUMBER}",
"NOTIFY_CHANNELS_SLACK_WEBHOOKURL": "${NOTIFY_CHANNELS_SLACK_WEBHOOKURL}",
"NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN": "${NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN}",
"NOTIFY_CHANNELS_TELEGRAM_CHATID": "${NOTIFY_CHANNELS_TELEGRAM_CHATID}",
"NOTIFY_CHANNELS_DISCORD_WEBHOOKURL": "${NOTIFY_CHANNELS_DISCORD_WEBHOOKURL}",
"NOTIFY_CHANNELS_TEAMS_WEBHOOKURL": "${NOTIFY_CHANNELS_TEAMS_WEBHOOKURL}",
"NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL": "${NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL}",
"NOTIFY_CHANNELS_TWITTER_APIKEY": "${NOTIFY_CHANNELS_TWITTER_APIKEY}",
"NOTIFY_CHANNELS_TWITTER_APISECRET": "${NOTIFY_CHANNELS_TWITTER_APISECRET}",
"NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN": "${NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN}",
"NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET": "${NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET}",
"NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN": "${NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN}",
"NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID": "${NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID}",
"NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID": "${NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID}",
"NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN": "${NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN}",
"NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER": "${NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER}",
"NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS": "${NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS}",
"NOTIFY_CHANNELS_NOTION_APIKEY": "${NOTIFY_CHANNELS_NOTION_APIKEY}",
"NOTIFY_CHANNELS_NOTION_DATABASEID": "${NOTIFY_CHANNELS_NOTION_DATABASEID}",
"NOTIFY_CHANNELS_TWITCH_CLIENTID": "${NOTIFY_CHANNELS_TWITCH_CLIENTID}",
"NOTIFY_CHANNELS_TWITCH_CLIENTSECRET": "${NOTIFY_CHANNELS_TWITCH_CLIENTSECRET}",
"NOTIFY_CHANNELS_TWITCH_BROADCASTERID": "${NOTIFY_CHANNELS_TWITCH_BROADCASTERID}",
"NOTIFY_CHANNELS_YOUTUBE_CLIENTID": "${NOTIFY_CHANNELS_YOUTUBE_CLIENTID}",
"NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET": "${NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET}",
"NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN": "${NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN}",
"NOTIFY_CHANNELS_YOUTUBE_LIVECHATID": "${NOTIFY_CHANNELS_YOUTUBE_LIVECHATID}",
"NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN": "${NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN}",
"NOTIFY_CHANNELS_INSTAGRAM_USERID": "${NOTIFY_CHANNELS_INSTAGRAM_USERID}",
"NOTIFY_CHANNELS_SENDGRID_APIKEY": "${NOTIFY_CHANNELS_SENDGRID_APIKEY}",
"NOTIFY_CHANNELS_SENDGRID_FROMEMAIL": "${NOTIFY_CHANNELS_SENDGRID_FROMEMAIL}",
"NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY": "${NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY}",
"NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET": "${NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET}",
"NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN": "${NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN}",
"NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID": "${NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID}",
"NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN": "${NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN}",
"NOTIFY_CHANNELS_FACEBOOK_PAGEID": "${NOTIFY_CHANNELS_FACEBOOK_PAGEID}",
"NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID": "${NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID}",
"NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY": "${NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY}",
"NOTIFY_CHANNELS_AWSSNS_REGION": "${NOTIFY_CHANNELS_AWSSNS_REGION}",
"NOTIFY_CHANNELS_MAILGUN_APIKEY": "${NOTIFY_CHANNELS_MAILGUN_APIKEY}",
"NOTIFY_CHANNELS_MAILGUN_DOMAIN": "${NOTIFY_CHANNELS_MAILGUN_DOMAIN}",
"NOTIFY_CHANNELS_MAILGUN_FROMEMAIL": "${NOTIFY_CHANNELS_MAILGUN_FROMEMAIL}",
"NOTIFY_CHANNELS_PAGERDUTY_APIKEY": "${NOTIFY_CHANNELS_PAGERDUTY_APIKEY}"
}
}
}
}
{
"servers": {
"notify-hub": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"NOTIFY_CHANNELS_EMAIL_HOST",
"-e",
"NOTIFY_CHANNELS_EMAIL_PORT",
"-e",
"NOTIFY_CHANNELS_EMAIL_USERNAME",
"-e",
"NOTIFY_CHANNELS_EMAIL_PASSWORD",
"-e",
"NOTIFY_CHANNELS_EMAIL_FROM",
"-e",
"NOTIFY_CHANNELS_SMS_ACCOUNTSID",
"-e",
"NOTIFY_CHANNELS_SMS_AUTHTOKEN",
"-e",
"NOTIFY_CHANNELS_SMS_FROMNUMBER",
"-e",
"NOTIFY_CHANNELS_SLACK_WEBHOOKURL",
"-e",
"NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN",
"-e",
"NOTIFY_CHANNELS_TELEGRAM_CHATID",
"-e",
"NOTIFY_CHANNELS_DISCORD_WEBHOOKURL",
"-e",
"NOTIFY_CHANNELS_TEAMS_WEBHOOKURL",
"-e",
"NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL",
"-e",
"NOTIFY_CHANNELS_TWITTER_APIKEY",
"-e",
"NOTIFY_CHANNELS_TWITTER_APISECRET",
"-e",
"NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET",
"-e",
"NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID",
"-e",
"NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID",
"-e",
"NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN",
"-e",
"NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER",
"-e",
"NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS",
"-e",
"NOTIFY_CHANNELS_NOTION_APIKEY",
"-e",
"NOTIFY_CHANNELS_NOTION_DATABASEID",
"-e",
"NOTIFY_CHANNELS_TWITCH_CLIENTID",
"-e",
"NOTIFY_CHANNELS_TWITCH_CLIENTSECRET",
"-e",
"NOTIFY_CHANNELS_TWITCH_BROADCASTERID",
"-e",
"NOTIFY_CHANNELS_YOUTUBE_CLIENTID",
"-e",
"NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET",
"-e",
"NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN",
"-e",
"NOTIFY_CHANNELS_YOUTUBE_LIVECHATID",
"-e",
"NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_INSTAGRAM_USERID",
"-e",
"NOTIFY_CHANNELS_SENDGRID_APIKEY",
"-e",
"NOTIFY_CHANNELS_SENDGRID_FROMEMAIL",
"-e",
"NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY",
"-e",
"NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET",
"-e",
"NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID",
"-e",
"NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN",
"-e",
"NOTIFY_CHANNELS_FACEBOOK_PAGEID",
"-e",
"NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID",
"-e",
"NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY",
"-e",
"NOTIFY_CHANNELS_AWSSNS_REGION",
"-e",
"NOTIFY_CHANNELS_MAILGUN_APIKEY",
"-e",
"NOTIFY_CHANNELS_MAILGUN_DOMAIN",
"-e",
"NOTIFY_CHANNELS_MAILGUN_FROMEMAIL",
"-e",
"NOTIFY_CHANNELS_PAGERDUTY_APIKEY",
"ghcr.io/gabrielbbaldez/notify-hub:1.1.0"
],
"env": {
"NOTIFY_CHANNELS_EMAIL_HOST": "${NOTIFY_CHANNELS_EMAIL_HOST}",
"NOTIFY_CHANNELS_EMAIL_PORT": "${NOTIFY_CHANNELS_EMAIL_PORT}",
"NOTIFY_CHANNELS_EMAIL_USERNAME": "${NOTIFY_CHANNELS_EMAIL_USERNAME}",
"NOTIFY_CHANNELS_EMAIL_PASSWORD": "${NOTIFY_CHANNELS_EMAIL_PASSWORD}",
"NOTIFY_CHANNELS_EMAIL_FROM": "${NOTIFY_CHANNELS_EMAIL_FROM}",
"NOTIFY_CHANNELS_SMS_ACCOUNTSID": "${NOTIFY_CHANNELS_SMS_ACCOUNTSID}",
"NOTIFY_CHANNELS_SMS_AUTHTOKEN": "${NOTIFY_CHANNELS_SMS_AUTHTOKEN}",
"NOTIFY_CHANNELS_SMS_FROMNUMBER": "${NOTIFY_CHANNELS_SMS_FROMNUMBER}",
"NOTIFY_CHANNELS_SLACK_WEBHOOKURL": "${NOTIFY_CHANNELS_SLACK_WEBHOOKURL}",
"NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN": "${NOTIFY_CHANNELS_TELEGRAM_BOTTOKEN}",
"NOTIFY_CHANNELS_TELEGRAM_CHATID": "${NOTIFY_CHANNELS_TELEGRAM_CHATID}",
"NOTIFY_CHANNELS_DISCORD_WEBHOOKURL": "${NOTIFY_CHANNELS_DISCORD_WEBHOOKURL}",
"NOTIFY_CHANNELS_TEAMS_WEBHOOKURL": "${NOTIFY_CHANNELS_TEAMS_WEBHOOKURL}",
"NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL": "${NOTIFY_CHANNELS_GOOGLECHAT_WEBHOOKURL}",
"NOTIFY_CHANNELS_TWITTER_APIKEY": "${NOTIFY_CHANNELS_TWITTER_APIKEY}",
"NOTIFY_CHANNELS_TWITTER_APISECRET": "${NOTIFY_CHANNELS_TWITTER_APISECRET}",
"NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN": "${NOTIFY_CHANNELS_TWITTER_ACCESSTOKEN}",
"NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET": "${NOTIFY_CHANNELS_TWITTER_ACCESSTOKENSECRET}",
"NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN": "${NOTIFY_CHANNELS_LINKEDIN_ACCESSTOKEN}",
"NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID": "${NOTIFY_CHANNELS_LINKEDIN_ORGANIZATIONID}",
"NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID": "${NOTIFY_CHANNELS_WHATSAPP_ACCOUNTSID}",
"NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN": "${NOTIFY_CHANNELS_WHATSAPP_AUTHTOKEN}",
"NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER": "${NOTIFY_CHANNELS_WHATSAPP_FROMNUMBER}",
"NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS": "${NOTIFY_CHANNELS_PUSH_FIREBASECREDENTIALS}",
"NOTIFY_CHANNELS_NOTION_APIKEY": "${NOTIFY_CHANNELS_NOTION_APIKEY}",
"NOTIFY_CHANNELS_NOTION_DATABASEID": "${NOTIFY_CHANNELS_NOTION_DATABASEID}",
"NOTIFY_CHANNELS_TWITCH_CLIENTID": "${NOTIFY_CHANNELS_TWITCH_CLIENTID}",
"NOTIFY_CHANNELS_TWITCH_CLIENTSECRET": "${NOTIFY_CHANNELS_TWITCH_CLIENTSECRET}",
"NOTIFY_CHANNELS_TWITCH_BROADCASTERID": "${NOTIFY_CHANNELS_TWITCH_BROADCASTERID}",
"NOTIFY_CHANNELS_YOUTUBE_CLIENTID": "${NOTIFY_CHANNELS_YOUTUBE_CLIENTID}",
"NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET": "${NOTIFY_CHANNELS_YOUTUBE_CLIENTSECRET}",
"NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN": "${NOTIFY_CHANNELS_YOUTUBE_REFRESHTOKEN}",
"NOTIFY_CHANNELS_YOUTUBE_LIVECHATID": "${NOTIFY_CHANNELS_YOUTUBE_LIVECHATID}",
"NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN": "${NOTIFY_CHANNELS_INSTAGRAM_ACCESSTOKEN}",
"NOTIFY_CHANNELS_INSTAGRAM_USERID": "${NOTIFY_CHANNELS_INSTAGRAM_USERID}",
"NOTIFY_CHANNELS_SENDGRID_APIKEY": "${NOTIFY_CHANNELS_SENDGRID_APIKEY}",
"NOTIFY_CHANNELS_SENDGRID_FROMEMAIL": "${NOTIFY_CHANNELS_SENDGRID_FROMEMAIL}",
"NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY": "${NOTIFY_CHANNELS_TIKTOKSHOP_APPKEY}",
"NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET": "${NOTIFY_CHANNELS_TIKTOKSHOP_APPSECRET}",
"NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN": "${NOTIFY_CHANNELS_TIKTOKSHOP_ACCESSTOKEN}",
"NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID": "${NOTIFY_CHANNELS_TIKTOKSHOP_SHOPID}",
"NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN": "${NOTIFY_CHANNELS_FACEBOOK_PAGEACCESSTOKEN}",
"NOTIFY_CHANNELS_FACEBOOK_PAGEID": "${NOTIFY_CHANNELS_FACEBOOK_PAGEID}",
"NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID": "${NOTIFY_CHANNELS_AWSSNS_ACCESSKEYID}",
"NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY": "${NOTIFY_CHANNELS_AWSSNS_SECRETACCESSKEY}",
"NOTIFY_CHANNELS_AWSSNS_REGION": "${NOTIFY_CHANNELS_AWSSNS_REGION}",
"NOTIFY_CHANNELS_MAILGUN_APIKEY": "${NOTIFY_CHANNELS_MAILGUN_APIKEY}",
"NOTIFY_CHANNELS_MAILGUN_DOMAIN": "${NOTIFY_CHANNELS_MAILGUN_DOMAIN}",
"NOTIFY_CHANNELS_MAILGUN_FROMEMAIL": "${NOTIFY_CHANNELS_MAILGUN_FROMEMAIL}",
"NOTIFY_CHANNELS_PAGERDUTY_APIKEY": "${NOTIFY_CHANNELS_PAGERDUTY_APIKEY}"
}
}
}
}
name: my-agent target: local servers: - hub: io.github.GabrielBBaldez/notify-hub
- not probed yet: tools unpinned, ingest lists them