Web Scan

io.github.ankitkumarjha515由 GitHub 帳號 ankitkumarjha515 發布v1.0.0更新於 Oct 26, 2026

Audit any live URL: 85 SEO, AI-search, security, leaked-key and speed checks, with fixes to verify.

發布方自己的服務:scan.mx Email Diagnostics

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取開發者工具安全與監控

概覽

AI 產生的概覽

遠端 MCP 伺服器,可稽核公開網址的 SEO、AI 搜尋、安全、金鑰外洩與速度問題,並在修正後複檢。

可以做什麼
  • 掃描公開網址,回傳 0-100 分數、等級,以及每項未通過或警告檢查的編號、詳情與修正建議
  • 部署修正後重新掃描,依檢查編號回報是否已通過,並給出新舊分數與是否全部修正
  • 透過分享連結中的 slug 讀取已儲存的報告,不必重新掃描
適用情境
適合在編碼代理上線網站或預覽部署後進行稽核,並驗證修正是否真的生效;也適合在他人分享 Web Scan 報告連結時查看結果。每次掃描只涵蓋一個頁面,且針對公開網站。
執行需求
遠端 Streamable HTTP 端點;MCP 伺服器本身不需要 API 金鑰或註冊。被掃描的網址必須可公開存取,不支援 localhost 與私有網路。依 IP 有公平使用速率限制;在網站登入可取得更高額度與可分享的已儲存報告。
安裝前請注意
掃描僅被動讀取公開網站已提供的內容,但結果可能揭露網站 JavaScript 中的真實金鑰,應將報告內容視為敏感資料。報告兩週後過期,可分享的報告連結僅在已登入的請求中產生。依 IP 有速率限制。

安裝

在 SourceWeft 中

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

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.ankitkumarjha515%2Fweb-scan/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "web-scan": {
      "type": "http",
      "url": "https://preflight-api.agentmarket.lol/api/mcp"
    }
  }
}

README

Web Scan

Your coding agent shipped it. Web Scan checks it.

One call audits any live URL in about 5 seconds: 85 checks across SEO, AI search (GEO), security headers, leaked API keys, Core Web Vitals and accessibility. Every finding comes with the exact fix, ranked by how many points it is worth. Then your agent fixes it and verifies the fix on the live site, without you re-running anything.

Free. No sign-up. No API key. Works as an MCP server, a GitHub Action, a CLI and on the web.

scan_url  →  fix  →  deploy  →  verify_fixes  →  allFixed: true

Why agents use it

  • Built for the agent loop. scan_url finds what is wrong, verify_fixes proves each fix landed in production, per check id. No screenshots to read, no dashboards to click.
  • Fixes, not findings. Each failing check returns its id, what was found on the page, and a concrete fix. Findings are ranked by real score gain (the report is re-scored with that one fix applied), so the agent works in the order that matters.
  • Catches what AI-built apps leak. Reads the JavaScript the site serves to every visitor and finds live secret keys (OpenAI, Anthropic, Stripe, AWS, GitHub, Slack, SendGrid, database URLs, private keys) and Supabase service_role keys. Every match gets a second look that drops placeholders and docs examples, so a red result is a real leak.
  • Sees the page the way AI search does. Shows what ChatGPT, Claude and Perplexity crawlers actually receive (no JavaScript), which AI bots robots.txt lets in, and whether the page answers the questions buyers ask.
  • Honest scoring. One number from three parts (search and sharing, security, speed), capped when a critical check fails, next to a benchmark of 25 well-known sites. Missing security headers are hardening notes, not holes. Unsure findings say "needs checking".
  • Safe to point at anything public. Passive only: it reads what the site already serves and never probes hidden paths. Text from scanned pages is returned as data, never as instructions.

MCP server

Remote, stateless, Streamable HTTP. No key needed.

https://preflight-api.agentmarket.lol/api/mcp

Claude Code

bash
claude mcp add --transport http web-scan https://preflight-api.agentmarket.lol/api/mcp

Cursor (~/.cursor/mcp.json), Windsurf, VS Code (.vscode/mcp.json, key servers)

json
{  "mcpServers": {    "web-scan": { "url": "https://preflight-api.agentmarket.lol/api/mcp" }  }}

Codex (~/.codex/config.toml)

toml
[mcp_servers.web-scan]url = "https://preflight-api.agentmarket.lol/api/mcp"

Tools

ToolWhat it does
scan_urlFresh audit of a public URL: score 0-100, grade, every failing or warning check with id, detail and fix, and fullReportUrl for the complete interactive report. 5-15 s.
verify_fixesRe-scan after a deploy and report per check id whether it now passes, the new and previous score, what is still failing, and allFixed.
get_reportRead a shared report (web-scan.agentmarket.lol/r/<slug>) without re-scanning.

Try it in your agent:

Scan https://my-app.com with Web Scan, fix everything in this repo in order of points, and verify the fixes once I deploy.

GitHub Action

Fail the build when a deploy makes the site worse.

yaml
- uses: ankitkumarjha515/web-scan@v1  with:    url: https://my-app.com    min-score: 85        # fail below this score    fail-on: score       # score | failures | any | never

Writes a summary table to the job page, with a link to the full interactive report. Pair it with a preview deployment to catch problems before they reach production.

CLI

No dependencies, Node 18+.

bash
node bin/web-scan.mjs https://my-app.com --min-score 90node bin/web-scan.mjs https://my-app.com --fail-on failures --json

Exit code 0 passes, 1 fails the gate, 2 means the scan could not run. Every run ends with a link to the full report on the website: charts, the AI search view, link previews and a live speed test.

What it checks

AreaExamples
Search basicstitle, description, canonical, headings, language, structured data validity, hreflang
AI search (GEO)text without JavaScript, GPTBot / ClaudeBot / PerplexityBot access, llms.txt, answer-ready sections, citability
Crawlabilitystatus, noindex, robots.txt (including rules that block this exact page), sitemap, soft 404s, redirects
Sharingog:image that actually loads, titles and descriptions for X, LinkedIn, Slack and WhatsApp previews
SecurityHTTPS, HSTS, CSP strength, cookies, CORS, mixed content, framing
Leaked secretsprovider keys and database URLs in served JavaScript, Supabase service_role, source maps, debug builds
Speedserver response, page weight, render-blocking files, fonts, caching, plus Core Web Vitals on demand
Images and accessibilityalt text, sizes, lazy loading, formats, zoom, labels, landmarks

Every report also says what kind of site it is (shop, local business, software, publisher, agency), the basics that kind of site needs, and what the scan covered and what it could not see.

Whole-site audits, competitor comparison, hourly monitoring and a README badge are on the website.

Limits

  • Public URLs only: no localhost or private networks. Use a preview deployment.
  • Fair-use rate limits per IP; sign in on the website for higher limits.
  • One page per scan_url call; use the website for whole-site crawls.

License

MIT for this repository (Action, CLI, registry metadata). The scanner itself runs as a hosted service.

來源:README.md,提交 8de8a99

工具

3

scan_url

Scan a URL

Run a fresh Web Scan audit of a public URL and return its score (0-100), grade, and every failing or warning check with its id, title and fix: the result is complete in itself. reportUrl is a shareable link only when the request carries a signed-in Web Scan token (reports are saved for signed-in users only); otherwise it is null and nothing is stored. fullReportUrl is always present: the full report on the website, to share with the user. Use this first, to find out what to fix on a live page. Takes about 5-15 seconds. Cannot scan localhost or private networks; use a deployed or preview URL.

輸入參數url必填

verify_fixes

Verify fixes

Re-scan a URL after you deployed fixes and report, per check id, whether it now passes (fixed: true), plus the new score, the previous score, what is still failing with its fix, and allFixed. Use this after a change reaches production (or a public preview) instead of asking the user to re-scan. Pass the check ids from the scan or fix prompt; with none, every failing or warning check is returned. If a fix you made still shows fixed: false, the deploy may not be live yet or a CDN may be serving a cached page: wait about a minute and call again before concluding the fix failed.

輸入參數url必填checks

get_report

Get a stored report

Read a stored Web Scan report by its slug (the part after /r/ in a web-scan.agentmarket.lol/r/<slug> link) without re-scanning: score, grade, scan time and the failing or warning checks with fixes. Use this when the user shares a report link. Reports expire after two weeks; to check the current state of a site, use scan_url or verify_fixes instead.

輸入參數slug必填

版本歷史

1
  1. v1.0.0最新Oct 21, 2026

評分

已滿足適用檢查項的 100%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Scan 整合