ntfy-me-mcp
An MCP server that sends and fetches ntfy notifications: an agent reports a finished task or error to your phone
- 76 ★ on the repository
- Last commit
- GPL-3.0
Extended access
Why this level
- The server sends agent message text to an external or self-hosted ntfy server, and project data may end up in the text
- The ntfy token lives in the client config
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/ntfy-me-mcpDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The server sends agent message text to an external or self-hosted ntfy server, and project data may end up in the text
- The ntfy token lives in the client config
This is third-party code. Review the repository files before installing.
What it does
ntfy-me-mcp lets an AI assistant send notifications to ntfy.sh or to your own ntfy server with token support. The agent tells your phone or computer that a task is done, an error happened or a milestone is reached, so a person does not have to watch it constantly. The `ntfy_me` tool sends a message with a topic, title, priority, emoji tags and a click URL. The server detects URLs in the text and builds view actions, and it turns on Markdown formatting when the text uses it. The `ntfy_me_fetch` tool reads and filters cached messages from ntfy topics. The server runs through `npx -y ntfy-me-mcp` or the Docker image `gitmotion/ntfy-me-mcp`. One variable is required, `NTFY_TOPIC`; `NTFY_URL` defaults to `https://ntfy.sh` and `NTFY_TOKEN` is needed for protected topics. In VS Code the token is entered through a masked config field.
Who it is for. Anyone who runs long tasks in Claude Code, Cursor or Codex and wants the result on a phone without sitting at the screen.
Good fit when
- A build or migration runs for an hour and the result should hit a phone when it ends
- The agent hit an error and reports it right away without waiting for you
- Your ntfy server topic is token-protected and messages go there
- You need to read recent messages of a topic and filter them by tag
- A pull request link should be sent as an open button in the notification
Not a fit when
- You need chat or email messages: the server talks only to ntfy and email is marked as a coming feature
- Node.js 24 is not available and Docker cannot run
- The topic is public: anyone who knows its name can read the notifications
Example request
When the migration ends, send me a high priority notification with a link to the pull request.MCP
- Transport
- stdio
- Authentication
- key is optional
Environment variables
NTFY_TOPICrequired- The ntfy topic notifications go to
NTFY_URL- ntfy server URL, https://ntfy.sh by default
NTFY_TOKENsecret- Access token for protected topics
Limitations
Running through npx, globally or from source needs Node.js 24 or newer, and Node 22 makes npm print `EBADENGINE`. A public topic on ntfy.sh is open to anyone who knows its name, so pick a long name or your own server with a token. The `NTFY_TOKEN` ends up in the client config, and in VS Code it is entered through a masked field. Sending email and image URL detection are listed in the README as upcoming. The license is GPL-3.0.
How to disable. Remove the `ntfy-me-mcp` block from the client MCP config and, if needed, revoke the token on the ntfy server. The Docker image is removed with `docker rmi gitmotion/ntfy-me-mcp`.
FAQ
Which variables are needed?
`NTFY_TOPIC` is required. Optional: `NTFY_URL` (defaults to `https://ntfy.sh`) and `NTFY_TOKEN` for protected topics.
Does it work with a self-hosted ntfy?
Yes. Put your server address into `NTFY_URL` and the token into `NTFY_TOKEN` if access is restricted.
What does the ntfy_me tool do?
Sends a message with a topic, title, priority, emoji tags and a click URL. It turns links in the text into view buttons.
Can I read notifications back?
Yes, the `ntfy_me_fetch` tool reads cached messages of a topic and filters them.
How do I run it in Docker?
The image `gitmotion/ntfy-me-mcp:latest` is on Docker Hub and GHCR (`ghcr.io/gitmotion/ntfy-me-mcp:latest`). Pass the environment variables at start.
Discussion
No questions or reviews yet.
Related
MCP serversA Mattermost MCP server: an agent reads, searches and posts messages, threads and files in your workspace, with 39 tools.
Telegram MCP by chaindead
Telegram MCP
A Go MCP server for your Telegram account: the agent reads dialogs and unread messages, marks them read, leaves replies as drafts
MCP Telegram with write access: the agent sends, edits and deletes messages, searches chats, keeps drafts and downloads media in your account over MTProto
MCP Telegram for reading: the agent gets your account's dialog list and unread messages over MTProto and has no way to write on your behalf
A Telethon MCP server: the agent reads and sends messages and manages chats, contacts and folders in your Telegram account
Notion MCP (awkoy)
Notion MCP Server (awkoy)
Notion MCP on a token: an agent searches pages, runs databases, edits blocks and comments through three tools and 47 operations, with no manual sign-in
README in short
Covers features, config for npx, global install, source and Docker, environment variables, token handling and the two tools, send and fetch.