Screaming Frog SEO Spider MCP Server (headless)
概要
作者による説明(英語の原文)
Headless Screaming Frog SEO Spider via its CLI: run crawls, export and filter data, no GUI needed.
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi1項目中1項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況i初期↓ 373/週 · ★ –
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンで動く
- トランスポート: stdio
- カテゴリ: マーケティング・SNS
インストール
使っているAIアプリを選んで、設定をコピーしてください。
インストールの前に
- 基本チェック:1項目中1項目に合格
- あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
- 自分で入力するもの:
SF_CLI_PATH
必要なもの
- PyPIPythonのuvのインストール(uvxコマンドに必要)
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"screaming-frog": {
"command": "uvx",
"args": [
"screaming-frog-mcp"
],
"env": {
"SF_CLI_PATH": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add screaming-frog --env SF_CLI_PATH=your-value -- uvx screaming-frog-mcp動かす前に、空欄の値を入力してください。
または、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"screaming-frog": {
"command": "uvx",
"args": [
"screaming-frog-mcp"
],
"env": {
"SF_CLI_PATH": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"screaming-frog": {
"type": "stdio",
"command": "uvx",
"args": [
"screaming-frog-mcp"
],
"env": {
"SF_CLI_PATH": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
自分で入力する値
SF_CLI_PATHenvPath to the Screaming Frog SEO Spider CLI executable. Defaults to the standard macOS location.
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント bzsasson で確認済みです
- … 未チェック
今もメンテナンスされている
このリポジトリはまだGitHubから読み取っていません
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
マーケティング・SNSのほかのサーバーとの比較i
- このカテゴリのほかの3610件のうち0%よりスターが多い
- このカテゴリのほかの3610件のうち59%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの3610件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Screaming Frog SEO Spider MCP Server (headless)は安全ですか?
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は–、最新バージョン(0.4.3)がレジストリに届いたのは22 日前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
代わりに使えるものは?
同じカテゴリには:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Google Analytics MCP
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
BibiGPT YouTube Video Summarizer
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Screaming Frog SEO Spider MCP Server (headless)
A headless MCP (Model Context Protocol) server for Screaming Frog SEO Spider. It drives the SF command line and saved crawl database directly, so Claude (or any MCP-compatible client) can run crawls, export crawl data, and analyze the results with the Screaming Frog GUI closed: on your laptop, on a server, or inside scheduled audits and CI pipelines.
This is a community project, not affiliated with Screaming Frog. Since SEO Spider v24 there is also an official MCP built into the app. The two work differently and solve different problems.
How this differs from the official Screaming Frog MCP
Screaming Frog shipped an official MCP server in SEO Spider v24. It's substantial: around 29 tools covering crawl control (start, pause, resume, progress), reports and bulk exports with field selection, URL-level inspection, screenshots, embeddings exports, and optionally a Node.js script runner with npm and filesystem read/write tools. It runs in two modes, either a Streamable HTTP server inside the open app, or a STDIO mode where the MCP client launches the Spider itself, headless. Setup is documented for Claude Desktop and LM Studio.
If you want maximum capability in an interactive session (visualizations, crawl comparison, screenshots, scripted post-processing of exports), use the official MCP. It does far more, and it's maintained by the vendor.
This server makes a different trade: it's a small, deliberately limited wrapper around SF's CLI and the saved crawl database, built for runs where nobody is watching.
Locked-down by design. Nine read-and-export tools, nothing else. No script runner, no npm install, no filesystem write access. The official MCP offers all three, and its own docs note that enabling the Node runtime "allows the execution of arbitrary code on your system" and should only be granted to a fully trusted client. There's also an SF_ALLOWED_DOMAINS allowlist to restrict what an agent is able to crawl. When an agent runs unattended on a schedule, a tool surface this small is a feature.
Installs anywhere, plainly. A pip/uv-installable Python package with a one-line stdio config on any MCP client (Claude Code, Cursor, whatever) on macOS, Linux, or Windows. The official STDIO mode ships as a Claude Desktop extension (.mcpb); the HTTP mode means opening the app and starting the server from its settings.
Light process model. Screaming Frog only runs while a tool actually needs it. The official server *is* the Spider application running for the whole session, whichever mode you pick.
A few tools the official set doesn't have: aggregate_crawl_data for counts and distributions computed server-side (the official path to "how many 404s" is a full export, or a Node script), delete_crawl and storage_summary for cleaning up SF's crawl database (their sf_clear_crawl clears a paused crawl, it doesn't manage stored ones), regex filtering across any column of any export via read_crawl_data, and sf_check pre-flight diagnostics that catch license problems and GUI database locks before you waste a crawl.
What it feels like from chat. The official server is stateful: you ask it to load a crawl by ID, the Spider holds it in memory for the session, and follow-up questions answer in under a second. The cost is that the session owns SF's database the whole conversation, and exports come back as full inline dumps unless the model saves files and writes Node scripts to slice them (the approach their own docs recommend for staying inside the context window). This server is stateless: each export spawns the SF CLI fresh, so the first answer on a crawl takes longer, but you can just ask ("list my crawls, export the latest one") without managing IDs or sessions, reads return only the filtered rows you asked for, and the database is released between calls. For "show me the 404s on a 100k-URL crawl", the difference is the whole export in context versus a page of matching rows.
Typical split: crawl interactively in the GUI with your full config, close it, and let this server handle the unattended side. That covers scheduled audits, CI checks, and agents querying the saved data. Both need a licensed Screaming Frog install on the same machine; neither is a cloud crawler. Note that this server requires the GUI to be closed (SF's database allows one process at a time).
See it in action
The Pre-Launch Website Audit skill for Claude Code uses this MCP server for its technical SEO and on-page audits, site-wide crawl data, custom extractions, bulk analysis across all URLs. The skill runs 5 coordinated sub-audits and works without SF (bash fallbacks), but Screaming Frog is the biggest upgrade for crawl-dependent checks.
Prerequisites
- Screaming Frog SEO Spider installed on your machine (tested with v23.x and v24.x, should work with v16+). Download from: https://www.screamingfrog.co.uk/seo-spider/
- A valid Screaming Frog license. The free version has a 500-URL crawl limit. Most MCP features (headless CLI, saving/loading crawls, exports) require a paid license.
- Database storage mode in Screaming Frog ('File > Settings > Storage Mode'; the default on current installs).
list_crawls,export_crawl, and the other data tools read SF's internal crawl database. In memory storage mode,crawl_sitestill works but saves each crawl as a.seospiderfile (the status output tells you where), and the data tools cannot see it.
- Python 3.10+
Important: How the Workflow Works
Screaming Frog uses an internal database that can only be accessed by one process at a time. This means:
You must close the Screaming Frog GUI before the MCP server can access crawl data.
The typical workflow is:
- Run your crawl — either through the SF GUI (with all your custom settings, filters, etc.) or via the MCP
crawl_sitetool. - Close the Screaming Frog GUI — the GUI locks the crawl database. The MCP server's headless CLI cannot read or export data while the GUI is running.
- Use the MCP tools — once the GUI is closed, you can list crawls, export data, read CSVs, and more through your AI assistant.
If you forget to close the GUI, the server will detect it and show a clear error message telling you to quit SF first.
Setup
Option A: Install from PyPI (recommended)
Install as a persistent uv tool so the server starts instantly:
uv tool install screaming-frog-mcp
This puts a screaming-frog-mcp executable on your PATH (typically ~/.local/bin/screaming-frog-mcp). Update later with uv tool upgrade screaming-frog-mcp.
Alternatively, install with pip:
pip install screaming-frog-mcp
Avoid `uvx screaming-frog-mcp` in MCP client configs.
uvxresolves and downloads the package environment at launch. On a cold cache this can exceed the client's 60-second initialize timeout, causing intermittent "Could not attach to MCP server" errors. A persistent install never touches the network at startup.
Option B: Clone and install from source
git clone https://github.com/bzsasson/screaming-frog-mcp.git
cd screaming-frog-mcp python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt
Configure the CLI path
The default Screaming Frog CLI path works for macOS. If you're on Linux or Windows, set the SF_CLI_PATH environment variable:
| OS | Default Path |
|---|---|
| macOS | /Applications/Screaming Frog SEO Spider.app/Contents/MacOS/ScreamingFrogSEOSpiderLauncher |
| Linux | /usr/bin/screamingfrogseospider |
| Windows | C:\Program Files (x86)\Screaming Frog SEO Spider\ScreamingFrogSEOSpiderCli.exe |
If you cloned the repo, copy .env.example to .env and edit it.
Add to Claude Code
If installed via uv tool install or pip:
{
"mcpServers": { "screaming-frog": { "command": "/path/to/screaming-frog-mcp", "args": [], "env": { "SF_CLI_PATH": "/path/to/ScreamingFrogSEOSpiderLauncher" } } } }
Find the executable path with which screaming-frog-mcp (e.g. ~/.local/bin/screaming-frog-mcp for uv tool installs). Use the full absolute path, since GUI apps don't inherit your shell's PATH.
If cloned from source:
{
"mcpServers": { "screaming-frog": { "command": "/path/to/screaming-frog-mcp/.venv/bin/python", "args": ["/path/to/screaming-frog-mcp/sf_mcp.py"] } } }
Add to Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json), using the same absolute executable path:
{
"mcpServers": { "screaming-frog": { "command": "/path/to/screaming-frog-mcp", "args": [], "env": { "SF_CLI_PATH": "/path/to/ScreamingFrogSEOSpiderLauncher" } } } }
Restart Claude Desktop after editing the config.
Available Tools
| Tool | Description |
|---|---|
sf_check | Verify Screaming Frog is installed, check version and license status |
crawl_site | Start a headless background crawl (see note below) |
crawl_status | Check progress of a running crawl |
list_crawls | List all saved crawls with their Database IDs |
export_crawl | Export crawl data as CSV files (many export options available) |
read_crawl_data | Read exported CSV data with pagination, filtering, and column selection |
aggregate_crawl_data | Counts and group-by breakdowns over exported data ("how many 404s", "status code distribution") without reading rows into context |
delete_crawl | Permanently delete a crawl from the database |
storage_summary | Show disk usage of SF's crawl storage |
Usage Examples
Check installation
"Is Screaming Frog installed and licensed?"
The assistant will call sf_check and report version/license info.
Work with existing crawls (recommended flow)
For most use cases, crawl in the Screaming Frog GUI where you have full control over configuration, JavaScript rendering, crawl scope, custom extraction, etc. Then close the GUI and use the MCP to analyze the results:
After you've crawled a site in the Screaming Frog GUI and closed it:
"List my saved crawls"
"Export the crawl for example.com"
"Show me all pages with missing meta descriptions"
"What are the 404 pages?"
Crawl a site via MCP (optional)
"Crawl https://example.com"
The crawl_site tool can kick off headless crawls via CLI. This is useful for quick re-crawls or automated workflows, but note the limitations compared to the GUI:
- Uses default crawl settings (no custom extraction, JavaScript rendering config, etc.)
- You can pass a
.seospiderconfigfile to customize settings (including crawl URL limits), but the GUI is easier for complex setups - The crawl must finish and save before you can export data
Export options
The server supports all of Screaming Frog's export tabs, bulk exports, and reports. Ask the assistant to read the screaming-frog://export-reference resource for the full list, or specify them directly:
export_tabs: "Internal:All,Response Codes:All,Page Titles:All"
bulk_export: "All Inlinks,All Outlinks" save_report: "Crawl Overview"
Configuration
Environment variables
| Variable | Description | Default |
|---|---|---|
SF_CLI_PATH | Path to the Screaming Frog CLI executable | macOS default path |
SF_ALLOWED_DOMAINS | Comma-separated list of allowed crawl target domains. When set, crawl_site only accepts URLs matching these domains. | Empty (all domains allowed) |
| SF_CONFIG_DIR | Directory containing .seospiderconfig files that `cr
冒頭だけを表示しています。続きはリポジトリで読めます