← The evidence ledger
Evidence row 44601
Observed , by baseline/1.
- Kind
- listing
- About
- source_record mcp_registry:io.github.ni-c/ntfy-mcp
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 8660fbcdce4b165ce8df0f7f6b642d6461a08b391734de37830c582f2402920c
- Leaf
- 0x2d6bf364d316b82545e6e876011e693abdf7973dfc7dba179d5434bbf7935a25
What was observed
{
"endpoints": [
[
"web",
"https://ntfy-mcp.ni-c.de/"
]
],
"name": "ntfy",
"owner_address": null,
"raw": {
"_meta": {
"io.modelcontextprotocol.registry/official": {
"isLatest": true,
"publishedAt": "2026-09-07T20:19:16.561776Z",
"status": "active",
"statusChangedAt": "2026-09-07T20:19:16.561776Z",
"updatedAt": "2026-09-07T20:19:16.561776Z"
}
},
"server": {
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"description": "Publish ntfy notifications, read the message cache, and manage users and topic access",
"name": "io.github.ni-c/ntfy-mcp",
"packages": [
{
"environmentVariables": [
{
"description": "Base URL of the ntfy server, e.g. https://ntfy.example.net. There is deliberately no default.",
"format": "string",
"isRequired": true,
"name": "NTFY_URL"
},
{
"description": "ntfy access token (tk_...). Optional: an open instance needs no credentials. Mutually exclusive with NTFY_USERNAME/NTFY_PASSWORD.",
"format": "string",
"isSecret": true,
"name": "NTFY_TOKEN"
},
{
"description": "Username for basic authentication. Must be set together with NTFY_PASSWORD.",
"format": "string",
"name": "NTFY_USERNAME"
},
{
"description": "Password for basic authentication. Must be set together with NTFY_USERNAME.",
"format": "string",
"isSecret": true,
"name": "NTFY_PASSWORD"
},
{
"description": "Comma-separated topics the server may use. The first is the default when a tool omits one, and the list restricts every read and write tool.",
"format": "string",
"name": "NTFY_TOPICS"
},
{
"description": "Set to exactly true to register only the six read tools (default: false — ntfy exists to publish)",
"format": "boolean",
"name": "NTFY_READ_ONLY"
},
{
"description": "Set to true to accept a self-signed certificate from the ntfy server (default: false)",
"format": "boolean",
"name": "NTFY_INSECURE_TLS"
},
{
"description": "Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)",
"format": "string",
"name": "NTFY_ALLOW_TOOLS"
},
{
"description": "Comma-separated tool names or list_* prefixes to remove from whatever the allow list left",
"format": "string",
"name": "NTFY_DENY_TOOLS"
}
],
"identifier": "@ni-c/ntfy-mcp",
"registryType": "npm",
"transport": {
"type": "stdio"
},
"version": "0.3.0"
},
{
"environmentVariables": [
{
"description": "Base URL of the ntfy server, e.g. https://ntfy.example.net. There is deliberately no default.",
"format": "string",
"isRequired": true,
"name": "NTFY_URL"
},
{
"description": "ntfy access token (tk_...). Optional: an open instance needs no credentials. Mutually exclusive with NTFY_USERNAME/NTFY_PASSWORD.",
"format": "string",
"isSecret": true,
"name": "NTFY_TOKEN"
},
{
"description": "Username for basic authentication. Must be set together with NTFY_PASSWORD.",
"format": "string",
"name": "NTFY_USERNAME"
},
{
"description": "Password for basic authentication. Must be set together with NTFY_USERNAME.",
"format": "string",
"isSecret": true,
"name": "NTFY_PASSWORD"
},
{
"description": "Comma-separated topics the server may use. The first is the default when a tool omits one, and the list restricts every read and write tool.",
"format": "string",
"name": "NTFY_TOPICS"
},
{
"description": "Set to exactly true to register only the six read tools (default: false — ntfy exists to publish)",
"format": "boolean",
"name": "NTFY_READ_ONLY"
},
{
"description": "Set to true to accept a self-signed certificate from the ntfy server (default: false)",
"format": "boolean",
"name": "NTFY_INSECURE_TLS"
},
{
"description": "Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)",
"format": "string",
"name": "NTFY_ALLOW_TOOLS"
},
{
"description": "Comma-separated tool names or list_* prefixes to remove from whatever the allow list left",
"format": "string",
"name": "NTFY_DENY_TOOLS"
}
],
"identifier": "ghcr.io/ni-c/ntfy-mcp:0.3.0",
"registryType": "oci",
"transport": {
"type": "stdio"
}
}
],
"repository": {
"source": "github",
"url": "https://github.com/ni-c/ntfy-mcp"
},
"title": "ntfy",
"version": "0.3.0",
"websiteUrl": "https://ntfy-mcp.ni-c.de"
}
},
"source": "mcp_registry",
"summary": "Publish ntfy notifications, read the message cache, and manage users and topic access"
}What the leaf hashes
{"body":"8660fbcdce4b165ce8df0f7f6b642d6461a08b391734de37830c582f2402920c","id":44601,"kind":"listing","method":"baseline/1","observed_us":1793025404991635,"prev":null,"subject":"mcp_registry:io.github.ni-c/ntfy-mcp","subject_kind":"source_record"}Proof
Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.