staygreen
Health Warn
- No license — Repository has no license file
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 17 GitHub stars
Code Pass
- Code scan — Scanned 4 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Staygreen's public issue tracker: uptime and incident monitoring for apps built with coding agents.
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.
This repository is Staygreen's public issue tracker and the home of its MCP server's listing. Staygreen's code opens here under the Apache 2.0 license in November 2026.
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.
Claude Code:
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>).
claude mcp add --transport http staygreen https://staygreen.io/mcp \
--header "Authorization: Bearer $STAYGREEN_API_TOKEN"
Tools
| Tool | What it does |
|---|---|
get_status |
Current status of one app or every app: monitors, page components and open incidents |
list_monitors |
Monitors in your workspace, filtered by app, type or state, with each one's last check |
get_uptime |
Measured uptime, downtime minutes, incident counts and daily history. Unmeasured time is no data, not 100% |
get_response_times |
Response-time series for a monitor, by city and country |
get_incidents |
Incident evidence and timelines: failing assertions, locations and masked snippets |
get_ssl_and_domain_expiry |
Certificate and domain expiry dates for monitored hosts |
scan_app |
A one-time scan of a public app URL. Optional keys are used once and never stored. Creates nothing |
provision_app |
Sets up an app's website check, SSL and domain check, status page and cron heartbeats in one call |
create_monitor |
Adds one monitor to an app, with the dashboard's own checks and plan limits |
pause |
Pauses one monitor or one app's monitors for up to 24 hours, then resumes them |
draft_incident_update |
Saves 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 heartbeat URL, an API token, a header value, or anything else your monitors keep secret. A heartbeat URL is the only credential for that heartbeat: anyone holding it can ping it. If you posted one by mistake, rotate it from the heartbeat's page.
For a security problem, don't open an issue: use private vulnerability reporting instead.
Pull requests aren't accepted until the code opens.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found