Sitemoth
從 Claude 或任何 MCP 用戶端執行桌面 SEO 爬取並查詢結果:問題、每個問題的 URL、入站連結與出站連結、頁面 HTML、爬取比較與 sitemap 產生。在本機執行、無需 API 金鑰、免費。
文件
Sitemoth MCP server
Sitemoth ships a Model Context Protocol server, so Claude, Cursor, Codex and other AI agents can run technical SEO audits. An agent connected to it works with the same checks and limits as the app, through 24 tools. The agent can do these jobs:
- The agent starts and stops crawls.
- The agent reads the issues overview with fixes, and queries any tab and filter.
- The agent inspects a URL with its inlinks, outlinks and stored HTML.
- The agent compares two crawl files.
- The agent writes white-label client reports and drafts fix tickets.
- The agent checks AI search readiness, suggests internal links and finds Search Console opportunities.
- The agent exports CSV, Excel, redirect maps and XML sitemaps.
Before you start
Sitemoth's MCP server runs through Node.js, which most AI coding tools already use. It needs Node 22.13 or newer. Check your version with node -v in a terminal, and install the current LTS from nodejs.org if it is older. You do not need to install Sitemoth's npm package first, because npx fetches it on first use.
Claude Code
Claude Code adds Sitemoth with one command in a terminal:
claude mcp add --scope user sitemoth -- npx -y sitemoth mcp
The --scope user option makes Sitemoth available in every project. Start a new Claude Code session and run /mcp to see Sitemoth listed as connected.
Claude Desktop
Claude Desktop reads its MCP servers from a settings file. Open Claude Desktop, go to Settings, Developer, Edit Config, and add Sitemoth inside mcpServers:
{
"mcpServers": {
"sitemoth": { "command": "npx", "args": ["-y", "sitemoth", "mcp"] }
}
}
The file lives at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS and at %APPDATA%Claudeclaude_desktop_config.json on Windows. Quit and reopen Claude Desktop after saving. Sitemoth then appears under the tools icon in the chat box.
Cursor
Cursor reads MCP servers from ~/.cursor/mcp.json for all projects, or from .cursor/mcp.json inside one project. Add the same block:
{
"mcpServers": {
"sitemoth": { "command": "npx", "args": ["-y", "sitemoth", "mcp"] }
}
}
Cursor shows Sitemoth under Settings, MCP, with a green dot once it is running.
VS Code with GitHub Copilot
VS Code reads MCP servers from .vscode/mcp.json in a project. Its format uses servers instead of mcpServers:
{
"servers": {
"sitemoth": { "type": "stdio", "command": "npx", "args": ["-y", "sitemoth", "mcp"] }
}
}
Copilot Chat lists Sitemoth's tools in agent mode after you start the server from the file.
Codex
Codex reads MCP servers from ~/.codex/config.toml, shared by the Codex CLI and the IDE extension. Add Sitemoth as a table:
[mcp_servers.sitemoth]
command = "npx"
args = ["-y", "sitemoth", "mcp"]
Start a new Codex session and run /mcp to see Sitemoth listed.
Windsurf
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Add the mcpServers block shown for Claude Desktop and refresh the server list in Cascade.
Check that it works
Ask the agent: "Use Sitemoth to crawl example.com with 50 URLs and list the issues." The agent calls start_crawl, then crawl_status, then issues. The crawl file lands in Documents/Sitemoth, so it also opens in the desktop app.
When the server does not start
- An "npx not found" error means the app cannot see Node. Replace
npxwith its full path, whichwhich npxprints on macOS and Linux andwhere npxprints on Windows. - A Node version error means Node is older than 22.13. Install the current LTS and restart the app.
- A first start that takes a minute is normal, because
npxdownloads the package once.
The desktop app and the MCP server read and write the same.sitemoth files. A crawl started by an agent opens in the app, and the other way round. In the app, Help, Connect AI agents shows these setups with copy buttons.
Sitemoth MCP tools
| Tool | What it does |
|---|---|
start_crawl | Sitemoth crawls a URL in the background with limits, a speed preset, rendering, include and exclude rules and content rules. It returns a crawl id. |
crawl_status, stop_crawl | Sitemoth reports progress, throttling and the final summary. It can stop and analyze, or abort. |
list_crawls, open_crawl | Sitemoth lists and summarizes saved crawl files. |
issues, urls_with_issue | Sitemoth returns the issues overview with fixes, and the URLs for one check. |
query_tab | Sitemoth returns any tab and filter with search, sorting, paging and chosen columns. |
url_detail, page_html | Sitemoth returns everything about one URL, and its stored raw or rendered HTML. |
compare_crawls | Sitemoth compares two crawl files. |
export, generate_sitemap | Sitemoth writes CSV or Excel files and an XML sitemap. |
client_report | Sitemoth writes a white-label HTML or PDF report with a health score, an executive summary and the top problems. |
ticket_drafts | Sitemoth drafts fix tickets, one per problem and page template, with the affected URLs. |
ai_readiness | Sitemoth checks robots.txt for AI crawlers, validates llms.txt and flags JavaScript-only content. |
link_suggestions | Sitemoth suggests source pages and anchors for orphan and weakly linked pages. |
search_opportunities | Sitemoth finds cannibalized queries, pages losing clicks and pages ranking 8 to 20 from Search Console data. |
redirect_map | Sitemoth maps old URLs to new ones for a migration and exports the redirects. |
log_summary | Sitemoth summarizes imported server logs: hits per bot, verified and fake, the date range and the URLs Googlebot requests most. |
run_integration | Sitemoth runs PageSpeed, spelling, Search Console or GA4 on an open crawl. |
list_checks, list_tabs, list_bulk_exports | Sitemoth lists the ids the other tools accept. |
Sitemoth MCP guardrails
Sitemoth's MCP crawls default to 2,000 URLs, the Normal speed preset and no resource fetching. An agent cannot overload a server by accident. SITEMOTH_BLOCKED_HOSTS lists hosts the server refuses, and SITEMOTH_CRAWLS_DIR changes where files go. Sitemoth pages its results, so no tool dumps a whole crawl into the conversation.
Example prompts
- Crawl example.com with 500 URLs, then list the errors and say which three to fix first.
- Compare last month's crawl file with this one and summarize what changed.
- Find every page that links to /old-pricing/ and list the anchor texts.
- Run spelling on the 20 most-linked pages and list the misspellings with suggestions.