Staygreen

io.github.phuryn由 GitHub 账号 phuryn 发布v1.1.4更新于 Oct 29, 2026

Uptime monitoring and status pages for apps built with coding agents: status, incidents, setup.

已验证Streamable HTTP可网页运行开发者工具安全与监控

概览

AI 生成的概览

Staygreen 的 MCP 服务器,用于应用可用性监控:查询应用状态、正常运行时间、响应时间、故障与到期信息,并配置监控和状态页。

可以做什么
  • 查询状态与监控项:单个或全部应用的当前状态、按应用/类型/状态筛选的监控项,以及证书和域名到期日期
  • 查询可用性与性能:实测正常运行时间、宕机分钟数、故障次数、每日历史,以及按城市和国家划分的响应时间序列
  • 查询故障:附带失败断言、位置和脱敏片段证据的故障时间线
  • 对公开应用网址做一次性扫描,不创建任何内容
  • 配置监控:一次调用为应用建立网站检查、SSL 与域名检查、状态页和定时心跳,或单独添加一个监控项
  • 暂停监控最长 24 小时,并把故障说明保存为草稿
适用场景
适合用编码智能体构建或维护应用、希望助手直接查看应用是否在线、回顾故障与可用性,或在对话中完成监控与状态页配置的场景。
运行要求
可使用 staygreen.io/mcp 的 streamable HTTP 远程端点并通过 OAuth 登录,或使用需 Node 22 及以上版本的本地 npm 包。需要 Staygreen 账号及工作区管理员权限;本地服务器和 CI 使用工作区 API 令牌,以 Bearer 方式发送。没有令牌时只有 scan_app 可用。
安装前请注意
连接可读取并更改所选工作区的监控项,API 令牌分为只读和读写两种。写操作需带 request_id 以便安全重试;删除、告警渠道、成员、账单和发布不对智能体开放。故障草稿在仪表板发布前不会公开。调用共享工作区速率额度(Free 每分钟 30 次,Builder 每分钟 120 次)。请妥善保管令牌。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Staygreen,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.phuryn%2Fstaygreen/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "staygreen": {
      "type": "http",
      "url": "https://staygreen.io/mcp"
    }
  }
}

README

Staygreen

Uptime and incident monitoring for apps built with coding agents: checks from more than one location, incidents with the evidence attached, and a public status page for each app. Free plan at staygreen.io.

[Staygreen's dashboard: every monitor of an app with its state, latest checks and response time, and the locations they run from]

This repository holds Staygreen's source under the Functional Source License, Version 1.1, MIT Future License (FSL-1.1-MIT): the dashboard, the probes, the status edge, the Workers, the widget and the agent API, with the staygreen command-line package in packages/staygreen/. You may use, change and redistribute it for any purpose except offering a competing commercial product or service, and each version becomes MIT two years after it is published. It is also Staygreen's public issue tracker.

It is a reviewed, one-way copy of the private working repository, refreshed after each release. Staygreen is not accepting pull requests or outside contributions at the moment; issues are welcome through the templates, and security problems go to private vulnerability reporting.

Connect an agent (MCP)

Staygreen's MCP server is at https://staygreen.io/mcp (streamable HTTP). Every call requires sign-in; there is no anonymous tool.

Sign in: no token to handle

Add https://staygreen.io/mcp to an MCP client that supports signing in (OAuth), then sign in with your Staygreen account and choose the workspace. If you don't have an account yet, signing up there creates a Free workspace; you don't need to open the dashboard first. The connection can read and change that workspace's monitors, and you must be an administrator of it.

[Add Staygreen to Cursor] [Install Staygreen in VS Code]

Claude Code:

sh
claude mcp add --transport http staygreen https://staygreen.io/mcp

Then run /mcp, choose staygreen and Authenticate. In Claude, add it as a custom connector with the same URL.

With an API token (CI and scripts)

An administrator creates a token in the dashboard under Agents and API: read-only or read-and-write, shown once. Send it as Authorization: Bearer <token>. The same token works on the MCP server and on the REST API (https://staygreen.io/api/v1/<tool>).

sh
claude mcp add --transport http staygreen https://staygreen.io/mcp \  --header "Authorization: Bearer $STAYGREEN_API_TOKEN"

Local server (npm)

The staygreen package runs the same tools as a local stdio server and calls the REST API with a workspace API token. Node 22 or later.

sh
claude mcp add staygreen -e STAYGREEN_API_TOKEN=… -- npx -y staygreen mcp

Without a token only scan_app works. Configuration for Claude Desktop, Cursor and VS Code, and the package's scan and provision commands, are in CLI.md.

Tools

ToolWhat it does
get_statusCurrent status of one app or every app: monitors, page components and open incidents
list_monitorsMonitors in your workspace, filtered by app, type or state, with each one's last check
get_uptimeMeasured uptime, downtime minutes, incident counts and daily history. Unmeasured time is no data, not 100%
get_response_timesResponse-time series for a monitor, by city and country
get_incidentsIncident evidence and timelines: failing assertions, locations and masked snippets
get_ssl_and_domain_expiryCertificate and domain expiry dates for monitored hosts
scan_appA one-time scan of a public app URL. Optional keys are used once and never stored. Creates nothing
provision_appSets up an app's website check, SSL and domain check, status page and cron heartbeats in one call
create_monitorAdds one monitor to an app, with the dashboard's own checks and plan limits
pausePauses one monitor or one app's monitors for up to 24 hours, then resumes them
draft_incident_updateSaves an incident note as a draft. It appears publicly only once you publish it in the dashboard

Writes take a request_id UUID: repeat it with the same inputs to retry safely. Deleting, alert channels, teammates, billing and publishing are not available to agents. Calls share your workspace's budget: 30 a minute on Free, 120 on Builder.

Report a bug or suggest a feature

Open an issue. Say what you did, what you expected, and what happened instead; the monitor type and the screen help.

Issues are public. Never paste a secret, service-role or restricted key, a token, a webhook or heartbeat URL, a signing secret or a header value, whether Staygreen issued it or another service did. If you posted one, treat it as leaked: make sure the old value stops working wherever it is accepted, because issuing a new one doesn't always retire it; see staygreen.io/support if you're not sure how.

For a security problem, don't open an issue: use private vulnerability reporting instead. For anything else private, see staygreen.io/support.

Run it yourself

Staygreen is several services, not a one-click app, but a coding agent with your providers' API tokens can do most of an installation. You may run a copy for your own organizations; the license rules out offering it to others as a competing commercial product or service.

LayoutWhat runs whereGood for
RecommendedThe dashboard on Netlify, the database on Supabase, sign-in on Clerk, two probe VMs in different regions (one also runs the status edge), and three Cloudflare Workers for heartbeats, alerts and the watchdogMonitoring you rely on: an HTTP, TCP or service check that fails is confirmed from a second location before an incident opens
SmallestOne VM running the dashboard, one probe and the status edge, with Supabase, Clerk and the three Workers as aboveTrying it, or watching a few apps where an occasional false alarm is acceptable
  • Deploying: what you need, suggested resources and their monthly cost, the smallest installation, setting it up with an agent, and the setup order.
  • Sample configurations: the probe's and the status edge's service units, variables and Caddyfile, and the alert sender's and watchdog's Wrangler configurations.
  • The environment reference and the architecture.

The product is at the repository root; the standalone npm package is in packages/staygreen/. Root server.json and glama.json retain the hosted MCP and npm listing identities.

Development

Use Node 22 or later. From the root run npm ci, npm run typecheck, and npm run test:unit. The unit tests use fakes and require neither database access nor credentials. Run npm ci, npm run typecheck, npm run build, and npm test inside packages/staygreen/ for the standalone CLI.

The export check skips integration tests (Postgres and Supabase credentials), browser tests (a configured app, Playwright browsers, and Clerk development accounts), live network tests, and go-live acceptance. Private operator/export tests do not ship; their omitted paths are recorded in deploying. A passing offline check does not verify a deployment or sign-in.

For the app, create your own local .env from .env.example, fill the required app variables, then run npm run dev. npm run build also validates configuration; the offline export check runs TypeScript and unit tests, not an unconfigured Next production build. Review the legal pages, branding, service URLs and plan copy before serving your own deployment.

The opt-in tests/unit/rdap-live.test.ts network cases are skipped in offline unit runs. The package symlink test can also skip on Windows when symlink creation is unavailable.

来源:README.md,提交 fc68c82

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

3
  1. v1.1.4最新Oct 29, 2026
  2. v1.1.3Oct 26, 2026
  3. v1.1.2Oct 26, 2026

评分

已满足适用检查项的 75%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。