Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Apprise notifications over MCP and CLI with authenticated stdio and HTTP transports.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
APPRISE_URL, APPRISE_TOKEN, APPRISE_RMCP_VERSION, APPRISE_RMCP_REPO, APPRISE_RMCP_RELEASE_BASE_URL, RUST_LOG标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"rapprise": {
"command": "npx",
"args": [
"-y",
"@dinglebear/rapprise",
"mcp"
],
"env": {
"APPRISE_URL": "your-value",
"APPRISE_TOKEN": "your-value",
"APPRISE_RMCP_VERSION": "your-value",
"APPRISE_RMCP_REPO": "your-value",
"APPRISE_RMCP_RELEASE_BASE_URL": "your-value",
"RUST_LOG": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add rapprise --env APPRISE_URL=your-value --env APPRISE_TOKEN=your-value --env APPRISE_RMCP_VERSION=your-value --env APPRISE_RMCP_REPO=your-value --env APPRISE_RMCP_RELEASE_BASE_URL=your-value --env RUST_LOG=your-value -- npx -y @dinglebear/rapprise mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"rapprise": {
"command": "npx",
"args": [
"-y",
"@dinglebear/rapprise",
"mcp"
],
"env": {
"APPRISE_URL": "your-value",
"APPRISE_TOKEN": "your-value",
"APPRISE_RMCP_VERSION": "your-value",
"APPRISE_RMCP_REPO": "your-value",
"APPRISE_RMCP_RELEASE_BASE_URL": "your-value",
"RUST_LOG": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"rapprise": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dinglebear/rapprise",
"mcp"
],
"env": {
"APPRISE_URL": "your-value",
"APPRISE_TOKEN": "your-value",
"APPRISE_RMCP_VERSION": "your-value",
"APPRISE_RMCP_REPO": "your-value",
"APPRISE_RMCP_RELEASE_BASE_URL": "your-value",
"RUST_LOG": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
APPRISE_URL envAPPRISE_RMCP_VERSION envAPPRISE_RMCP_REPO envAPPRISE_RMCP_RELEASE_BASE_URL envRUST_LOG env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过域名 dinglebear.ai 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:APPRISE_TOKEN
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.3.0)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Tools MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ 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.
Web production tools for AI agents: contrast, JP text, WebP, JSON-LD, slugs, dates and 40+ more
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Apprise notifications over MCP and CLI with authenticated stdio and HTTP transports.
It exposes one MCP tool, apprise, plus the rapprise CLI. Agents can send tagged notifications through a preconfigured Apprise server, run one-off Apprise URL sends, and check upstream health through stdio MCP, Streamable HTTP MCP, or direct shell commands.
30-second path: run npx -y @dinglebear/rapprise health --json -> start loopback HTTP with APPRISE_MCP_HOST=127.0.0.1 npx -y @dinglebear/rapprise serve -> call tools/call with {"action":"health"}.
Status: operational RMCP upstream-client server. Write-capable; notification sends are intentional side effects. HTTP MCP supports loopback dev mode, static bearer tokens, and Google OAuth through lab-auth.
Not for: replacing Apprise API, storing notification destinations in this repo, scheduling reminders, building a generic webhook relay, multi-tenant isolation, or passing upstream Apprise bearer tokens through MCP tool arguments.
| Surface | This repo |
|---|---|
| Repository | apprise-rmcp |
| Rust crate | apprise-mcp |
| Binary / CLI | rapprise |
| npm package | @dinglebear/rapprise |
| npm binary aliases | apprise-rmcp, rapprise |
| MCP tool | apprise |
| Config home | ~/.apprise on hosts, /data in containers |
| Env prefixes | APPRISE_*, APPRISE_MCP_*, APPRISE_RMCP_* for npm launcher controls |
The repo and npm package use the RMCP family name, while the shipped binary uses the short Rust CLI name rapprise.
notify_url.send_alert prompt for critical alert workflows.| This repo owns | Apprise owns | Explicitly out of scope |
|---|---|---|
| MCP/CLI projection, request validation, auth policy, response shaping, setup checks, and transport wiring. | Notification delivery, configured destinations, tags, delivery backend credentials, upstream API semantics. | Destination storage, scheduling, retry policy beyond upstream behavior, multi-tenant sandboxing, arbitrary webhook relay behavior. |
| Path | Command | Best for | Notes |
|---|---|---|---|
| npm / npx | npx -y @dinglebear/rapprise --help | Linux/Windows x86_64 clients. | Verifies the release archive SHA-256 before atomic install. |
| Release installer | Verified installer procedure | Linux x86_64 without Node. | Verifies checksum and offline provenance before executing installer code. |
| Docker / Compose | docker compose up -d | Shared HTTP MCP deployments. | Reads .env and exposes container port 40050. Needs the external network first — see Deployment. |
| Build from source | cargo build --release | Development and audits. | Produces target/release/rapprise. |
| Plugin | just build-plugin && claude plugin install ./plugins/apprise | Claude Code from this checkout. | Bundled rapprise stdio plugin. Ships no hooks. |
Releases publish SHA-256 files and offline GitHub build-provenance bundles. The installers verify both the checksum and provenance identity with GitHub CLI 2.68+. The npm launcher supports x86_64 Linux and Windows release assets.
Run the stdio MCP server or CLI without a manual binary install:
npx -y @dinglebear/rapprise --help
npx -y @dinglebear/rapprise mcp npx -y @dinglebear/rapprise health --json
The npm package downloads rapprise during postinstall. Override download behavior only when testing packaging:
| Variable | Purpose |
|---|---|
APPRISE_RMCP_SKIP_DOWNLOAD=1 | Skip postinstall binary download. |
APPRISE_RMCP_VERSION or APPRISE_RMCP_BINARY_VERSION | Select the GitHub Release tag. |
APPRISE_RMCP_REPO | Select the GitHub repo used for release downloads. |
APPRISE_RMCP_RELEASE_BASE_URL | Select a custom release base URL. |
Verified binary installation is fail-closed and pins the repository, release workflow, and source tag. Install gh 2.68 or newer before using npm or the release installer.
Download the installer and its verification material without executing it, then verify both integrity and provenance before running it:
Replace version with the release tag you want; v0.2.0 is current.
version=v0.2.0
base="https://github.com/dinglebear-ai/rapprise/releases/download/${version}/rapprise-installer.sh" curl -fsSLO "$base" curl -fsSLO "$base.sha256" curl -fsSLO "$base.sigstore.json" sha256sum --check rapprise-installer.sh.sha256 gh attestation verify rapprise-installer.sh \ --repo dinglebear-ai/rapprise \ --bundle rapprise-installer.sh.sigstore.json \ --signer-workflow dinglebear-ai/rapprise/.github/workflows/release.yml \ --source-ref "refs/tags/${version}" \ --deny-self-hosted-runners APPRISE_RMCP_VERSION="$version" bash rapprise-installer.sh
The --repo and --signer-workflow values must match the identity recorded in the attestation at build time. Releases cut before the repository moved to the dinglebear-ai org are attested as jmagar/rapprise; use dinglebear-ai/rapprise for releases cut afterwards.
The npm launcher supports Windows x86_64 only when GitHub CLI 2.68+ is installed and gh.exe is available on PATH; provenance verification is not skipped.
git clone https://github.com/dinglebear-ai/rapprise
cd rapprise cargo build --release ./target/release/rapprise --help
Minimum supported Rust version: 1.90. Rust edition 2021. The Cargo workspace has two members: the root apprise-mcp package and xtask.
The default upstream is http://localhost:8000.
docker run --rm -p 8000:8000 caronc/apprise:latest
Use APPRISE_URL when the API server is elsewhere:
export APPRISE_URL=http://198.51.100.2:8766
Set APPRISE_TOKEN only when your Apprise API server requires bearer auth:
export APPRISE_TOKEN=...
npx -y @dinglebear/rapprise health --json
APPRISE_MCP_HOST=127.0.0.1 npx -y @dinglebear/rapprise serve
In another shell:
curl -sf http://127.0.0.1:40050/health
curl -s -X POST http://127.0.0.1:40050/mcp \
-H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"apprise","arguments":{"action":"health"}}}'
{
"mcpServers": { "apprise": { "command": "npx", "args": ["-y", "apprise-rmcp", "mcp"], "env": { "APPRISE_URL": "http://localhost:8000" } } } }
{
"mcpServers": { "apprise": { "type": "http", "url": "http://127.0.0.1:40050/mcp", "headers": { "Authorization": "Bearer ${APPRISE_MCP_TOKEN}" } } } }
Register Apprise through Labby as an HTTP upstream when sharing one long-running server, or run it directly as stdio for local-only use.
[mcp_servers.apprise]
command = "npx" args = ["-y", "apprise-rmcp", "mcp"]
{
"command": "rapprise", "args": ["mcp"], "env": { "APPRISE_URL": "http://localhost:8000" } }
Do not put APPRISE_TOKEN, OAuth secrets, SSH keys, passwords, 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 | rapprise mcp, npx -y @dinglebear/rapprise mcp | Local child-process MCP clients. |
| MCP HTTP | Supported | rapprise serve, POST /mcp | Streamable HTTP MCP for local or shared server deployments. |
| Liveness | Supported | GET /health | Always unauthenticated. |
| Readiness / status | Supported | GET /ready, GET /status | Behind the same auth layer as /mcp. |
| OAuth discovery | Conditional | /mcp/.well-known/* and lab-auth routes | Mounted only when auth_mode = oauth. |
| CLI | Supported | rapprise | Scriptable parity and debugging. |
| Prompt | Supported | send_alert | Reusable critical-alert workflow. |
| REST API | Not shipped | N/A | Apprise API already owns the REST API. |
| Web UI | Not shipped | N/A | Apprise API already owns the web UI. |
One MCP tool is exposed: apprise. Pass the required action argument to select the operation.
| Action | Description | Required params | Optional params |
|---|---|---|---|
health | Check Apprise API server health. | none | none |
status | Return authenticated deployment and runtime status. | none | none |
help | Return built-in markdown tool help. | none | none |
| Action | Description | Required params | Optional params |
|---|---|---|---|
notify | Send to a configured Apprise tag, or all configured services when tag is omitted. | body | tag, title, type |
notify_url | Send a stateless one-off notification to one or more Apprise URL schemas. | urls, body | title, type |
| Type | Meaning |
|---|---|
info | Informational notification. |
success | Successful operation. |
warning | Non-critical warning. |
failure | Critical failure or error. |
curl -s -X POST http://127.0.0.1:40050/mcp \
-H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"apprise","arguments":{"action":"health"}}}'
{
"name": "apprise", "arguments": { "action": "notify", "body": "Deployment succeeded", "tag": "ops", "title": "Deploy complete", "type": "success" } }
Curated action summaries live here. docs/INVENTORY.md is the current 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.
rapprise health [--json]
rapprise notify [--tag TAG] [--title T] [--type info|success|warning|failure] [--json] rapprise notify-url [--title T] [--type info|success|warning|failure] [--json]
rapprise serve # Streamable HTTP MCP on :40050 rapprise serve mcp # same as serve rapprise mcp # stdio MCP rapprise doctor [--json] # pre-flight environment validation rapprise setup check # read-only audit of appdata/env rapprise setup repair # idempotent: create missing setup files rapprise setup install # copy this binary into ~/.local/bin rapprise setup plugin-hook [--no-repair]
rapprise help # or --help / -h ra
只显示了开头部分;其余内容请在仓库中阅读