npm package: @siterooster/mcp-server
Description: MCP server for SiteRooster - SEO monitoring, AI visibility tracking, and site health analysis for AI agents
Author: SiteRooster
Latest version: 1.0.0

# @siterooster/mcp-server

MCP server for [SiteRooster](https://siterooster.com) — SEO monitoring, AI visibility tracking, keyword research, and website health analysis for AI agents.

Give your AI agent the ability to monitor websites, track search rankings, discover keywords, and measure how AI platforms like ChatGPT, Claude, and Gemini reference your site.

## Features

- **Website Crawling** — Crawl sites to discover pages, collect SEO data, and export results
- **SEO Analysis** — Find missing titles, meta descriptions, broken links, and other SEO issues
- **Page Analysis** — Run Lighthouse audits with performance scores, keyword extraction, and structure analysis
- **Keyword Research** — Discover keyword opportunities using SERP analysis and AI-powered extraction from competitor pages
- **AI Visibility Tracking** — Track how ChatGPT, Claude, Gemini, and Perplexity mention and cite your website *(unique to SiteRooster — no other SEO tool offers this)*
- **Search Engine Rankings** — Monitor keyword positions in Google search results
- **Website Monitoring** — Uptime, SSL certificates, domain/WHOIS, security headers, and content change detection
- **Account Management** — Manage sites, check usage against tier limits, and configure settings via API

## Quick Start

### 1. Get an API key

Sign up at [siterooster.com](https://siterooster.com) and create an API key in **Account → API Keys** at [siterooster.com/account/#apikeys](https://siterooster.com/account/#apikeys).

### 2. Install

```bash
npm install -g @siterooster/mcp-server
```

Or run directly with npx:

```bash
npx @siterooster/mcp-server
```

### 3. Configure your AI client

Add to your client's MCP configuration (see setup examples below).

## Setup

### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):

```json
{
  "mcpServers": {
    "siterooster": {
      "command": "npx",
      "args": ["-y", "@siterooster/mcp-server"],
      "env": {
        "SITEROOSTER_API_KEY": "sr_live_your_key_here"
      }
    }
  }
}
```

### Claude Code

```bash
claude mcp add siterooster -- npx -y @siterooster/mcp-server
```

Then set your API key in the environment:

```bash
export SITEROOSTER_API_KEY=sr_live_your_key_here
```

### Cursor

Add to `.cursor/mcp.json` in your project root:

```json
{
  "mcpServers": {
    "siterooster": {
      "command": "npx",
      "args": ["-y", "@siterooster/mcp-server"],
      "env": {
        "SITEROOSTER_API_KEY": "sr_live_your_key_here"
      }
    }
  }
}
```

### Windsurf / Cline

Same configuration format as Cursor — add to your client's MCP settings file.

### Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `SITEROOSTER_API_KEY` | Yes | Your SiteRooster API key (`sr_live_...`) |
| `SITEROOSTER_API_URL` | No | API base URL (default: `https://api.siterooster.com`) |

## Tools

### `manage_account`

Manage your SiteRooster account and sites.

| Action | Description |
|--------|-------------|
| `account_info` | Get account details, tier, and limits |
| `usage` | Check current usage vs tier limits |
| `list_sites` | List all monitored sites |
| `get_site` | Get details for a specific site |
| `add_site` | Add a new site to monitor |
| `remove_site` | Remove a site |

**Example:** *"List all my monitored sites"* → agent calls `manage_account` with `action: "list_sites"`

---

### `crawl_website`

Crawl a website to discover pages and collect SEO data. Includes live progress tracking that reports pages found as the crawl runs.

| Action | Description |
|--------|-------------|
| `start` | Begin a new crawl with live progress |
| `status` | Check current crawl progress |
| `pages` | List crawled pages (paginated) |
| `export` | Get all pages with full audit data |

**Parameters:** `site_id` (required), `page`, `limit`

---

### `seo_site_analysis`

Analyse a website's SEO health. Requires a completed crawl.

| Action | Description |
|--------|-------------|
| `issues` | SEO issues filtered by type (title, meta, h1, canonical, viewport, alt) |
| `report` | Full SEO report combining uptime, crawl, issues, keywords, and AI visibility |
| `internal_links` | Internal link analysis — orphan pages, broken links, redirect chains |

**Parameters:** `site_id` (required), `issue_type`, `page`, `limit`

---

### `seo_page_analysis`

Run a detailed Lighthouse analysis on a specific page. Tracks progress through 6 stages: fetching page, running Lighthouse, extracting structure, analysing keywords, mapping placement, and checking internal links.

| Action | Description |
|--------|-------------|
| `analyse` | Start a new analysis with stage-by-stage progress |
| `status` | Check analysis progress |
| `results` | Get completed analysis results |
| `audit` | Get SEO audit for a previously crawled page |

**Parameters:** `url` (for analyse), `site_id`, `analysis_id` (for status/results), `page_id` (for audit)

---

### `keyword_research`

Discover keyword opportunities using SERP analysis and AI-powered extraction. Analyses the top Google results and extracts keywords that competitors rank for — including terms that traditional keyword tools miss.

| Action | Description |
|--------|-------------|
| `discover` | Start keyword discovery with live progress (SERP → AI Overview → page extraction) |
| `status` | Check a running discovery job |
| `results` | Get cached discovery results by keyword |
| `volumes` | Get search volume data for a list of keywords |

**Parameters:** `keyword` (for discover/results), `discovery_id` (for status), `keywords` (array, for volumes), `location_code` (default: 2840 = US)

---

### `ai_prompt_tracking`

Track how AI platforms mention and cite your website. This is SiteRooster's unique differentiator — no other SEO tool offers AI visibility tracking via API.

| Action | Description |
|--------|-------------|
| `overview` | Visibility summary with scores per platform |
| `citations` | Citation analysis and competitor comparison |
| `add_prompt` | Add a new prompt to track |
| `remove_prompt` | Delete a tracked prompt |
| `check_prompt` | Trigger a fresh visibility check (queries AI platforms live, takes 20–40s) |

**Parameters:** `site_id` (required), `prompt` (for add), `prompt_id` (for remove/check), `platforms` (array of `chatgpt`, `claude`, `gemini`, `perplexity`), `target_domain`, `schedule` (`daily`, `weekly`, `manual`)

**Example:** *"Check if ChatGPT mentions my site when asked about website monitoring tools"*

---

### `search_engine_rank_tracking`

Track keyword rankings in Google search results.

| Action | Description |
|--------|-------------|
| `list` | Get all tracked keywords with current status |
| `add` | Add a new keyword to monitor |
| `check` | Trigger a ranking check across all keywords |

**Parameters:** `site_id` (required), `keyword` (for add)

---

### `website_monitoring`

Monitor website health — uptime, SSL, domain info, security headers, and content changes.

| Action | Description |
|--------|-------------|
| `health_check` | Trigger an immediate health check |
| `uptime` | Get uptime history and percentage |
| `ssl` | SSL certificate details and expiry |
| `domain` | WHOIS and DNS info |
| `security` | Security headers analysis |
| `content_changes` | List detected content changes |
| `content_diff` | Get the diff between content versions |

**Parameters:** `site_id` (required), `hours` (for uptime, default: 24), `monitor_id` (for content_diff), `limit`

## Usage Examples

Here are some things you can ask your AI agent once the MCP server is connected:

- *"Add siterooster.com to my monitoring and run a full crawl"*
- *"What SEO issues does my site have? Show me anything with missing meta descriptions"*
- *"Run a Lighthouse analysis on https://example.com/blog"*
- *"Research keywords for 'website monitoring tools' and show me what competitors rank for"*
- *"Track the prompt 'best SEO tools for small business' across ChatGPT and Gemini"*
- *"Check if my SSL certificate is expiring soon"*
- *"Show me any content changes detected on my site this week"*
- *"How's my uptime looking over the last 7 days?"*
- *"Export all my crawled pages as a full report"*

## Rate Limits

API rate limits are based on your SiteRooster tier:

| Tier | Requests/min | Requests/day | Price |
|------|-------------|--------------|-------|
| Free | 10 | 100 | $0 |
| Small | 30 | 1,000 | $9/mo |
| Medium | 60 | 5,000 | $29/mo |
| Enterprise | 120 | 20,000 | $99/mo |

Status polling endpoints (crawl status, analysis progress, keyword discovery progress) are exempt from per-minute rate limits to ensure smooth progress tracking.

The MCP server automatically handles rate limiting with graceful retries on 429 responses.

## Requirements

- Node.js 18 or later
- A SiteRooster account with an API key

## Links

- **Website:** [siterooster.com](https://siterooster.com)
- **Get API Key:** [siterooster.com/account/#apikeys](https://siterooster.com/account/#apikeys)
- **API Documentation:** [siterooster.com/api-docs](https://siterooster.com/api-docs)
- **Support:** [siterooster.com/contact](https://siterooster.com/contact)

## License

MIT