Pushnote

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 3, 2026

Gotify push notifications: send, read messages, manage apps and clients, one router tool.

VerifiedSTDIODesktop only

Overview

Pushnote's local MCP server; no sign-in required; STDIO.

No AI overview yet: these facts come from the registry entry and the server itself.

Installation

In SourceWeft

  1. Open Pushnote in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

pushnote

pushnote talks to a Gotify server: it sends push notifications, reads back messages, server health and version, and manages the Gotify applications and clients that notifications flow through. Everything is exposed as one action-router tool, gotify, over a command-line interface and a stdio MCP server, both served by the same binary.

Three environment variables configure it. GOTIFY_URL is the base URL of your Gotify server and is required — without it, every action except the local help fails before any request is made. GOTIFY_CLIENT_TOKEN is a Gotify client token used for reads and management (current user, messages, applications, clients). GOTIFY_APP_TOKEN is a Gotify application token used only by the send action. Tokens come from the environment only; they are never tool arguments.

Install

bash
npx @reneturcios/pushnote health

Or run the container image:

bash
docker run -i ghcr.io/cloudcorprecords/pushnote

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

Each command mirrors one router action. Multi-word commands accept both the hyphenated form shown here and the underscore action name (for example create-application or create_application).

bash
export GOTIFY_URL=https://gotify.example.comexport GOTIFY_CLIENT_TOKEN=<client token>export GOTIFY_APP_TOKEN=<app token>
pushnote healthpushnote versionpushnote mepushnote messages --limit 25 --since 40pushnote messages --app-id 7pushnote applicationspushnote clientspushnote statuspushnote send "deploy finished" --title CI --priority 5pushnote create-application alerts --description "Alert channel" --default-priority 4pushnote update-application 3 --name renamedpushnote create-client phonepushnote delete-message 9 --confirmpushnote delete-all-messages --confirmpushnote delete-application 4 --confirmpushnote delete-client 5 --confirmpushnote help
pushnote --version

Successful commands print the upstream JSON payload (status and help print local output instead). Exit codes: 0 on success, 1 when a call fails (including an upstream API error or a refused destructive action), 2 for usage errors.

Destructive commands — the four delete-* commands — do nothing unless --confirm is passed. Without it they fail before any request reaches the Gotify server.

MCP server

The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/pushnote mcp

MCP client configuration:

json
{  "mcpServers": {    "pushnote": {      "command": "npx",      "args": ["-y", "@reneturcios/pushnote", "mcp"],      "env": {        "GOTIFY_URL": "https://gotify.example.com",        "GOTIFY_CLIENT_TOKEN": "<client token>",        "GOTIFY_APP_TOKEN": "<app token>"      }    }  }}

Tool

One tool, gotify, takes a required action argument plus the parameters that action needs as optional top-level arguments:

ActionRequiredOptionalToken
health——none
version——none
me——client
messages—app_id, limit, sinceclient
applications——client
clients——client
status——none (local)
sendmessagetitle, priority, extrasapp
create_applicationnamedescription, default_priorityclient
update_applicationapp_idname, description, default_priorityclient
create_clientname—client
delete_messageid, confirm—client
delete_all_messagesconfirm—client
delete_applicationapp_id, confirm—client
delete_clientclient_id, confirm—client
help——none (local)

All four delete actions refuse to run unless confirm is true, and that check happens before any request. status returns a local snapshot (Gotify URL, which tokens are configured, action count) and never includes a token value. help returns the action documentation locally.

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Source: README.md at commit 983cc4d

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestNov 3, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts