Token导航 LogoToken导航

MCP Server · 浏览器工具

Browser Tools Skill

轻量级浏览器自动化工具,通过CLI工具利用现有bash知识实现高效自动化,适用于网页抓取、数据提取和视觉测试等场景。

未说明官方级别未说明来源级核验工具 6
浏览器自动化命令行工具JavaScriptClaude

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
timottowitz
提供方
timottowitz

工具数量

6

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Browser Tools Skill 属于浏览器工具类 MCP Server,公开资料标注 6 个工具,通过传输方式未标注接入,适配 Claude,没有现成的安装命令;接入前要先准备 访问 Token。

分类

浏览器工具

传输方式

未说明

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 6 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

Browser Tools - Lightweight Browser Automation

A token-efficient alternative to MCP servers for browser automation. Uses simple CLI tools that leverage your existing bash knowledge.

Inspired by: Mario Zechner's "What if you don't need MCP at all?"

Why Browser Tools?

Traditional MCP servers for browser automation have significant downsides:

  • 🐌 Consume 13,700-18,000 tokens just for documentation
  • 🤯 Offer 21-26 tools that can confuse AI agents
  • 🔒 Lack composability - all outputs must pass through agent context
  • 😓 Hard to extend and customize

Browser Tools solves this:

  • ⚡ Uses only ~225 tokens for documentation
  • 🧠 Leverages existing bash knowledge
  • 🔗 True Unix composability (pipes, redirects, chaining)
  • 🛠️ Trivial to extend with new tools

Features

  • 🚀 start - Launch Chrome with remote debugging
  • 🌐 navigate - Open URLs in tabs
  • ⚙️ evaluate - Execute JavaScript in page context
  • 📸 screenshot - Capture page images
  • 🎯 pick - Interactive element selector
  • 🍪 cookies - Extract HTTP-only cookies

Quick Install

# Clone the repository
git clone https://github.com/timottowitz/browser-tools-skill.git
cd browser-tools-skill

# Run the install script
./install.sh

That's it! The install script will:

  1. Install npm dependencies (puppeteer-core)
  2. Make all CLI tools executable
  3. Add tools to your PATH in ~/.zshrc or ~/.bashrc
  4. Display usage examples

Manual Installation

If you prefer manual setup:

# 1. Install dependencies
npm install

# 2. Make tools executable
chmod +x bin/*

# 3. Add to PATH (add this to your ~/.zshrc or ~/.bashrc)
export PATH="$(pwd)/bin:$PATH"

# Or create a permanent location:
mkdir -p ~/.local/bin/browser-tools
cp -r bin/* ~/.local/bin/browser-tools/
export PATH="$HOME/.local/bin/browser-tools:$PATH"

# 4. Reload shell
source ~/.zshrc  # or source ~/.bashrc

Requirements

  • Node.js (v14 or higher)
  • npm or yarn
  • Google Chrome installed at default location:

- macOS: /Applications/Google Chrome.app - Linux: google-chrome in PATH - Windows: C:\Program Files\Google\Chrome\Application\chrome.exe

Usage Examples

Basic Usage

# Start Chrome with debugging
start

# Navigate to a website
navigate https://example.com

# Extract data with JavaScript
evaluate "document.querySelector('h1').textContent"
# Returns: "Example Domain"

# Take a screenshot
screenshot example.png

# Get cookies
cookies --domain=example.com

Real-World Example: Scraping Hacker News

# Start browser and navigate
start
navigate https://news.ycombinator.com

# Scrape top 10 stories
evaluate "Array.from(document.querySelectorAll('.titleline')).slice(0, 10).map(el => ({
  title: el.querySelector('a')?.textContent,
  url: el.querySelector('a')?.href,
  domain: el.querySelector('.sitestr')?.textContent
}))" > hackernews.json

# Process with jq
cat hackernews.json | jq '.[].title'

Unix Composability (The Key Advantage!)

# Scrape, filter, and process
navigate https://example.com/products
evaluate "Array.from(document.querySelectorAll('.product')).map(p => ({
  name: p.querySelector('.name').textContent,
  price: p.querySelector('.price').textContent
}))" | jq '.[] | select(.price | tonumber  affordable-products.json

# Chain multiple operations
start && \
  navigate https://example.com && \
  screenshot full-page.png --full-page && \
  evaluate "document.body.innerHTML" | grep -o 'email@.*\.com' > emails.txt

Visual Testing

# Compare before/after
navigate https://example.com
screenshot before.png --full-page

# Make changes to the site...

navigate https://example.com
screenshot after.png --full-page

Using with Claude Code

If you're using this as a Claude Code skill:

  1. Install to ~/.claude/skills/browser-tools/
mkdir -p ~/.claude/skills
git clone https://github.com/timottowitz/browser-tools-skill.git ~/.claude/skills/browser-tools
cd ~/.claude/skills/browser-tools && npm install
  1. The skill.md file provides concise documentation for the AI agent
  1. Add to PATH in your shell config:
export PATH="$HOME/.claude/skills/browser-tools/bin:$PATH"

Tool Reference

start

Launches Chrome with remote debugging enabled.

start [--profile=]

Options:

  • --profile= - Copy and use an existing Chrome profile for authentication

Output: JSON with debugPort, userDataDir, and wsEndpoint

navigate

Opens a URL in Chrome.

navigate  [--new-tab]

Options:

  • --new-tab - Open in a new tab instead of current tab

Output: JSON with final URL and page title

evaluate

Executes JavaScript in the page context.

evaluate 
echo "javascript-code" | evaluate

Input: JavaScript code as argument or stdin

Output: JSON result of the JavaScript evaluation

screenshot

Captures page screenshots.

screenshot [output-file] [--full-page]

Options:

  • output-file - Path to save screenshot (default: screenshot.png)
  • --full-page - Capture entire page instead of viewport

Output: JSON with absolute path and fullPage flag

pick

Interactive element selector with visual overlay.

pick

Usage: Click on page elements to get their selectors

Output: JSON with selector, tag, id, classes, text, and HTML

cookies

Extracts cookies from the current session.

cookies [--domain=]

Options:

  • --domain= - Filter cookies by domain

Output: JSON array of cookies including HTTP-only cookies

Extending Browser Tools

Add new tools by creating Node.js scripts in bin/:

#!/usr/bin/env node
const puppeteer = require('puppeteer-core');

(async () => {
  const browser = await puppeteer.connect({
    browserURL: 'http://127.0.0.1:9222',
    defaultViewport: null
  });

  const pages = await browser.pages();
  const page = pages[pages.length - 1];

  // Your automation logic here

  await browser.disconnect();
})();

Make it executable:

chmod +x bin/your-new-tool

Troubleshooting

Chrome won't start

  • Ensure Chrome is installed at the default location
  • Check if another Chrome instance is using port 9222
  • Kill existing Chrome processes: pkill -f "remote-debugging-port=9222"

Connection refused

  • Make sure Chrome is running (via start)
  • Check that port 9222 is accessible: curl http://127.0.0.1:9222/json

Scripts not found

  • Verify PATH is set correctly: echo $PATH | grep browser-tools
  • Ensure scripts are executable: ls -la bin/
  • Reload your shell: source ~/.zshrc or source ~/.bashrc

Node.js version issues

  • Check version: node --version (need v14+)
  • Update Node.js: Use nvm, brew, or download from nodejs.org

Token Comparison

SolutionTokensToolsComposable
Playwright MCP18,00026❌
Chrome DevTools MCP13,70021❌
Browser Tools2256✅

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Add your tool or enhancement
  4. Test thoroughly
  5. Submit a pull request

License

MIT License - see LICENSE file for details

Credits

Related Projects


Made with ❤️ for efficient browser automation

工具与能力

工具数量

6

资源数量

0

提示词数量

0

能力标签

浏览器自动化JavaScript本地部署CLI工具网页抓取数据提取视觉测试

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

自动操作网页

打开页面、点击、填表,把浏览器动作交给模型执行。

抓结构化数据

把页面内容整理成表格或 JSON,省掉手工复制粘贴。

走一遍关键流程

按步骤检查页面是否正常,回归时少漏环节。

选择建议

值得选的地方

  • 只提供 6 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在浏览器工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到访问 Token的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Browser Tools Skill

MCP World · 本页

6未说明未标注1 个2026-05-17
Fetch 9a2682de

MCP.so

1SSE有3 个2026-05-17
Browser 738d52bc

MCP World

0stdio有1 个2026-05-17
Playwright MCP Server

MCP.so

21stdio有4 个2026-05-17
Skyvern MCP

MCP World

0stdio有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Browser Tools Skill 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Browser Tools Skill 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Browser Tools Skill 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Browser Tools Skill 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Browser Tools Skill 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP