Skip to main content
Glama
stillonline-mcp

stillonline-mcp

by shenwell

stillonline-mcp

npm version Smithery License: MIT

MCP server for StillOnline — 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 (Pro/Ultimate).

Quick setup

Run in PowerShell or Terminal (not in the AI chat):

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:

npx -y stillonline-mcp setup --visible-key --ru

Then reload MCP in your editor (e.g. Cursor Settings → MCP → Refresh).

Options

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

Related MCP server: DevHelm MCP Server

Requirements

Security

Do not paste your API key into the AI chat. Use setup or MCP env on your machine only.

Manual MCP config

{
  "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

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.

Official MCP Registry

This package is published to the Official MCP Registry as io.github.shenwell/stillonline (npm stdio transport). Listed on aggregators such as MCP.so, Smithery, and PulseMCP after registry ingest.

License

MIT — see LICENSE.

Available Tools

10 tools
checks.createCreate CheckA

Add a URL check to an existing StillOnline project. Use this for additional SaaS endpoints, API health URLs, MCP backends, or autonomous agent health checks.

Inputs: url (required), project_id (required), name, interval_seconds. Returns: check

checks.deleteDelete CheckA
Destructive

Permanently delete a StillOnline check. Use only when an endpoint should no longer be monitored.

Inputs: check_id (required). Returns: deleted

checks.listList ChecksA
Read-onlyIdempotent

List HTTP and SSL checks for a StillOnline project. Use this before updating, pausing, deleting, or auditing monitor coverage.

Inputs: project_id (required). Returns: checks

checks.updateUpdate CheckA

Update a StillOnline check. Use this to pause or resume monitoring, rename a check, or change its probe interval after deploy or infrastructure changes.

Inputs: check_id (required), name, enabled, interval_seconds. Returns: check

incidents.createCreate IncidentA

Open an incident on a StillOnline status page. Use this when an outage or degraded service should be visible to subscribers and stakeholders.

Inputs: title (required), status_page_id (required). Returns: incident

incidents.getGet IncidentA
Read-onlyIdempotent

Get a StillOnline incident by ID. Despite the historical name, this returns one incident record for follow-up status updates or review.

Inputs: incident_id (required). Returns: incident

projects.createCreate ProjectA

Create a StillOnline project with an automatic status page and initial HTTP URL check. Call this after deploying a new SaaS app, API, MCP backend, or AI agent health endpoint that needs uptime monitoring.

Inputs: url (required), name (required), description. Returns: project

projects.deleteDelete ProjectA
Destructive

Soft-delete a StillOnline project. Removes it from the dashboard and disables checks, matching the UI delete behavior.

Inputs: project_id (required). Returns: deleted, project_id

projects.listList ProjectsA
Read-onlyIdempotent

List StillOnline projects for the authenticated account. Returns project IDs, names, status page metadata, and plan-scoped project data for follow-up check or incident operations.

Inputs: no named parameters. Returns: projects

status.getGet Public StatusA
Read-onlyIdempotent

Get public StillOnline status JSON by status page slug. Use this to inspect customer-facing uptime without exposing private account data.

Inputs: slug (required). Returns: Public StillOnline status payload for the requested status page, including page…

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool targets a distinct resource (checks, incidents, projects, status) and action (create, delete, list, update, get), with no overlap. Descriptions clearly differentiate purposes.

    Naming Consistency5/5

    All tools follow a uniform object.action naming pattern (e.g., checks.create, incidents.get). No mixing of conventions.

    Tool Count5/5

    10 tools is well-scoped for a monitoring server, covering the main operations without being overwhelming or too sparse.

    Completeness4/5

    CRUD is covered for checks and projects, but incidents only have create and get (missing update/delete). Minor gaps exist but core workflows are supported.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      MCP server for Uptrack uptime monitoring. Manage monitors and incidents from AI agents like Claude, ChatGPT, and Cursor.
      13 npm
      MIT
    • A
      license
      A
      quality
      A
      maintenance
      MCP server for Uptime Kuma that enables monitoring and management of uptime monitors, heartbeats, notifications, tags, and maintenance windows via natural language.
      36
      702 npm
      70
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      An MCP server for Updown.io that enables managing website monitoring checks, viewing downtimes and metrics, configuring alert recipients, and controlling status pages through natural language.
      15
      6 npm
      MIT