# Scrawly MCP Server

Hands your AI coding agent the results of local Scrawly audits, complete with proposed fixes that wait for your approval.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 19
- Author: IliasSami
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/IliasSami/scrawly-seo-crawler
- Updated: 2026-10-10
- HTML: https://affpapa.org/en/nevibecode/mcp/scrawly-mcp-server

## What it does

Scrawly is a desktop SEO crawler that checks a site for technical problems. This MCP server puts those saved audit results in front of an AI assistant, so replies come back tied to pages the crawler actually flagged.

It runs over stdio from the `sentinelseo` package via `uvx`, which means `uv` has to be on the machine first. Fixes the server proposes stay parked until you confirm them, so nothing goes live behind your back.

Setup differs by editor: Claude takes an MCP add command, Codex has its own, and Cursor or GitHub Copilot want a JSON config block.

The crawler itself ships as a separate app. This piece only reads what it produced.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add scrawly -- uvx sentinelseo
```
uvx runs the command named after the package; if the README names another one, use uvx --from sentinelseo <command>

### Codex

**Platform CLI**
```bash
codex mcp add scrawly-mcp-server -- uvx sentinelseo
```
uvx runs the command named after the package; if the README names another one, use uvx --from sentinelseo <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "scrawly-mcp-server": {
            "command": "uvx",
            "args": [
                "sentinelseo"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from sentinelseo <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "scrawly-mcp-server": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "sentinelseo"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from sentinelseo <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add scrawly-mcp-server uvx sentinelseo
```
uvx runs the command named after the package; if the README names another one, use uvx --from sentinelseo <command>

## When to use it
- explain an existing crawl report in plain terms
- list flagged issues for a specific set of pages
- prepare a fix and hold it for your sign-off
- trace why pages failed during a crawl
- cross-check audit findings against the current codebase

## Example prompts
- Pull up my latest Scrawly audit and group the findings by area.
- Which problems on `/catalog` matter most, and why?
- Draft a fix for the duplicate titles but do not apply it until I say so.

## Similar
- [New-Term Radar](https://affpapa.org/en/nevibecode/mcp/new-term-radar.md) — MCP server · ★ 1766
- [NotFair](https://affpapa.org/en/nevibecode/mcp/notfair.md) — MCP server · ★ 4055
- [seo-monster](https://affpapa.org/en/nevibecode/mcp/seo-monster.md) — MCP server · ★ 553
- [Google Maps MCP Server](https://affpapa.org/en/nevibecode/mcp/google-maps-mcp-server.md) — MCP server · ★ 479
- [Search Console MCP](https://affpapa.org/en/nevibecode/mcp/search-console-mcp.md) — MCP server · ★ 308
- [squirrelscan](https://affpapa.org/en/nevibecode/mcp/squirrelscan.md) — MCP server · ★ 296

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
