# stillonline-mcp [![npm version](https://img.shields.io/npm/v/stillonline-mcp.svg)](https://www.npmjs.com/package/stillonline-mcp) [![Smithery](https://smithery.ai/badge/frenkyjuss/stillonline)](https://smithery.ai/servers/frenkyjuss/stillonline) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) **MCP server** for [StillOnline](https://stillonline.tech) — hosted uptime monitoring and status pages for indie SaaS and production AI agents. Use it from **Cursor**, **Claude Code**, **Windsurf**, **Codex**, **Antigravity**, or any MCP-compatible client. Wraps [StillOnline REST API v1](https://stillonline.tech/docs/api) (Pro/Ultimate). | | | |--|--| | **Product** | https://stillonline.tech | | **MCP docs** | https://stillonline.tech/docs/mcp | | **npm** | https://www.npmjs.com/package/stillonline-mcp | | **Official MCP Registry** | `io.github.shenwell/stillonline` | | **Smithery** | https://smithery.ai/servers/frenkyjuss/stillonline | | **Demo status page** | https://stillonline.tech/s/demo | ## Quick setup Run in **PowerShell** or **Terminal** (not in the AI chat): ```bash npx -y stillonline-mcp ``` Same as `npx -y stillonline-mcp setup` — the wizard starts when you run the package in a terminal. Editors launch the MCP server over stdio separately. The wizard will: 1. Confirm the package from npm 2. **Arrow keys + Enter** — Cursor, Antigravity, Codex, Claude Code, Windsurf, or **Other agent** 3. **Cursor / Antigravity / Windsurf** — writes MCP JSON config 4. **Codex / Claude Code** — `codex mcp add` / `claude mcp add` + snippet 5. Verify the API key against StillOnline Empty or invalid key → error and **prompt again**. **PowerShell paste:** hidden input often blocks Ctrl+V — use right-click, Shift+Insert, or: ```bash npx -y stillonline-mcp setup --visible-key --ru ``` Then reload MCP in your editor (e.g. Cursor **Settings → MCP → Refresh**). ### Options ```bash npx -y stillonline-mcp setup --client cursor --ru npx -y stillonline-mcp setup --dry-run npx -y stillonline-mcp setup --yes # overwrite existing stillonline block ``` ## Requirements - [StillOnline](https://stillonline.tech) account with **Pro** or **Ultimate** - API key from [Settings → API](https://stillonline.tech/app/settings/api) (`sk_live_…`, shown once) ## Security **Do not paste your API key into the AI chat.** Use `setup` or MCP `env` on your machine only. ## Manual MCP config ```json { "mcpServers": { "stillonline": { "command": "npx", "args": ["-y", "stillonline-mcp"], "env": { "STILLONLINE_API_KEY": "sk_live_YOUR_KEY" } } } } ``` | Client | Config file (examples) | |--------|-------------------------| | Cursor | `~/.cursor/mcp.json` | | Claude Desktop (Windows) | `%APPDATA%\Claude\claude_desktop_config.json` | | Claude Desktop (macOS) | `~/Library/Application Support/Claude/claude_desktop_config.json` | Optional env: `STILLONLINE_API_BASE` (default `https://api.stillonline.tech/v1`). ## Commands | Command | Purpose | |---------|---------| | `npx -y stillonline-mcp` | MCP server (stdio, for editors) | | `npx -y stillonline-mcp setup` | Interactive installer | | `npx -y stillonline-mcp --help` | CLI help | ## Tools | Tool | REST | Notes | |------|------|--------| | `projects.list` | `GET /projects` | | | `projects.create` | `POST /projects` | `name`, `url`; optional `description` | | `projects.delete` | `DELETE /projects/{id}` | Soft-delete | | `checks.list` | `GET /projects/{id}/checks` | | | `checks.create` | `POST /projects/{id}/checks` | `url`; optional `name`, `interval_seconds` | | `checks.update` | `PATCH /checks/{id}` | Pause: `enabled: false` | | `checks.delete` | `DELETE /checks/{id}` | | | `status.get` | `GET /public/status/{slug}` | No API key | | `incidents.create` | `POST /status-pages/{id}/incidents` | `title` | | `incidents.get` | `GET /incidents/{id}` | | Legacy underscore names such as `list_projects` and `create_check` are accepted as call aliases, but new clients should use the dot-notation names above. Rate limits: **120 GET** / **30 write** per minute per key. On `429`, errors include `RATE_LIMIT` and `retry_after`. ## Development ```bash git clone https://github.com/shenwell/stillonline-mcp.git cd stillonline-mcp npm install npm run build npx stillonline-mcp setup --dry-run ``` For local MCP server mode, point your client at `node` + absolute path to `dist/cli.js` with `env.STILLONLINE_API_KEY`. Maintainers syncing from the private StillOnline monorepo: see [PUBLISH.md](PUBLISH.md). ## Official MCP Registry This package is published to the [Official MCP Registry](https://registry.modelcontextprotocol.io) as **`io.github.shenwell/stillonline`** (npm stdio transport). Listed on aggregators such as [MCP.so](https://mcp.so/server/stillonline/StillOnline), [Smithery](https://smithery.ai/servers/frenkyjuss/stillonline), and [PulseMCP](https://www.pulsemcp.com/) after registry ingest. ## License MIT — see [LICENSE](LICENSE).