npm package: @novauptime/mcp-server
Description: Nova Uptime MCP Server — connect AI assistants to your uptime monitoring
Latest version: 1.0.0

# @novauptime/mcp-server

Connect AI assistants to [Nova Uptime](https://novauptime.com) — check domain status, run email health checks, manage monitors, all from Claude or any MCP-compatible assistant.

## Quick Start

No installation needed — use `npx`:

```bash
npx -y @novauptime/mcp-server
```

## Configuration

### Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "novauptime": {
      "command": "npx",
      "args": ["-y", "@novauptime/mcp-server"],
      "env": {
        "NOVAUPTIME_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

### Claude Code

Add to your `.claude/settings.json`:

```json
{
  "mcpServers": {
    "novauptime": {
      "command": "npx",
      "args": ["-y", "@novauptime/mcp-server"],
      "env": {
        "NOVAUPTIME_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

### Cursor

Add to your Cursor MCP settings:

```json
{
  "mcpServers": {
    "novauptime": {
      "command": "npx",
      "args": ["-y", "@novauptime/mcp-server"],
      "env": {
        "NOVAUPTIME_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

## Free Tools (No API Key Needed)

These tools work without an API key:

| Tool | Description |
|------|-------------|
| `check_email_health` | Full email health check (MX, SPF, DKIM, DMARC, Blacklist) with score and grade |
| `check_ssl` | SSL certificate check — validity, issuer, expiry, protocol |
| `check_domain_expiry` | Domain registration expiry via WHOIS/RDAP |
| `check_dns` | Individual DNS record check (SPF, DKIM, DMARC, or MX) |

## Authenticated Tools (API Key Required)

Get your API key from [go.novauptime.com/dashboard/settings](https://go.novauptime.com/dashboard/settings).

### Domain Monitoring (11 tools)

| Tool | Description |
|------|-------------|
| `list_domains` | List monitored domains with filtering and pagination |
| `get_domain` | Get domain details — status, response time, SSL, email health |
| `add_domain` | Add a new domain to monitor |
| `update_domain` | Update domain settings (interval, name, timeout) |
| `delete_domain` | Remove domain from monitoring |
| `pause_domain` | Pause monitoring for a domain |
| `resume_domain` | Resume monitoring |
| `run_email_health` | Run email health check on a monitored domain |
| `get_domain_incidents` | Get last 20 downtime incidents |
| `get_domain_history` | Get check history (response times, up to 720 hours) |
| `bulk_update_domains` | Update settings for multiple domains at once |

### URL Content Monitoring (9 tools)

| Tool | Description |
|------|-------------|
| `list_urls` | List monitored URLs |
| `get_url` | Get URL details and status |
| `add_url` | Add URL to monitor for content changes |
| `update_url` | Update URL monitoring settings |
| `delete_url` | Remove URL from monitoring |
| `pause_url` | Pause URL monitoring |
| `resume_url` | Resume URL monitoring |
| `get_url_changes` | Get content change history |
| `get_url_screenshots` | Get screenshot history |

### Tags & Organization (4 tools)

| Tool | Description |
|------|-------------|
| `list_tags` | List all tags/folders with domain counts |
| `create_tag` | Create a new tag |
| `update_tag` | Update tag name, color, or order |
| `delete_tag` | Delete a tag |

### Team Management (4 tools)

| Tool | Description |
|------|-------------|
| `list_team` | List team members and pending invites |
| `invite_team_member` | Invite a team member with domain access |
| `remove_team_member` | Remove a team member |
| `resend_invite` | Resend invitation email |

### Webhooks (4 tools)

| Tool | Description |
|------|-------------|
| `list_webhooks` | List webhooks (filterable by domain) |
| `create_webhook` | Create a webhook for a domain |
| `delete_webhook` | Delete a webhook |
| `test_webhook` | Send a test payload |

### Account & Billing (9 tools)

| Tool | Description |
|------|-------------|
| `get_account` | Account info — email, plan, limits, usage |
| `get_billing` | Billing summary — plan, slots, expiry |
| `get_billing_history` | Payment history and license records |
| `get_notifications` | Recent notifications (filterable by type) |
| `get_incidents` | Recent incidents across all domains |
| `get_status` | Overall monitoring status |
| `get_notification_settings` | Check notification preferences and pause status |
| `pause_all_notifications` | Pause all alerts — monitoring continues, no alerts sent |
| `resume_all_notifications` | Resume all alerts |

## Environment Variables

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `NOVAUPTIME_API_KEY` | For auth tools | — | Your Nova Uptime API key |
| `NOVAUPTIME_API_URL` | No | `https://api.novauptime.com` | API base URL |

## Example Prompts

Once configured, you can ask your AI assistant things like:

- "Check the email health of example.com"
- "Are any of my domains down right now?"
- "Add monitoring for shop.example.com with 5-minute checks"
- "Show me the last incidents for my main domain"
- "What's my current plan and how many domain slots do I have left?"
- "Check the SSL certificate for mysite.com"
- "Pause monitoring for staging.example.com"

## License

MIT