Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Rust MCP server and CLI for Gotify push notifications and message management.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
GOTIFY_URL, GOTIFY_CLIENT_TOKEN, GOTIFY_APP_TOKEN, GOTIFY_RMCP_VERSION, GOTIFY_RMCP_REPO, GOTIFY_RMCP_RELEASE_BASE_URL, RUST_LOG标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"gotify-rmcp": {
"command": "npx",
"args": [
"-y",
"gotify-rmcp",
"mcp"
],
"env": {
"GOTIFY_URL": "your-value",
"GOTIFY_CLIENT_TOKEN": "your-value",
"GOTIFY_APP_TOKEN": "your-value",
"GOTIFY_RMCP_VERSION": "your-value",
"GOTIFY_RMCP_REPO": "your-value",
"GOTIFY_RMCP_RELEASE_BASE_URL": "your-value",
"RUST_LOG": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add gotify-rmcp --env GOTIFY_URL=your-value --env GOTIFY_CLIENT_TOKEN=your-value --env GOTIFY_APP_TOKEN=your-value --env GOTIFY_RMCP_VERSION=your-value --env GOTIFY_RMCP_REPO=your-value --env GOTIFY_RMCP_RELEASE_BASE_URL=your-value --env RUST_LOG=your-value -- npx -y gotify-rmcp mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"gotify-rmcp": {
"command": "npx",
"args": [
"-y",
"gotify-rmcp",
"mcp"
],
"env": {
"GOTIFY_URL": "your-value",
"GOTIFY_CLIENT_TOKEN": "your-value",
"GOTIFY_APP_TOKEN": "your-value",
"GOTIFY_RMCP_VERSION": "your-value",
"GOTIFY_RMCP_REPO": "your-value",
"GOTIFY_RMCP_RELEASE_BASE_URL": "your-value",
"RUST_LOG": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"gotify-rmcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"gotify-rmcp",
"mcp"
],
"env": {
"GOTIFY_URL": "your-value",
"GOTIFY_CLIENT_TOKEN": "your-value",
"GOTIFY_APP_TOKEN": "your-value",
"GOTIFY_RMCP_VERSION": "your-value",
"GOTIFY_RMCP_REPO": "your-value",
"GOTIFY_RMCP_RELEASE_BASE_URL": "your-value",
"RUST_LOG": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
GOTIFY_RMCP_VERSION envGOTIFY_RMCP_REPO envGOTIFY_RMCP_RELEASE_BASE_URL envRUST_LOG env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
发布者(dinglebear.ai)不是仓库所有者(jmagar);可能是其他人代为上架的
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 0 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:GOTIFY_URL, GOTIFY_CLIENT_TOKEN, GOTIFY_APP_TOKEN
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.3)于4个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, SSTracker free youth training
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Free youth sports drills, practice plans and age-group answers for parents and coaches.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Gotify notifications and app, client, and message management over MCP and CLI.
It exposes one MCP tool, gotify, plus the rgotify CLI. Agents can send notifications, inspect server health, list messages, and manage Gotify apps and clients through stdio MCP, Streamable HTTP MCP, or direct shell commands.
30-second path: set GOTIFY_URL, then run npx -y @dinglebear/rgotify health --json -> start loopback HTTP with GOTIFY_MCP_HOST=127.0.0.1 npx -y @dinglebear/rgotify serve -> call tools/call with {"action":"health"}.
Status: operational RMCP upstream-client server. Write-capable; destructive delete actions are gated by explicit confirmation. HTTP MCP supports loopback dev mode, static bearer tokens, and Google OAuth through lab-auth.
Not for: replacing Gotify, storing notifications independently, generic webhook routing, scheduling reminders, multi-tenant isolation, or passing Gotify tokens through MCP tool arguments.
| Surface | This repo |
|---|---|
| Repository | dinglebear-ai/rgotify |
| Rust crate (Cargo package) | gotify-mcp |
| Binary / CLI | rgotify |
| npm package | @dinglebear/rgotify |
| npm binary aliases | gotify-rmcp, rgotify |
| MCP tool | gotify |
| MCP registry name | ai.dinglebear/rgotify |
| Config home | ~/.gotify on hosts, /data in containers |
| Env prefixes | GOTIFY_*, GOTIFY_MCP_*, GOTIFY_RMCP_* for npm launcher controls |
These names intentionally differ. The npm package and registry entry use the RMCP family name, the Cargo package is gotify-mcp, the git repo is rgotify, and the shipped binary uses the short Rust CLI name rgotify.
| This repo owns | Gotify owns | Explicitly out of scope |
|---|---|---|
| MCP/CLI projection, request validation, auth policy, response shaping, setup checks, destructive gates. | Notification storage, delivery, Gotify users, token issuance, app/client state, upstream API semantics. | Notification scheduling, independent persistence, arbitrary webhook relay behavior, multi-tenant sandboxing, credential brokerage. |
| Path | Command | Best for | Notes | |
|---|---|---|---|---|
| npm / npx | npx -y @dinglebear/rgotify --help | Local MCP clients and quick trials. | Downloads the matching rgotify binary from GitHub Releases. | |
| Release installer | `curl -fsSL https://raw.githubusercontent.com/dinglebear-ai/rgotify/main/scripts/install.sh \ | bash` | Host installs without Node. | Installs rgotify for the current Linux host. |
| Docker / Compose | docker compose up -d | Shared HTTP MCP deployments. | Reads .env and exposes container port 40020. | |
| Build from source | cargo build --release | Development and audits. | Produces target/release/rgotify. | |
| Plugin | claude plugin install plugins/gotify | Claude Code local plugin setup from this checkout. | Ships no hooks — run rgotify setup repair once by hand afterwards. |
Run the stdio MCP server or CLI without a manual binary install:
npx -y @dinglebear/rgotify --help
npx -y @dinglebear/rgotify mcp npx -y @dinglebear/rgotify health --json
The npm package downloads rgotify during postinstall. Override download behavior only when testing packaging:
| Variable | Purpose |
|---|---|
GOTIFY_RMCP_SKIP_DOWNLOAD=1 | Skip postinstall binary download. |
GOTIFY_RMCP_VERSION or GOTIFY_RMCP_BINARY_VERSION | Select the GitHub Release tag. |
GOTIFY_RMCP_REPO | Select the GitHub repo used for release downloads. |
GOTIFY_RMCP_RELEASE_BASE_URL | Select a custom release base URL. |
git clone https://github.com/dinglebear-ai/rgotify
cd rgotify cargo build --release ./target/release/rgotify --help
Minimum supported Rust version: 1.86.
For the safest first call, only GOTIFY_URL is required:
export GOTIFY_URL=https://gotify.example.com
Create tokens in the Gotify web UI before using management or send actions:
export GOTIFY_CLIENT_TOKEN=Cxxxxxxxxxxxxxxxx
export GOTIFY_APP_TOKEN=Axxxxxxxxxxxxxxxx
Token roles:
| Token | Env var | Used for |
|---|---|---|
| Client token | GOTIFY_CLIENT_TOKEN | Read and management actions such as messages, apps, clients, and current user. |
| App token | GOTIFY_APP_TOKEN | Sending notifications with send. |
npx -y @dinglebear/rgotify health --json
GOTIFY_MCP_HOST=127.0.0.1 npx -y @dinglebear/rgotify serve
In another shell:
curl -sf http://127.0.0.1:40020/health
curl -s -X POST http://127.0.0.1:40020/mcp \
-H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"gotify","arguments":{"action":"health"}}}'
{
"mcpServers": { "gotify": { "command": "npx", "args": ["-y", "gotify-rmcp", "mcp"], "env": { "GOTIFY_URL": "https://gotify.example.com", "GOTIFY_CLIENT_TOKEN": "Cxxxxxxxxxxxxxxxx", "GOTIFY_APP_TOKEN": "Axxxxxxxxxxxxxxxx" } } } }
{
"mcpServers": { "gotify": { "type": "http", "url": "http://127.0.0.1:40020/mcp", "headers": { "Authorization": "Bearer ${GOTIFY_MCP_TOKEN}" } } } }
Register Gotify through Labby as an HTTP upstream when sharing one long-running server, or run it directly as stdio for local-only use.
[mcp_servers.gotify]
command = "npx" args = ["-y", "gotify-rmcp", "mcp"]
{
"command": "rgotify", "args": ["mcp"], "env": { "GOTIFY_URL": "https://gotify.example.com" } }
Do not put API keys, passwords, OAuth secrets, SSH keys, Gotify client tokens, Gotify app tokens, or upstream bearer tokens in MCP tool arguments. Use env, config files, or the MCP client's secret storage.
| Surface | Status | Entry point | Purpose |
|---|---|---|---|
| MCP stdio | Supported | rgotify mcp, npx -y @dinglebear/rgotify mcp | Local child-process MCP clients. |
| MCP HTTP | Supported | rgotify serve, POST /mcp | Streamable HTTP MCP for local or shared server deployments. |
| CLI | Supported | rgotify | Scriptable parity and debugging. |
| Prompts | Supported | send_notification, check_status | Reusable agent prompts. |
| Resource | Supported | gotify://schema/mcp-tool | JSON schema for the gotify tool. |
| REST API | Not shipped | N/A | Gotify already owns the REST API. |
| Web UI | Not shipped | N/A | Gotify already owns the web UI. |
One MCP tool is exposed: gotify. Pass the required action argument to select the operation.
| Action | Description | Required params | Optional params |
|---|---|---|---|
health | Gotify server health check. | none | none |
version | Gotify server version. | none | none |
me | Current authenticated user. | none | none |
messages | List messages. | none | app_id, limit, since |
applications | List applications. | none | none |
clients | List clients. | none | none |
status | Return runtime status, config snapshot, and counters. | none | none |
| Action | Description | Required params | Optional params |
|---|---|---|---|
send | Send a push notification. | message | title, priority, extras |
create_application | Create an application. | name | description, default_priority |
update_application | Update an application. | app_id | name, description, default_priority |
create_client | Create a client. | name | none |
Destructive actions require confirm=true in MCP arguments, --confirm on the CLI, or GOTIFY_ALLOW_DESTRUCTIVE=true in the process environment.
| Action | Description | Required params |
|---|---|---|
delete_message | Delete one message. | id, confirm |
delete_all_messages | Delete all messages. | confirm |
delete_application | Delete an application and its messages. | app_id, confirm |
delete_client | Delete a client. | client_id, confirm |
| Primitive | Name / URI | Purpose |
|---|---|---|
| Tool action | help | Return built-in markdown tool help. |
| Prompt | send_notification | Guide an agent through a notification send. |
| Prompt | check_status | Check health and recent messages. |
| Resource | gotify://schema/mcp-tool | Return the current action-based JSON schema. |
Curated action summaries live here. The current branch source code and docs/INVENTORY.md are the source of truth for complete parameters until a generated docs/MCP_SCHEMA.md is added.
The CLI calls the same service methods as the MCP tool.
rgotify health [--json]
rgotify version [--json] rgotify me [--json] rgotify messages [--app-id N] [--limit N] [--since N] [--json] rgotify applications [--json] rgotify clients [--json]
rgotify send [--title T] [--priority N] [--json] rgotify create app [--description D] [--priority N] [--json] rgotify update app [--name N] [--description D] [--priority N] [--json] rgotify create client [--json]
rgotify delete message [--confirm] [--json] rgotify delete all [--confirm] [--json] rgotify delete app [--confirm] [--json] rgotify delete client [--confirm] [--json]
rgotify serve rgotify serve mcp rgotify mcp rgotify doctor [--json] rgotify setup check [--json] rgotify setup repair [--json] rgotify setup install [--json] rgotify setup plugin-hook [--no-repair] [--json]
Hyphenated aliases are accepted for the two-word forms: create-app, update-app, create-client, delete-message, delete-all, delete-app, delete-client.
Known parity exception: MCP action=status is MCP-only observability. The CLI equivalent for operator checks is rgotify doctor --json.
Configuration loads from config.toml when present, then environment variables override those values. On startup, the binary also loads ~/.gotify/.env on hosts or /data/.env in containers without overriding already-set variables.
| Variable | Required | Description |
|---|---|---|
GOTIFY_URL | yes | Gotify server base URL, for example https://gotify.example.com. |
GOTIFY_CLIENT_TOKEN | for management | Gotify client token for read and management actions. |
| GOTIFY_APP_TOKEN | for send | Gotify app token used only to send notifications.
只显示了开头部分;其余内容请在仓库中阅读