mcpField
T
tapsite

tapsite

本地服务
github.com/mgriffen浏览器自动化31 周前更新

关于 tapsite

tapsite 是用于提取网站结构化信息的 MCP 服务,涵盖设计系统、无障碍、性能和技术栈。它结合多页面检查、变更比较与结果导出,面向网站团队和 AI Agent。

主要功能

  1. 01提取设计令牌和资源
  2. 02审计无障碍与性能
  3. 03检测技术栈和 API
  4. 04比较网站并追踪变化
  5. 05导出 JSON、Markdown、HTML 和 CSV

适用场景

  1. 01记录网站设计系统
  2. 02上线前检查无障碍状况
  3. 03比较竞品网站或不同版本
  4. 04盘点网站资源与技术

MCP 相关

tapsite 向兼容 MCP 的 Agent 提供 55 种网站检查工具,涵盖信息提取、审计、比较和导出。它支持 Claude、Cursor 和 Windsurf 等客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mgriffen-tapsite": {
"command": "npx",
"args": [
"-y",
"tapsite"
]
}
}
}
启动命令npx -y tapsite

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmtapsite4.0.1

工具

43

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring是登录页面 URL
passwordstring是密码
usernamestring是用户名
submitSelectorstring否提交按钮选择器
passwordSelectorstring否密码字段选择器
usernameSelectorstring否用户名字段选择器

详细介绍

tapsite

GitHub stars npm downloads License: MIT

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

用于提取 Web 智能信息的 MCP 服务。55 个工具让 AI Agent 能够理解网站——不只是操控浏览器,还能提取有关设计系统、无障碍性、性能、内容等方面的结构化信息。

其他 MCP 浏览器工具让 Agent 点击按钮。tapsite 则能让 Agent 提取完整的调色板、审计 WCAG 对比度、比较两个网站的设计令牌、检测技术栈,或使用自定义 CSS/XPath/正则表达式选择器提取结构化数据——所有结果均为 Agent 可用于推理的结构化 JSON。

55 个工具 · 11 个类别 · 4 个工作流 · 多格式导出

兼容 Claude、Cursor、Windsurf 及任何兼容 MCP 的 AI Agent。即将支持 LangChain/LangGraph 集成。

查看完整文档网站 →

安装

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

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

添加到 AI Agent 的 MCP 配置中:

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

**首次运行:**如果尚未安装,Playwright 会自动安装 Chromium(一次性下载,约 150MB)。

也可通过 MCP Registry 和 Glama 获取。

tapsite 的不同之处

其他浏览器 MCP 工具tapsite
点击按钮提取完整设计系统
填写表单审计 WCAG 无障碍性
截取屏幕截图比较网站随时间的变化
读取原始 HTML检测技术栈和 API
自定义 CSS / XPath / 正则表达式提取
抗机器人能力与代理轮换

提取设计系统——从任何网站提取颜色、字体、间距比例、断点、组件、阴影、图标、CSS 变量和对比度。以结构化 JSON 或 W3C 设计令牌格式输出。

审计质量——无障碍评分与 WCAG 对比度分析、性能计时(Core Web Vitals)、技术栈检测、深色模式支持和动画清单。

比较与跟踪——并排比较两个网站,或基于快照的时间差异跟踪单个网站的变化。自动标记回归和改进。磁盘缓存可让爬取任务从中断处继续,并在不同会话间复用结果。

访问需要登录的网站——支持完整 MFA 的持久化浏览器会话。三级抗机器人升级系统可自动处理受保护的网站,从隐身脚本到代理轮换。手动登录一次,即可在多次工具调用中持续提取内容,无需重新验证身份。凭据绝不会进入聊天内容。

工具(55 个)

会话(8 个)
工具描述
tapsite_login_manual打开可视化浏览器,供用户手动登录并完成 MFA
tapsite_login_check验证已认证的会话状态
tapsite_inspect导航至 URL 并检查 DOM(导航、标题、按钮、表单、表格、链接)
tapsite_screenshot截取当前页面的屏幕截图
tapsite_interact点击或填写上次检查结果中的索引元素
tapsite_scroll滚动页面
tapsite_run_js执行任意 JavaScript 并返回结果
tapsite_close关闭浏览器会话
内容提取(6)
工具描述
tapsite_extract_table将指定表格提取为结构化数据
tapsite_extract_links提取所有链接及其文本和 href
tapsite_extract_metadata提取页面元数据(标题、描述、OG 标签等)
tapsite_extract_content提取主要可读内容(文章正文、标题、段落)
tapsite_extract_forms提取所有表单及其字段、标签和操作
tapsite_extract_markdown将页面内容提取为简洁的 Markdown(raw、fit 或 citations 模式),并支持可选的分块
自定义提取(2)
工具描述
tapsite_extract_custom使用自定义架构(CSS 选择器、XPath 或正则表达式)提取结构化数据
tapsite_extract_schema_suggest分析页面 DOM 并自动建议提取架构
设计令牌(5)
工具描述
tapsite_extract_colors提取配色方案(十六进制值及使用次数)
tapsite_extract_fonts提取字体系列、字号和字重
tapsite_extract_css_vars提取 CSS 自定义属性
tapsite_extract_spacing提取间距比例值
tapsite_extract_shadows提取 box-shadow 和 text-shadow 样式
视觉资源(4)
工具描述
tapsite_extract_images提取所有图片及其 src、alt 和尺寸
tapsite_download_images将图片下载到本地输出目录
tapsite_extract_svgs提取内联 SVG
tapsite_extract_favicon提取 favicon URL 和尺寸
布局智能(3)
工具描述
tapsite_extract_layout提取布局树(内联文本表示)
tapsite_extract_components检测重复的 UI 组件和模式
tapsite_extract_breakpoints从 CSS 媒体查询中提取响应式断点
质量与合规(7)
工具描述
tapsite_extract_a11y无障碍审计(ARIA、角色、对比度问题)
tapsite_extract_contrast审计文本与背景之间的 WCAG 对比度
tapsite_extract_perf提取性能指标(Core Web Vitals、资源大小)
tapsite_extract_security审计安全标头(CSP、HSTS、SRI、权限策略)
tapsite_extract_darkmode检测深色模式支持并提取深色配色方案
tapsite_extract_pwa检测 PWA 支持情况(清单、服务工作线程、可安装性)
tapsite_extract_i18n提取国际化信号(lang、hreflang、翻译)
技术检测(10)
工具描述
tapsite_extract_stack检测前端框架、库和技术栈
tapsite_extract_animations提取 CSS 动画和过渡效果
tapsite_extract_icons检测图标库并提取图标用法
tapsite_extract_graphql检测 GraphQL 端点并检查架构
tapsite_extract_aiml检测 AI/ML 集成(模型、嵌入、推理端点)
tapsite_extract_canvas提取 canvas 和 WebGL 用法模式
tapsite_extract_wasm检测 WebAssembly 模块及其用法
tapsite_extract_web_components检测自定义元素和 shadow DOM 用法
tapsite_extract_third_party清点第三方脚本、跟踪器和服务
tapsite_extract_storage审计客户端存储(cookies、localStorage、sessionStorage、IndexedDB)
网络与 API(2)
工具描述
tapsite_capture_network捕获页面加载期间的网络请求
tapsite_extract_api_schema根据观察到的网络流量推断 API 架构
多页面(2)
工具描述
tapsite_crawl从起始 URL 爬取多个页面
tapsite_diff_pages使用实际提取器比较两个 URL(跨站点),或跟踪一段时间内的变化(时序)
导出(2)
工具描述
tapsite_export将检查结果导出为 JSON + Markdown + HTML 报告 + CSV 表格 + 截图
tapsite_export_design_report完整的设计系统报告:report.html(可视化)、design-tokens.json(W3C 格式)、design-tokens.css(可直接复制粘贴的 :root 变量)
引擎

弹性提取引擎。通过并行浏览器池并发提取页面。持久化磁盘缓存——爬取任务会从中断处恢复,结果可在不同会话间复用。针对受保护站点提供 3 级反机器人升级机制,并自动轮换代理。

工作流(4)
工具描述
tapsite_teardown全面的竞品设计拆解(使用所有提取器)
tapsite_audit上线前质量审计(a11y、对比度、性能、SEO、深色模式)
tapsite_harvest清点站点中的所有资源(图片、SVG、表单、字体、链接)
tapsite_designsystem将设计令牌提取为 W3C JSON 和 CSS 变量

LangChain / LangGraph 集成(即将推出)

原生 LangChain 和 LangGraph 集成已列入路线图。发布后,将提供专用的 Python 包装器,支持工具子集和托管会话生命周期。

安全性

防御提示词注入(过滤隐藏元素 + 清理输出)、强制使用 HTTPS、阻止私有 IP、隐藏认证标头。凭据绝不会进入聊天——可在完整支持 MFA 的情况下手动登录。

提示词注入防御

提取器会跳过隐藏元素(display:none、visibility:hidden、opacity:0、零尺寸、裁剪隐藏),以防止注入不可见文本。所有输出都会扫描提示词注入模式——指令覆盖、角色劫持、数据泄露尝试和工具操纵会以内联方式标记为 [INJECTION_DETECTED]。

凭据安全

切勿通过聊天传递凭据。 使用 tapsite_login_manual 打开有头浏览器并手动登录(包括 MFA),然后使用 tapsite_login_check 确认。凭据绝不会接触 AI 提供商的服务器或本地会话记录。

Docker

tapsite 提供 Dockerfile 和 docker-compose.yml,用于仅无头模式——CI 流水线、服务器部署,或任何不需要本地安装 Node.js 的场景。

docker build -t tapsite .
docker compose up

Docker 中无法使用 tapsite_login_manual(它需要显示器)。若要在 Docker 中使用经过身份验证的会话,请先在本地登录,然后将 profiles/ 目录挂载到容器中:

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

安全提示: profiles/ 包含有效的会话 Cookie。请勿将其提交到版本控制系统(它已包含在 .gitignore 中)。

开发环境设置

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

指向本地源码的 MCP 配置:

{
  "mcpServers": {
    "tapsite": {
      "command": "node",
      "args": ["/absolute/path/to/tapsite/src/server.js"]
    }
  }
}
项目结构
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, designsystem
profiles/          — browser state / session cookies (gitignored)
output/            — export results + snapshots (gitignored)
输出格式
  • output/run-{timestamp}/ — tapsite_export:JSON、Markdown、HTML、截图、CSV 表格
  • output/design-report-{timestamp}/ — tapsite_export_design_report:report.html、design-tokens.json、design-tokens.css
  • output/snapshots/{domain}/ — tapsite_diff_pages 时序快照

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。