# MikkoParkkola/nab [Health: Active]

**Category:** 🔎 Search & Data Extraction  
**Repository:** https://github.com/MikkoParkkola/nab  
**GitHub Stars:** 19  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/mikkoparkkola-nab

## Description
Ultra-fast web fetcher and MCP server with HTTP/3, JS rendering, anti-fingerprinting, browser cookie auth, and 1Password integration. Fetches any URL as clean Markdown for AI context.

## Tools
Capabilities this server exposes over MCP:

- **fetch** — Fetch a URL and convert it to clean markdown, with cookies, focus, token budget, and session
- **fetch_batch** — Fetch multiple URLs in parallel (HTTP/2 multiplexing, task-augmented async execution)
- **submit** — Submit a web form with CSRF handling and smart field extraction
- **login** — Auto-login to a website with 1Password credentials, including TOTP/MFA
- **auth_lookup** — Look up 1Password credentials for a URL without exposing the password
- **fingerprint** — Generate realistic Chrome, Firefox, or Safari browser fingerprint profiles
- **validate** — Run the validation test suite against real websites (HTTP/2, HTTP/3, TLS 1.3, 1Password)
- **benchmark** — Time URL fetches over multiple iterations with min/avg/max stats
- **analyze** — Transcribe and diarize audio/video with multilingual ASR
- **watch_create** — Create a URL watch that emits MCP resource notifications when content changes
- **watch_list** — List active URL watches with their IDs, URLs, and polling status
- **watch_remove** — Remove a URL watch by ID

## Claude Desktop Quick Installation
No generated config for this server: it installs through its own setup steps.

The project's own setup steps (from https://github.com/MikkoParkkola/nab), copied verbatim. Run them in order; they are not an mcpServers config.

1. Run:

```sh
brew trust --tap MikkoParkkola/tap   # Homebrew 6.0+
```

2. Install:

```sh
brew install MikkoParkkola/tap/nab                            # install
```

3. Install:

```sh
brew tap MikkoParkkola/tap
```

4. Install:

```sh
brew install nab
```

5. Install:

```sh
cargo binstall nab
```

6. Install:

```sh
chmod +x nab-aarch64-apple-darwin
```

## Documentation

## What MikkoParkkola/nab does

MikkoParkkola/nab combines web retrieval, local media analysis, and URL monitoring in one Rust binary. Web pages are returned as clean Markdown shaped for LLM context rather than as raw HTML. Fetching can use browser cookies, focused extraction, readability processing, token budgets, and sessions. The server also supports form submission with CSRF handling and automatic field extraction.

Media analysis runs locally. Audio and video can be transcribed and diarized, with multilingual support, word-level timestamps, and model choices that include FluidAudio, Sherpa-ONNX, Whisper, and optional Qwen3-ASR coverage for Chinese, Japanese, Korean, and Vietnamese. Apple Vision OCR is available on macOS.

URL watches use MCP resources to notify clients about changes. The watcher supports conditional requests, semantic differences, adaptive polling, and RSS-style monitoring for arbitrary web pages.

## How it works

The `nab-mcp` executable exposes the MCP interface over stdio and Streamable HTTP. Fetching uses HTTP/2 and HTTP/3 capabilities, with optional JavaScript rendering through a configured Chrome DevTools Protocol WebSocket endpoint. Browser rendering is explicitly enabled rather than automatically started by ordinary fetches.

All processing is local by default, and no API keys are required for the basic setup. Browser cookies can be read from supported browsers, while 1Password integration can look up credentials and perform logins that include TOTP or MFA. A fingerprint tool can create Chrome, Firefox, or Safari profiles.

Fetched content is also checked by local prompt-injection defenses. Hidden machine-directed markup is surfaced or removed, and YARA-X signatures can redact suspicious prompt-injection, exfiltration, secret-leak, or obfuscation content. The default behavior is to redact matched sections; refusal and audited bypass options are available through environment variables.

## Setup and configuration

Install the binary with Homebrew on macOS, `cargo binstall`, or a pre-built binary from the GitHub releases. The release artifacts include both the `nab` command-line tool and the `nab-mcp` server for macOS, Linux, and Windows targets. A Rust toolchain is not needed when using a pre-built binary.

Configure an MCP client to launch `nab-mcp` for stdio transport, or use its Streamable HTTP endpoint. The project specifically describes use with Claude Code, Cursor, Windsurf, and VS Code. Download inference models separately with the `nab models fetch` command; available model families include FluidAudio, Sherpa-ONNX, and Whisper.

## Tools and capabilities

- `fetch` retrieves one URL as clean Markdown with cookies, focus, token-budget, and session controls.
- `fetch_batch` retrieves multiple URLs in parallel.
- `submit` sends web forms with CSRF handling and smart field extraction.
- `login` performs website login using 1Password credentials, including TOTP or MFA.
- `auth_lookup` finds 1Password credentials for a URL without returning the password.
- `fingerprint` generates browser fingerprint profiles for Chrome, Firefox, or Safari.
- `analyze` transcribes and diarizes audio or video with multilingual ASR.
- `watch_create`, `watch_list`, and `watch_remove` manage URL monitors and their MCP resource notifications.
- `validate` exercises protocol, transport, TLS, and 1Password-related checks against real sites; `benchmark` measures repeated URL fetches with minimum, average, and maximum timings.

The server also exposes MCP prompts, resources, structured logging, sampling, roots, and elicitation capabilities. Its security modules are free for personal and non-commercial use under PolyForm Noncommercial 1.0.0; commercial or business use requires a commercial license.

_Full upstream README: https://allmcps.com/mcp/mikkoparkkola-nab/readme_

