mcp-notifications
Lightweight Node.js server sending webhook notifications. Ideal for devs using AI agents (e.g., Cursor) on multi-projects, alerting task completion for efficient switching. Features webhook alerts, multi-project dev, AI integration, easy setup for dev tools & automation.
claude mcp add --transport stdio zudsniper-mcp-notifications node /path/to/legacy/build/index.js \ --env WEBHOOK_URL="https://ntfy.sh/webhook-url-example" \ --env WEBHOOK_TYPE="ntfy"
How to use
MCP Notifications provides a real-time SSE-based notification service with a web dashboard and persistent storage via PocketBase. The server suite exposes two main tools for sending notifications: notify for simple messages and full_notify for feature-rich notices that can include links, images, priority, attachments, actions, and template data. You can connect to the SSE server from your MCP-enabled agents to receive instantaneous updates, and you can configure webhooks to deliver messages to platforms like Discord, Slack, Microsoft Teams, Feishu, Ntfy, or custom endpoints. The legacy MCP server component ensures backward compatibility with existing integrations while the newer Cloudflare Worker SSE server handles real-time streams and queue-based delivery.
To use the tools, run the legacy MCP server (or the desired server) and use the provided APIs or CLI wrappers to dispatch notifications. The REST API endpoint /api/notify accepts a JSON payload containing userId, message, and webhookConfig to route notifications to the configured providers. The two main tools (notify and full_notify) can be used by your automation scripts or agents to emit notifications with varying degrees of detail, including templates for common statuses like 'status', 'question', 'progress', and 'problem'.
How to install
Prerequisites:
- Git
- Node.js and npm (LTS version)
- Basic knowledge of running commands in a terminal
Steps:
- Clone the repository:
git clone https://github.com/zudsniper/mcp-notifications.git
cd mcp-notifications
- Install dependencies for all workspaces:
npm install
- Build all packages (monorepo):
npm run build
- Install and build the legacy MCP server (for backward compatibility):
cd legacy
npm install
npm run build
- Run the legacy MCP server locally (example):
node /path/to/legacy/build/index.js
- Deploy or run the SSE server and web dashboard as needed (development flow):
- Deploy SSE Server (Cloudflare Worker):
cd apps/sse-server
npm run deploy
- Run Web Dashboard:
cd apps/web
npm run dev
Note: Update environment values (PocketBase URL, webhook endpoints) in the appropriate configuration files as described in the Configuration docs.
Additional notes
Tips and considerations:
- The current architecture is a monorepo with separate apps for the SSE server (Cloudflare Worker) and the Next.js web dashboard, plus a PocketBase-backed storage layer for webhooks and history.
- For production, configure PocketBase and the Cloudflare Worker with your actual URLs and credentials. The README references environment variables like POCKETBASE_URL and NEXT_PUBLIC_SSE_SERVER_URL; ensure these are set in your deployment environment.
- Webhook types supported include Discord, Slack, Microsoft Teams, Feishu, Ntfy, and a Generic JSON format. Use the Legacy Configuration example as a starting point for legacy integrations.
- If you’re using the legacy MCP server, you can pass environment variables to customize webhook behavior (e.g., WEBHOOK_URL, WEBHOOK_TYPE) when launching the server.
- The system includes rate limiting and a queue-based retry mechanism for webhook delivery; ensure your KV namespaces and queue bindings are correctly configured in your deployment (as described in the Configuration docs).
- For local development, you may build and run the legacy server, the SSE server, and the web dashboard in separate terminals to simulate end-to-end notification flows.
Related MCP Servers
mcp-graphql
Model Context Protocol server for GraphQL
tableau
Tableau's official MCP Server. Helping Agents see and understand data.
ghost
A Model Context Protocol (MCP) server for interacting with Ghost CMS through LLM interfaces like Claude. Allow you to control your Ghost blog by simply asking Claude etc.
any-script
An MCP server that exposes arbitrary CLI tools and shell scripts as MCP Tools
filesystem
A Model Context Protocol (MCP) server for platform-agnostic file capabilities, including advanced search/replace and directory tree traversal
prometheus
A Model Context Protocol (MCP) server implementation that provides AI agents with programmatic access to Prometheus metrics via a unified interface.