Skip to content

LMol-4/alert-my-human

Repository files navigation

alert-my-human

A lightweight MCP server that lets agents send multichannel alerts — useful for notifying a human when a scheduled job fails, data is missing, or something otherwise needs attention.

Supports email, Slack, Telegram, SMS, and generic webhooks. Enabled a channel by setting its env vars. Callers pick which configured channels to deliver to on each call.

Deploy

Deploy with Vercel

One-click deploy prompts only for AUTH_API_KEY (the one required var). Add whichever channel vars you want afterward in the Vercel dashboard (Project → Settings → Environment Variables) — see Setup below.

Tools

list_channels

Returns which channels are currently configured. No params. Call this before send_alert to know which channel names are valid.

send_alert

Param Type Required Description
channels array of channel names Yes Which channels to deliver to (e.g. ["slack", "email"]). See list_channels.
severity info | success | warning | error No (default info) Controls the color/emoji used in the alert.
title string Yes Short headline for the alert.
message string Yes Body of the alert.
context object of string key/value pairs No Extra details rendered as a list (e.g. job name, error code).

Channels are delivered independently, so one failing channel doesn't block the others — the response reports which channels sent and which failed. Each delivery is bounded by a 10s timeout and retried once on a transient failure (network error, timeout, HTTP 429, or 5xx).

Setup

  1. Copy .env.example to .env and fill in:
    • AUTH_API_KEY — any random secret string; callers must send it as Authorization: Bearer <key>.
    • Then configure one or more channels (leave a channel's vars unset to disable it):
      • EmailSENDING_EMAIL, RESEND_API_KEY (from resend.com), ALERT_EMAIL (one address, or several comma-separated).
      • SlackSLACK_WEBHOOK_URL (an incoming webhook).
      • TelegramTELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID.
      • SMSTWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_FROM_NUMBER, ALERT_PHONE_NUMBER (from twilio.com).
      • WebhookWEBHOOK_URLS, comma-separated; each receives the alert as JSON.
  2. pnpm install
  3. pnpm dev

Connecting an MCP client

Register the server with a static bearer token header, for example in Claude Code's mcpServers config:

{
  "type": "http",
  "url": "https://your-deployment.example.com/api/mcp",
  "headers": {
    "Authorization": "Bearer <AUTH_API_KEY>"
  }
}

Testing

Run npx @modelcontextprotocol/inspector@latest http://localhost:3000 undefined, then connect it to http://localhost:3000/api/mcp with an Authorization: Bearer <AUTH_API_KEY> header.

Roadmap

  • Phone call alerts

About

Lightweight MCP server for sending multichannel alerts from agents to humans.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors