Tapsite

io.github.mgriffen由 GitHub 帳號 mgriffen 發布v4.0.1更新於 Oct 24, 2026

MCP server for web inspection, design system extraction, and accessibility audits

概覽

AI 產生的概覽

一個本機 MCP 伺服器,讓 AI 助理檢查網站並擷取設計系統、無障礙稽核、效能資料與結構化內容。

可以做什麼
開啟並控制瀏覽器工作階段:導覽、檢查 DOM、截圖、點擊、填寫、捲動、執行 JavaScript,並支援手動登入與 MFA。擷取頁面內容:表格、連結、中繼資料、可讀文字、表單、Markdown 以及自訂 CSS/XPath/正規表達式模式。擷取設計權杖:顏色、字型、CSS 變數、間距、陰影、版面、元件與斷點。稽核品質:WCAG 對比度、無障礙、Core Web Vitals、安全標頭、深色模式、PWA 與國際化。偵測技術堆疊:框架、動畫、圖示、GraphQL、AI/ML 整合、canvas、WebAssembly、Web 元件、第三方指令碼與用戶端儲存。擷取網路流量並推斷 API 結構,爬取多個頁面,比較兩個網站或追蹤隨時間的變化。匯出結果為 JSON、Markdown、HTML 報告、CSV 與截圖。
適用情境
當你希望助理分析即時網站的設計系統、無障礙、效能或內容結構,比較網站或追蹤隨時間的變化,或從頁面(包括登入後的頁面)擷取結構化資料時,它很有用。
執行需求
透過 npm 在本機執行(npx tapsite 或全域安裝)。需要 Node.js 與 Playwright Chromium,首次執行會下載約 150MB。手動登入需要顯示環境;Docker 僅支援無頭模式。未宣告 API 金鑰或環境變數。
安裝前請注意
此伺服器可以在頁面中執行任意 JavaScript,並將圖片下載到本機輸出目錄。它會在 profiles 目錄中儲存即時工作階段 cookie,不應提交到版本控制。它可以在受保護的網站上使用代理輪換與反機器人規避。擷取的頁面內容可能包含提示注入;伺服器會標記可疑模式,但不保證安全。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

tapsite

[GitHub stars] [npm downloads] [License: MIT]

[tapsite — 55 Tools, One MCP Server, Total Web Intelligence]

The MCP server for web intelligence extraction. 55 tools that give AI agents the ability to understand websites — not just drive a browser, but extract structured intelligence about design systems, accessibility, performance, content, and more.

Other MCP browser tools let agents click buttons. tapsite lets agents extract a complete color palette, audit WCAG contrast ratios, diff two sites' design tokens, detect tech stacks, or pull structured data with custom CSS/XPath/regex selectors — all as structured JSON that agents can reason about.

55 Tools · 11 Categories · 4 Workflows · Multi-Format Export

Works with Claude, Cursor, Windsurf, and any MCP-compatible AI agent. LangChain/LangGraph integration coming soon.

View the full docs site →

Installation

bash
# Quick start (no install required)npx -y tapsite
# Or install globallynpm install -g tapsitenpx playwright install chromiumnpx playwright install-deps chromium

Add to your AI agent's MCP config:

json
{  "mcpServers": {    "tapsite": {      "command": "npx",      "args": ["-y", "tapsite"]    }  }}

First run: Playwright will install Chromium automatically if not already present (~150MB one-time download).

Also available on the MCP Registry and Glama.

What makes tapsite different

Other browser MCPstapsite
Click buttonsExtract full design systems
Fill formsAudit WCAG accessibility
Take screenshotsDiff sites over time
Read raw HTMLDetect tech stacks & APIs
Custom CSS / XPath / regex extraction
Anti-bot resilience & proxy rotation

Extract design systems — colors, fonts, spacing scales, breakpoints, components, shadows, icons, CSS variables, and contrast ratios from any website. Output as structured JSON or W3C design tokens.

Audit quality — accessibility scoring with WCAG contrast analysis, performance timing (Core Web Vitals), tech stack detection, dark mode support, and animation inventory.

Compare and track — diff two sites side by side, or track a single site over time with snapshot-based temporal diffs. Regressions and improvements are flagged automatically. Disk caching means crawls resume where they left off, and results are reused across sessions.

Work behind login walls — persistent browser sessions with full MFA support. A 3-tier anti-bot escalation system handles protected sites automatically — from stealth scripts to proxy rotation. Log in once manually, then extract across tool calls without re-authenticating. Credentials never enter the chat.

Tools (55)

Session (8)

ToolDescription
tapsite_login_manualOpen headed browser for manual login + MFA
tapsite_login_checkVerify authenticated session state
tapsite_inspectNavigate to URL and inspect the DOM (nav, headings, buttons, forms, tables, links)
tapsite_screenshotTake a screenshot of the current page
tapsite_interactClick or fill an indexed element from the last inspect
tapsite_scrollScroll the page
tapsite_run_jsExecute arbitrary JavaScript and return the result
tapsite_closeClose the browser session

Content Extraction (6)

ToolDescription
tapsite_extract_tableExtract a specific table as structured data
tapsite_extract_linksExtract all links with text and href
tapsite_extract_metadataExtract page metadata (title, description, OG tags, etc.)
tapsite_extract_contentExtract main readable content (article body, headings, paragraphs)
tapsite_extract_formsExtract all forms with fields, labels, and actions
tapsite_extract_markdownExtract page content as clean Markdown (raw, fit, or citations mode) with optional chunking

Custom Extraction (2)

ToolDescription
tapsite_extract_customExtract structured data using custom schemas (CSS selectors, XPath, or regex)
tapsite_extract_schema_suggestAnalyze page DOM and auto-suggest extraction schemas

Design Tokens (5)

ToolDescription
tapsite_extract_colorsExtract color palette (hex values + usage counts)
tapsite_extract_fontsExtract font families, sizes, weights
tapsite_extract_css_varsExtract CSS custom properties
tapsite_extract_spacingExtract spacing scale values
tapsite_extract_shadowsExtract box-shadow and text-shadow patterns

Visual Assets (4)

ToolDescription
tapsite_extract_imagesExtract all images with src, alt, dimensions
tapsite_download_imagesDownload images to local output directory
tapsite_extract_svgsExtract inline SVGs
tapsite_extract_faviconExtract favicon URLs and sizes

Layout Intelligence (3)

ToolDescription
tapsite_extract_layoutExtract layout tree (inline text representation)
tapsite_extract_componentsDetect repeated UI components and patterns
tapsite_extract_breakpointsExtract responsive breakpoints from CSS media queries

Quality & Compliance (7)

ToolDescription
tapsite_extract_a11yAccessibility audit (ARIA, roles, contrast issues)
tapsite_extract_contrastAudit WCAG contrast ratios between text and background
tapsite_extract_perfExtract performance metrics (Core Web Vitals, resource sizes)
tapsite_extract_securityAudit security headers (CSP, HSTS, SRI, permissions policy)
tapsite_extract_darkmodeDetect dark mode support and extract dark palette
tapsite_extract_pwaDetect PWA support (manifest, service worker, installability)
tapsite_extract_i18nExtract internationalization signals (lang, hreflang, translations)

Technology Detection (10)

ToolDescription
tapsite_extract_stackDetect frontend framework, libraries, and tech stack
tapsite_extract_animationsExtract CSS animations and transitions
tapsite_extract_iconsDetect icon libraries and extract icon usage
tapsite_extract_graphqlDetect GraphQL endpoints and introspect schemas
tapsite_extract_aimlDetect AI/ML integrations (models, embeddings, inference endpoints)
tapsite_extract_canvasExtract canvas and WebGL usage patterns
tapsite_extract_wasmDetect WebAssembly modules and usage
tapsite_extract_web_componentsDetect custom elements and shadow DOM usage
tapsite_extract_third_partyInventory third-party scripts, trackers, and services
tapsite_extract_storageAudit client-side storage (cookies, localStorage, sessionStorage, IndexedDB)

Network & API (2)

ToolDescription
tapsite_capture_networkCapture network requests during a page load
tapsite_extract_api_schemaInfer API schema from observed network traffic

Multi-page (2)

ToolDescription
tapsite_crawlCrawl multiple pages from a start URL
tapsite_diff_pagesCompare two URLs (cross-site) or track changes over time (temporal) using real extractors

Export (2)

ToolDescription
tapsite_exportExport inspection results as JSON + Markdown + HTML report + CSV tables + screenshots
tapsite_export_design_reportFull design system report: report.html (visual), design-tokens.json (W3C format), design-tokens.css (copy-pasteable :root vars)

Engine

Resilient extraction engine. Parallel browser pooling for concurrent page extraction. Persistent disk caching — crawls resume where they left off and results are reused across sessions. 3-tier anti-bot escalation with automatic proxy rotation for protected sites.

Workflows (4)

ToolDescription
tapsite_teardownComprehensive competitive design teardown (all extractors)
tapsite_auditPre-launch quality audit (a11y, contrast, perf, SEO, darkmode)
tapsite_harvestInventory all site assets (images, SVGs, forms, fonts, links)
tapsite_designsystemExtract design tokens as W3C JSON and CSS variables

LangChain / LangGraph integration (coming soon)

Native LangChain and LangGraph integration is on the roadmap. When released, it will provide a dedicated Python wrapper with tool subsets and managed session lifecycle.

Security

Prompt injection defense (hidden element filtering + output sanitization), HTTPS enforced, private IPs blocked, auth headers redacted. Credentials never enter the chat — log in manually with full MFA support.

Prompt injection defense

Extractors skip hidden elements (display:none, visibility:hidden, opacity:0, zero-size, clip-hidden) to prevent invisible text injection. All output is scanned for prompt injection patterns — instruction overrides, role hijacking, exfiltration attempts, and tool manipulation are flagged inline as [INJECTION_DETECTED].

Credential safety

Never pass credentials through the chat. Use tapsite_login_manual to open a headed browser, log in manually (including MFA), then tapsite_login_check to confirm. Credentials never touch the AI provider's servers or local transcripts.

Docker

tapsite ships a Dockerfile and docker-compose.yml for headless-only use — CI pipelines, server deployments, or anywhere you don't want a local Node.js install.

bash
docker build -t tapsite .docker compose up

tapsite_login_manual is not available in Docker (it requires a display). To use authenticated sessions in Docker, log in locally first, then mount the profiles/ directory into the container:

yaml
volumes:  - ./output:/app/output  - ./profiles:/app/profiles

Security note: profiles/ contains live session cookies. Don't commit it to version control (it's already in .gitignore).

Development setup

bash
git clone https://github.com/mgriffen/tapsitecd tapsitenpm installnpx playwright install chromiumnpx playwright install-deps chromium

MCP config pointing to local source:

json
{  "mcpServers": {    "tapsite": {      "command": "node",      "args": ["/absolute/path/to/tapsite/src/server.js"]    }  }}

Project structure

src/  server.js        — MCP server entry point  browser.js       — shared Chromium context (ensureBrowser, closeBrowser)  helpers.js       — shared helpers (safeNavigate, summarizeResult, indexPage)  sanitizer.js     — prompt injection detection  diff.js          — per-extractor diff logic and extractor name/args mapping  snapshots.js     — temporal snapshot I/O (saveSnapshot, loadLatestSnapshot)  browser-pool.js  — parallel browser context pooling  cache.js         — persistent disk caching with TTL  markdown.js      — HTML-to-Markdown converter (raw/fit/citations)  chunker.js       — LLM-friendly text chunking (fixed/semantic/sentence)  content-filter.js — BM25 relevance filtering  anti-bot.js      — block detection and tier escalation  proxy.js         — proxy rotation with failure tracking  stealth-setup.js — Puppeteer-extra stealth plugin registration  extraction-strategies.js — CSS/XPath/regex flexible extractors  extractors.js    — browser-context extraction functions (page.evaluate())  exporter.js      — file export: JSON, Markdown, HTML, CSV  inspector.js     — DOM extraction for inspect tools  cli.js           — standalone CLI (login, inspect, session)  config.js        — paths and defaults  tools/    session.js     — login, inspect, screenshot, interact, scroll, run_js, close    extraction.js  — all extract_* tools    network.js     — capture_network, extract_api_schema, extract_stack    multipage.js   — crawl, diff_pages    export.js      — export, export_design_report    workflows.js   — teardown, audit, harvest, designsystemprofiles/          — browser state / session cookies (gitignored)output/            — export results + snapshots (gitignored)

Output formats

  • output/run-{timestamp}/ — tapsite_export: JSON, Markdown, HTML, screenshots, CSV tables
  • output/design-report-{timestamp}/ — tapsite_export_design_report: report.html, design-tokens.json, design-tokens.css
  • output/snapshots/{domain}/ — tapsite_diff_pages temporal snapshots

License

MIT

來源:README.md,提交 85ed415

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v4.0.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分