ntfy-mcp
Allows sending notifications to ntfy.sh or self-hosted ntfy instances via MCP tools, supporting various options like title, priority, tags, markdown, click action, icon, and delay.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ntfy-mcpNotify me when the backup completes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ntfy-mcp
Standalone MCP server for sending notifications to ntfy.sh or any self-hosted ntfy instance.
This server is reusable across MCP clients. It exposes tools for sending notifications, while keeping the ntfy URL and topic locked at server startup so agents cannot override them per call.
Features
stdioMCP server for broad client compatibilitylocked
ntfybase URL and topicstartup config via flags or environment variables
bearer token or basic auth support
ntfy_publishtool for general notificationsntfy_pingtool for simple "finished working" notifications
Related MCP server: ntfy-mcp
Install
Local development
npm install
npm run buildPublished CLI
After publishing, clients can run the server directly with npx:
npx -y ntfy-mcp --ntfy-url https://ntfy.sh --ntfy-topic my-topicSmoke test
You can run a local MCP-level smoke test after building:
node scripts/smoke-test.mjs dist/index.js \
--ntfy-url https://ntfy.sh \
--ntfy-topic my-test-topicConfiguration
Flags take priority over environment variables.
Flags
node dist/index.js \
--ntfy-url https://ntfy.sh \
--ntfy-topic my-topic \
--ntfy-token tk_your_tokenEnvironment variables
export NTFY_URL="https://ntfy.sh"
export NTFY_TOPIC="my-topic"
export NTFY_TOKEN="tk_your_token"
node dist/index.jsSupported variables:
NTFY_URLNTFY_TOPICNTFY_TOKENNTFY_USERNAMENTFY_PASSWORD
If both token auth and basic auth are configured, token auth wins.
Tool reference
ntfy_publish
Sends a notification to the configured topic.
Input:
{
"message": "Deployment complete",
"title": "Deploy",
"priority": "high",
"tags": ["rocket", "white_check_mark"],
"markdown": false,
"click": "https://example.com/deploys/123",
"icon": "https://example.com/icon.png",
"delay": "10m"
}ntfy_ping
Convenience tool for simple pings.
Input:
{
"message": "Agent finished working.",
"title": "Agent finished",
"priority": "default",
"tags": ["robot_face", "white_check_mark"]
}npm publish
This package is set up to publish as a public npm CLI.
npm login
npm publishQuick checks before publishing:
npm run build
npm pack --dry-runskills.sh skill
This repository also contains a reusable skill in the skills/ directory:
skills/ntfy-after-task/SKILL.md
After pushing the repo, it can be installed through skills.sh with:
npx skills add Edqe14/ntfy-mcp@ntfy-after-taskOpenCode
Register the server in opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ntfy": {
"type": "local",
"command": [
"npx",
"-y",
"ntfy-mcp",
"--ntfy-url",
"https://ntfy.sh",
"--ntfy-topic",
"my-topic"
]
}
}
}This only makes the tool available. To send a ping after the agent finishes working, OpenCode still needs a plugin, hook, or workflow that calls ntfy_ping when the session becomes idle or reaches your chosen completion event.
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"ntfy": {
"command": "npx",
"args": [
"-y",
"ntfy-mcp",
"--ntfy-url",
"https://ntfy.sh",
"--ntfy-topic",
"my-topic"
]
}
}
}Cursor
Add to .cursor/mcp.json or ~/.cursor/mcp.json:
{
"mcpServers": {
"ntfy": {
"command": "npx",
"args": [
"-y",
"ntfy-mcp",
"--ntfy-url",
"https://ntfy.sh",
"--ntfy-topic",
"my-topic"
]
}
}
}Notes
The server publishes with HTTP
POSTtohttps://<ntfy-host>/<topic>.ntfy URL and topic are intentionally locked at startup.
Per-call overrides for URL or topic are not supported.
Use
console.errorfor logs because stdout is reserved for MCP protocol traffic.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Edqe14/ntfy-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server