Nab logo

Nab

by MikkoParkkola

Fetches web pages as token-efficient Markdown, analyzes media locally, and watches URLs for content changes through MCP.

Install Nab

Run the project’s own setup commands, in order.

Setup steps from the project

MikkoParkkola/nab installs with its own commands rather than a config we can generate, so these are copied as-is. Run them in order in a terminal. Source: github.com

  1. 1. Run
    brew trust --tap MikkoParkkola/tap   # Homebrew 6.0+
    
  2. 2. Install
    brew install MikkoParkkola/tap/nab                            # install
    
  3. 3. Install
    brew tap MikkoParkkola/tap
    
  4. 4. Install
    brew install nab
    
  5. 5. Install
    cargo binstall nab
    
  6. 6. Install
    chmod +x nab-aarch64-apple-darwin
    

Overview

MikkoParkkola/nab is a local Rust MCP server for fetching web pages as clean Markdown, analyzing audio and video, and monitoring URLs for changes. Its fetch tools support browser cookies, query-focused extraction, token budgets, sessions, form submission, 1Password login, and browser fingerprint profiles. Local ASR provides transcription and speaker diarization, while URL watches publish MCP resource notifications when content changes. Reach for it when an agent needs authenticated web research, compact context, media transcription, or recurring page monitoring without a cloud backend.

Use cases

  • Fetch authenticated SaaS pages as compact Markdown
  • Submit web forms that require CSRF tokens
  • Transcribe and diarize local interview recordings
  • Watch status pages and receive change notifications
  • Benchmark or validate web fetching across protocols

Key features

  • Token-budgeted, query-focused Markdown extraction
  • HTTP/2 and HTTP/3 web fetching
  • Browser cookies and 1Password login support
  • Local multilingual transcription and speaker diarization
  • MCP resource notifications for URL changes
  • Local prompt-injection and exfiltration scanning

Tools12

What Nab lets your agent do. Expand a tool for its parameters.

Self-reported~233 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

8/8 checks healthy over the last 89d

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars19Stargazers on the source repository.
Last commit2d agoMost recent push to the default branch.
Tools exposed12Callable tools this server registers over MCP.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How Nab works

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.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Nab

MikkoParkkola/nab is an MCP server that connects AI clients to web pages, local audio and video files, browser cookies, and 1Password credentials. Its main tools fetch URLs as clean Markdown, submit forms, log in, analyze media with transcription and diarization, generate fingerprints, and watch URLs for changes.

Install it with Homebrew, cargo-binstall, or a pre-built binary from GitHub Releases. Homebrew users can tap MikkoParkkola/tap and install nab, then configure their MCP client to launch the accompanying nab-mcp executable over stdio.

Yes, MikkoParkkola/nab works with Cursor. The project provides a Cursor MCP installation link, and Cursor can launch the nab-mcp executable as an MCP server.

Yes, MikkoParkkola/nab can fetch authenticated pages using browser cookies or 1Password credentials. Its login tool supports automatic website login with TOTP or MFA, while auth_lookup identifies credentials for a URL without exposing the password.

Yes, MikkoParkkola/nab can create URL watches that emit MCP resource notifications when content changes. The watch tools also list active monitors and remove them, using conditional requests, semantic differences, and adaptive polling.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewNab AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/mikkoparkkola-nab?style=directory)](https://allmcps.com/mcp/mikkoparkkola-nab)
HTML Embed
<a href="https://allmcps.com/mcp/mikkoparkkola-nab"><img src="https://allmcps.com/api/badge/mikkoparkkola-nab?style=directory" alt="Nab on AllMCPs" /></a>