Sign In

tapsite

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tapsite

MCP server for web intelligence extraction — design systems, accessibility audits, competitive analysis, and migration prep

Source
npmnpm
Version
3.0.0
Version published
Weekly downloads
41
-8.89%
Maintainers
1
Weekly downloads
 
Created
Source

tapsite-mcp

Web intelligence toolkit — an MCP server + CLI built with Node.js and Playwright. Designed for authenticated dashboard inspection, design system extraction, and UI analysis. Reuses browser sessions across tool calls so MFA-protected sites only need one manual login.

Installation

# Quick start (no install required)
npx tapsite-mcp

# Or install globally
npm install -g tapsite-mcp
npx playwright install chromium
npx playwright install-deps chromium

Add to your Claude config (~/.claude/.mcp.json):

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

First run: Playwright will install the Chromium browser automatically if not already present. This is a one-time ~150MB download.

Showcase

Click any image to see the full interactive page:

tapsite Product Overview

37 MCP tools for authenticated web intelligence extraction — colors, fonts, performance, accessibility, content, forms, assets, and more.

Design System ExtractionDeep Intelligence
Showcase IShowcase II
Live-extracted colors, fonts, perf, breakpoints, and animations from Stripe, Linear, and VercelAccessibility audits, content extraction, form analysis, asset inventory, component detection

Real World Intelligence

Four real-world scenarios — design system reverse-engineering, competitive intelligence, accessibility auditing, and asset migration prep.

Development setup (from source)

git clone https://github.com/mgriffen/tapsite
cd tapsite
npm install
npx playwright install chromium
npx playwright install-deps chromium

MCP config pointing to local source:

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

Recommended — set transcript cleanup to prevent credentials lingering on disk:

"cleanupPeriodDays": 1

Tools (37)

Session

ToolDescription
tapsite_loginAutomated login (username + password, no MFA)
tapsite_login_manualOpen headed browser for manual login + MFA
tapsite_login_checkVerify authenticated session state
tapsite_navigateNavigate to a URL, returns indexed interactive elements
tapsite_inspectFull DOM inspection (nav, headings, buttons, forms, tables, links)
tapsite_screenshotTake a screenshot of the current page
tapsite_actClick or fill an indexed element from the last inspect/navigate
tapsite_scrollScroll the page
tapsite_run_jsExecute arbitrary JavaScript and return the result
tapsite_closeClose the browser session

Content Extraction

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

Design Tokens

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

Visual Assets

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

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

Network Intelligence

ToolDescription
tapsite_capture_networkCapture network requests during a page load
tapsite_extract_api_schemaInfer API schema from observed network traffic
tapsite_detect_stackDetect frontend framework, libraries, and tech stack

Multi-page

ToolDescription
tapsite_crawlCrawl multiple pages from a start URL
tapsite_diff_pagesCompare two pages and report differences

Advanced

ToolDescription
tapsite_extract_animationsExtract CSS animations and transitions
tapsite_extract_a11yAccessibility audit (ARIA, roles, contrast issues)
tapsite_detect_darkmodeDetect dark mode support and extract dark palette
tapsite_extract_perfExtract performance metrics (Core Web Vitals, resource sizes)

Export

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)

Security

Prompt injection defense

When extracting content from untrusted web pages, tapsite applies two layers of protection:

  • Hidden element filtering — Extractors skip elements with display:none, visibility:hidden, opacity:0, zero-size, and clip-hidden styling. This prevents invisible text (a common prompt injection vector) from entering extraction results. Applied to content, links, forms, and accessibility extractors.

  • Output sanitization — All text returned to the LLM is scanned for prompt injection patterns: instruction overrides, role hijacking, exfiltration attempts, and tool manipulation. Matches are flagged inline as [INJECTION_DETECTED] rather than silently dropped, so both the LLM and user can see what was caught.

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 Anthropic's servers or local transcripts.

License

MIT

Project structure

src/
  server.js        — MCP server entry point
  browser.js       — shared Chromium context (ensureBrowser, closeBrowser)
  helpers.js       — shared helpers (navigateIfNeeded, summarizeResult, indexPage)
  sanitizer.js     — prompt injection detection
  extractors.js    — browser-context extraction functions (page.evaluate())
  exporter.js      — file export: JSON, Markdown, HTML, CSV
  inspector.js     — DOM extraction for inspect/navigate tools
  cli.js           — standalone CLI (login, inspect, session)
  config.js        — paths and defaults
  tools/
    session.js     — login, navigate, inspect, screenshot, act, scroll, run_js, close
    extraction.js  — all extract_* and detect_* tools
    network.js     — capture_network, extract_api_schema, detect_stack
    multipage.js   — crawl, diff_pages
    export.js      — export, export_design_report
profiles/          — browser state / session cookies (gitignored)
output/            — export results (gitignored)

Output formats

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

Keywords

mcp

FAQs

Package last updated on 21 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts