io.github.cyanheads/ntfy-mcp-server MCP Server
io.github.cyanheads/ntfy-mcp-server
What is the io.github.cyanheads/ntfy-mcp-server MCP server?
Send, manage, and replay ntfy push notifications via MCP.
How to install io.github.cyanheads/ntfy-mcp-server
Copy-paste configuration for popular MCP clients.
NTFY_SERVERSJSON array of `{ baseUrl, authToken? | authUsername?+authPassword? }` entries — one per ntfy server. First entry is the default base. Auth is scoped to the entry's `baseUrl`; per-call `base_url` overrides that match a registered base forward that server's auth. Takes precedence over the single-server NTFY_BASE_URL / NTFY_AUTH_* shorthand.
NTFY_BASE_URLSingle-server shorthand — base URL of the ntfy server (no trailing slash). Used when NTFY_SERVERS is unset.
NTFY_DEFAULT_TOPICTopic used when a tool call omits `topic`. Treat the topic name as a secret — anyone who knows it can publish or subscribe.
NTFY_AUTH_TOKENBearer access token (`tk_…`) for the single-server shorthand. Mutually exclusive with NTFY_AUTH_USERNAME / NTFY_AUTH_PASSWORD.
NTFY_AUTH_USERNAMEBasic-auth username for the single-server shorthand — must be set together with NTFY_AUTH_PASSWORD.
NTFY_AUTH_PASSWORDBasic-auth password for the single-server shorthand — must be set together with NTFY_AUTH_USERNAME.
NTFY_REQUEST_TIMEOUT_MSPer-request HTTP timeout in milliseconds.
NTFY_MAX_RETRIESMax retry attempts for transient upstream failures (5xx, network, 429).
MCP_LOG_LEVELSets the minimum log level for output (e.g., 'debug', 'info', 'warn').
LOGS_DIRDirectory for file-based logs (Node only; ignored on Workers).
OTEL_ENABLEDEnable OpenTelemetry instrumentation (spans, metrics, completion logs).
MCP_SESSION_MODEHTTP session model: 'stateless', 'stateful', or 'auto'.
MCP_HTTP_HOSTThe hostname for the HTTP server.
MCP_HTTP_PORTThe port to run the HTTP server on.
MCP_HTTP_ENDPOINT_PATHThe endpoint path for the MCP server.
MCP_AUTH_MODEAuthentication mode to use: 'none', 'jwt', or 'oauth'.
{
"mcpServers": {
"ntfy-mcp-server": {
"command": "bun",
"args": [
"-y",
"ntfy-mcp-server",
"run",
"start:stdio"
],
"env": {
"NTFY_SERVERS": "<YOUR_NTFY_SERVERS>",
"NTFY_BASE_URL": "<YOUR_NTFY_BASE_URL>",
"NTFY_DEFAULT_TOPIC": "<YOUR_NTFY_DEFAULT_TOPIC>",
"NTFY_AUTH_TOKEN": "<YOUR_NTFY_AUTH_TOKEN>",
"NTFY_AUTH_USERNAME": "<YOUR_NTFY_AUTH_USERNAME>",
"NTFY_AUTH_PASSWORD": "<YOUR_NTFY_AUTH_PASSWORD>",
"NTFY_REQUEST_TIMEOUT_MS": "<YOUR_NTFY_REQUEST_TIMEOUT_MS>",
"NTFY_MAX_RETRIES": "<YOUR_NTFY_MAX_RETRIES>",
"MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>",
"LOGS_DIR": "<YOUR_LOGS_DIR>",
"OTEL_ENABLED": "<YOUR_OTEL_ENABLED>",
"MCP_SESSION_MODE": "<YOUR_MCP_SESSION_MODE>",
"MCP_HTTP_HOST": "<YOUR_MCP_HTTP_HOST>",
"MCP_HTTP_PORT": "<YOUR_MCP_HTTP_PORT>",
"MCP_HTTP_ENDPOINT_PATH": "<YOUR_MCP_HTTP_ENDPOINT_PATH>",
"MCP_AUTH_MODE": "<YOUR_MCP_AUTH_MODE>"
}
}
}
}{
"mcpServers": {
"ntfy-mcp-server": {
"command": "bun",
"args": [
"-y",
"ntfy-mcp-server",
"run",
"start:stdio"
],
"env": {
"NTFY_SERVERS": "<YOUR_NTFY_SERVERS>",
"NTFY_BASE_URL": "<YOUR_NTFY_BASE_URL>",
"NTFY_DEFAULT_TOPIC": "<YOUR_NTFY_DEFAULT_TOPIC>",
"NTFY_AUTH_TOKEN": "<YOUR_NTFY_AUTH_TOKEN>",
"NTFY_AUTH_USERNAME": "<YOUR_NTFY_AUTH_USERNAME>",
"NTFY_AUTH_PASSWORD": "<YOUR_NTFY_AUTH_PASSWORD>",
"NTFY_REQUEST_TIMEOUT_MS": "<YOUR_NTFY_REQUEST_TIMEOUT_MS>",
"NTFY_MAX_RETRIES": "<YOUR_NTFY_MAX_RETRIES>",
"MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>",
"LOGS_DIR": "<YOUR_LOGS_DIR>",
"OTEL_ENABLED": "<YOUR_OTEL_ENABLED>",
"MCP_SESSION_MODE": "<YOUR_MCP_SESSION_MODE>",
"MCP_HTTP_HOST": "<YOUR_MCP_HTTP_HOST>",
"MCP_HTTP_PORT": "<YOUR_MCP_HTTP_PORT>",
"MCP_HTTP_ENDPOINT_PATH": "<YOUR_MCP_HTTP_ENDPOINT_PATH>",
"MCP_AUTH_MODE": "<YOUR_MCP_AUTH_MODE>"
}
}
}
}{
"mcpServers": {
"ntfy-mcp-server": {
"command": "bun",
"args": [
"-y",
"ntfy-mcp-server",
"run",
"start:stdio"
],
"env": {
"NTFY_SERVERS": "<YOUR_NTFY_SERVERS>",
"NTFY_BASE_URL": "<YOUR_NTFY_BASE_URL>",
"NTFY_DEFAULT_TOPIC": "<YOUR_NTFY_DEFAULT_TOPIC>",
"NTFY_AUTH_TOKEN": "<YOUR_NTFY_AUTH_TOKEN>",
"NTFY_AUTH_USERNAME": "<YOUR_NTFY_AUTH_USERNAME>",
"NTFY_AUTH_PASSWORD": "<YOUR_NTFY_AUTH_PASSWORD>",
"NTFY_REQUEST_TIMEOUT_MS": "<YOUR_NTFY_REQUEST_TIMEOUT_MS>",
"NTFY_MAX_RETRIES": "<YOUR_NTFY_MAX_RETRIES>",
"MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>",
"LOGS_DIR": "<YOUR_LOGS_DIR>",
"OTEL_ENABLED": "<YOUR_OTEL_ENABLED>",
"MCP_SESSION_MODE": "<YOUR_MCP_SESSION_MODE>",
"MCP_HTTP_HOST": "<YOUR_MCP_HTTP_HOST>",
"MCP_HTTP_PORT": "<YOUR_MCP_HTTP_PORT>",
"MCP_HTTP_ENDPOINT_PATH": "<YOUR_MCP_HTTP_ENDPOINT_PATH>",
"MCP_AUTH_MODE": "<YOUR_MCP_AUTH_MODE>"
}
}
}
}{
"servers": {
"ntfy-mcp-server": {
"type": "stdio",
"command": "bun",
"args": [
"-y",
"ntfy-mcp-server",
"run",
"start:stdio"
],
"env": {
"NTFY_SERVERS": "<YOUR_NTFY_SERVERS>",
"NTFY_BASE_URL": "<YOUR_NTFY_BASE_URL>",
"NTFY_DEFAULT_TOPIC": "<YOUR_NTFY_DEFAULT_TOPIC>",
"NTFY_AUTH_TOKEN": "<YOUR_NTFY_AUTH_TOKEN>",
"NTFY_AUTH_USERNAME": "<YOUR_NTFY_AUTH_USERNAME>",
"NTFY_AUTH_PASSWORD": "<YOUR_NTFY_AUTH_PASSWORD>",
"NTFY_REQUEST_TIMEOUT_MS": "<YOUR_NTFY_REQUEST_TIMEOUT_MS>",
"NTFY_MAX_RETRIES": "<YOUR_NTFY_MAX_RETRIES>",
"MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>",
"LOGS_DIR": "<YOUR_LOGS_DIR>",
"OTEL_ENABLED": "<YOUR_OTEL_ENABLED>",
"MCP_SESSION_MODE": "<YOUR_MCP_SESSION_MODE>",
"MCP_HTTP_HOST": "<YOUR_MCP_HTTP_HOST>",
"MCP_HTTP_PORT": "<YOUR_MCP_HTTP_PORT>",
"MCP_HTTP_ENDPOINT_PATH": "<YOUR_MCP_HTTP_ENDPOINT_PATH>",
"MCP_AUTH_MODE": "<YOUR_MCP_AUTH_MODE>"
}
}
}
}claude mcp add ntfy-mcp-server --env NTFY_SERVERS=<YOUR_NTFY_SERVERS> --env NTFY_BASE_URL=<YOUR_NTFY_BASE_URL> --env NTFY_DEFAULT_TOPIC=<YOUR_NTFY_DEFAULT_TOPIC> --env NTFY_AUTH_TOKEN=<YOUR_NTFY_AUTH_TOKEN> --env NTFY_AUTH_USERNAME=<YOUR_NTFY_AUTH_USERNAME> --env NTFY_AUTH_PASSWORD=<YOUR_NTFY_AUTH_PASSWORD> --env NTFY_REQUEST_TIMEOUT_MS=<YOUR_NTFY_REQUEST_TIMEOUT_MS> --env NTFY_MAX_RETRIES=<YOUR_NTFY_MAX_RETRIES> --env MCP_LOG_LEVEL=<YOUR_MCP_LOG_LEVEL> --env LOGS_DIR=<YOUR_LOGS_DIR> --env OTEL_ENABLED=<YOUR_OTEL_ENABLED> --env MCP_SESSION_MODE=<YOUR_MCP_SESSION_MODE> --env MCP_HTTP_HOST=<YOUR_MCP_HTTP_HOST> --env MCP_HTTP_PORT=<YOUR_MCP_HTTP_PORT> --env MCP_HTTP_ENDPOINT_PATH=<YOUR_MCP_HTTP_ENDPOINT_PATH> --env MCP_AUTH_MODE=<YOUR_MCP_AUTH_MODE> -- bun -y ntfy-mcp-server run start:stdioRelated MCP servers
Read, write, search, and surgically edit Obsidian vault notes, tags, and frontmatter via MCP.
io.github.cyanheads/git-mcp-server
Comprehensive Git MCP server with 28 tools for clone, commit, branching, merging, and advanced workflows.
Agent-native TypeScript framework for building MCP servers with declarative definitions.
TypeScript template for building MCP servers with declarative tooling, observability, and auth.
Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms.
Search ClinicalTrials.gov — find studies, retrieve results, match patients to eligible trials.