Sitedoctor

io.github.CloudCorpRecords由 GitHub 帳號 CloudCorpRecords 發布v0.1.0更新於 Nov 4, 2026

SEO site audits, issue search, Google visibility checks and improvement plans for your sites.

概覽

AI 產生的概覽

連接 DrUrls 託管服務的在地橋接,讓助理讀取 SEO 稽核分數、搜尋問題、檢查 Google 收錄狀況並啟動網站掃描。

可以做什麼
  • 列出組織內網站及最近一次稽核的分數、等級、問題數與掃描狀態
  • 檢視單一網站的報告、依嚴重程度統計的問題、常見問題類型與社群網路曝光
  • 跨網站搜尋未解決問題,可依網域與嚴重程度篩選
  • 檢查 Google 可索引性:noindex 標籤、robots 封鎖、sitemap 錯誤、canonical、重新導向鏈與失效內部連結
  • 取得依優先順序排列的改善計畫、啟動新掃描並查看掃描狀態
  • 為單一網站或整個組織產生完整 SEO 報告,並對任何公開網址做免費單頁檢查
適用情境
適合讓助理檢視組織已在 DrUrls 中稽核的網站之搜尋能見度與頁面健康狀況、整理待修問題,或發起新掃描並在對話中彙整結果。
執行需求
透過 npx 或 Docker 映像檔在地執行,需要能連線至上游 DrUrls MCP 端點。選用的 DRURLS_API_KEY 會以 Bearer 權杖用於帳戶層級工具;選用的 DRURLS_MCP_URL 可覆寫端點。免費單頁檢查不需帳戶。
安裝前請注意
帳戶層級工具以呼叫者自身憑證執行,API 金鑰可存取組織的網站資料。部分工具會消耗額度:start_scan 每次 1 點,get_improvement_plan 與 generate_report 每次 2 點,僅成功時計費。start_scan 會寫入資料,網站不存在時會在組織中建立。網站資料與網址會傳送給第三方 DrUrls 服務。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Sitedoctor,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

sitedoctor

sitedoctor is a small local bridge to DrUrls, a hosted service that audits websites for search visibility and on-page health. Instead of crawling anything itself, this package stands in front of the service's remote MCP endpoint: it presents the upstream tool list locally, exactly as captured, and passes each call through, returning whatever the upstream returns.

That split matters in practice. Scores, issue groups, visibility verdicts and fix plans all come from DrUrls' own crawls and data, so an answer you get through sitedoctor is the service's answer, not a local approximation. The bridge adds no scoring of its own and rewrites nothing on the way back.

Tools

This build serves a labelled subset of the captured surface: 10 of the 11 tools seen in the live capture. The omitted tool is hire_tester, which places a paid order for a human test; purchase execution is out of scope for this program, so the tool is deliberately absent, and a test asserts that absence. list_tester_offers remains — browsing the catalogue is a read, ordering from it is not.

  • list_tester_offers — browse the human-testing catalogue: mobile UX on a real handset, checkout runs, screen-reader passes, translation review and similar offers, each with its credit price, turnaround and deliverables. No arguments.
  • list_sites — every site in the organisation with its latest completed audit: score, grade, issues, pages crawled, last scan time, and whether a scan is running. No arguments.
  • get_site_report — a deeper look at one site (domain, required): latest score, issue counts by severity, the most frequent issue types, and social-network presence.
  • find_issues — search open issues across all sites, or narrow with domain and with severity (CRITICAL, HIGH, MEDIUM, LOW or INFO). Results are grouped by site and issue type, with affected-page counts and an example.
  • check_google_visibility — whether Google can index each site: noindex tags, robots blocks, sitemap errors, canonical problems, redirect chains and broken internal links from the last crawl. Optional domain for a single site.
  • get_improvement_plan — the highest-impact fixes right now, ranked by severity and reach, with how-to-fix guidance. Optional domain.
  • start_scan — launch a fresh audit of a site (url, required). The site is created in the organisation if needed, and the upstream plan quota is enforced upstream.
  • get_scan_status — what is running now plus the last 10 finished or failed scans, with scores and errors. No arguments.
  • generate_report — compile a full SEO report for one site (domain), or, without a domain, for the whole organisation.
  • free_page_check — a free single-page audit of any public URL (url, required), with no account needed at the upstream, plus an upgrade field describing what the authenticated tools add.

Configuration

  • DRURLS_MCP_URL (optional) — override the upstream endpoint. Defaults to https://drurls.com/mcp. (The override hook is this rebuild's own labelled reconstruction.)
  • DRURLS_API_KEY (optional) — when set, every upstream request carries Authorization: Bearer <key>. When it is not set, no auth header is sent, matching the keyless capture this rebuild is based on. (The header behaviour is a labelled reconstruction; the registry record declares an Authorization header for the remote, but the capture was taken without one.) Account-scoped tools are served upstream under the caller's own credential.

Forwarding mechanics

On the first tool call the client opens a streamable HTTP session upstream: a JSON-RPC initialize request (protocolVersion 2025-03-26, clientInfo name sitedoctor), then a notifications/initialized notification, then the tools/call request carrying the caller's arguments unchanged. When the upstream answers initialize with an Mcp-Session-Id header, that value rides on every later request, and the session is reused for the life of the process. Replies may arrive as plain JSON or as server-sent events; both are read, and the message with the matching id wins.

Successful upstream results pass through verbatim, including any isError flag the upstream sets and any extra fields it adds. Failures — a JSON-RPC error, a non-2xx status, an unreadable response, or a request that cannot be completed — come back as an isError result whose text starts with sitedoctor error: (this rendering is this rebuild's own labelled reconstruction).

CLI

Each tool is also a subcommand taking one JSON argument string (omit it for tools that take none):

bash
npx @reneturcios/sitedoctor list_sitesnpx @reneturcios/sitedoctor get_site_report '{"domain":"example.com"}'npx @reneturcios/sitedoctor free_page_check '{"url":"https://example.com"}'npx @reneturcios/sitedoctor --version

Exit codes: 0 on success, 1 on an isError result, 2 on a usage error.

MCP server

bash
npx -y @reneturcios/sitedoctor mcp

MCP client config:

json
{  "mcpServers": {    "sitedoctor": {      "command": "npx",      "args": ["-y", "@reneturcios/sitedoctor", "mcp"]    }  }}

Docker

bash
docker run -i ghcr.io/cloudcorprecords/sitedoctordocker run --rm ghcr.io/cloudcorprecords/sitedoctor --version

The container's default command is mcp, so the first form is a stdio MCP server; any other arguments reach the CLI normally.

Development

bash
npm installnpm run buildnpm testnpm run dev

The test suite runs entirely against a stubbed JSON-RPC upstream — no live network calls.

License

MIT — see LICENSE.

來源:README.md,提交 0b6aa4a

工具

10

list_tester_offers

Browse the catalogue of tests a real person will run on a real device: mobile UX on a handset, end-to-end checkout, a screen-reader pass by somebody who uses one daily, native-speaker translation review, and more. These cover what reading a page cannot answer — how something feels on a handset, what a screen reader announces, whether a checkout completes on a real phone: what an automated audit cannot measure. Returns each offer with its price in credits, turnaround, and exactly what gets delivered. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.

無需輸入參數。

list_sites

List every site in the user's organization with its latest completed audit: SEO score, grade, issues found, pages crawled, when it was last scanned, and whether a scan is running right now. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.

無需輸入參數。

get_site_report

Deep-dive one site: latest audit score, issue counts by severity, the most frequent issue types with counts, and social-network presence. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.

輸入參數domain必填

find_issues

Search open issues across all sites (or one site). Returns issue groups: site, issue type, severity, how many pages are affected, and an example page. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.

輸入參數domainseverity

check_google_visibility

Check Google indexability for all sites (or one): noindex tags, robots blocks, sitemap errors, canonical problems, redirect chains and broken internal links found in the last crawl. Explains per site whether anything blocks indexing. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.

輸入參數domain

get_improvement_plan

The highest-impact actions to improve quality right now, ranked by severity and how many pages each fix touches, with concrete how-to-fix guidance. Cost: 2 credits per call, charged only if the call succeeds. Rate limit: 100 requests/minute per API key.

輸入參數domain

start_scan

Launch a fresh audit of a website. Creates the site in the org if it doesn't exist yet. Enforces the user's plan quota — if the quota is used up it explains that instead of scanning. Cost: 1 credit per call, charged only if the call succeeds. Rate limit: 100 requests/minute per API key.

輸入參數url必填

get_scan_status

What is running right now and what finished recently: every in-flight scan plus the last 10 completed/failed ones with scores and errors. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.

無需輸入參數。

generate_report

Compile a full SEO report — for one site (score, issues by severity, top issue types, Google visibility, social presence, ranked fix plan) or the whole organization (per-site scores, visibility verdicts, top cross-site actions). Cost: 2 credits per call, charged only if the call succeeds. Rate limit: 100 requests/minute per API key.

輸入參數domain

free_page_check

Free single-page SEO/health audit of any public URL — no API key, no account. Returns the same score, grade, categories and issues as the product's free check, plus an `upgrade` field describing what the authenticated tools add. Rate limited per caller (3/day). Whole-site crawls, history and tasks need a DrUrls account.

輸入參數url必填

版本歷史

1
  1. v0.1.0最新Nov 4, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分