Local Rust MCP server fetching URLs as clean markdown with JS rendering, cookie auth, ASR, diarization, and URL change watching.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Nab.
Token-optimized web fetcher + multilingual ASR + URL watcher. MCP 2025-11-25 compliant. Rust. macOS arm64 first, cross-platform.

nab is a single Rust binary that does three things very well: it fetches any URL as clean markdown (with your real browser cookies and anti-bot evasion), it analyzes any audio or video file with on-device multilingual ASR and speaker diarization, and it watches any URL for changes and pushes notifications when content moves. Everything runs locally. There are no API keys to set up by default. The output is shaped for LLM context windows.
Everything is a single local Rust binary. No cloud backend, no API keys by default, output shaped for LLM context windows.
Tell your AI assistant (recommended):
Read https://github.com/MikkoParkkola/nab and install nab as my web fetching and audio analysis MCP server
Your agent will install the binary, wire itself up, and start fetching. Works in Claude Code, Cursor, Windsurf, and any AI with terminal access.
Or install and try manually:
| Command | What it does |
|---|---|
nab fetch <url> | Fetch any URL as clean markdown. HTTP/3, browser cookie injection (Brave / Chrome / Firefox / Safari / Edge / Dia), 1Password auto-login, fingerprint spoofing, fetch-time YARA-X redaction for prompt-injection/exfil signatures, 12 site providers. MCP fetch also supports query-focused extraction, readability, and token budgets. |
nab browser <url> | Explicit opt-in browser rendering for JS-heavy pages through a configured Chrome DevTools Protocol WebSocket endpoint. No Chromium is bundled and default nab fetch never auto-launches a browser or remote provider. |
nab analyze <video|audio> | Transcribe and diarize. FluidAudio (Parakeet TDT v3) on Apple Neural Engine, 131x realtime on a 2-hour clip, word-level timestamps, 25 EU languages, optional Qwen3-ASR for zh/ja/ko/vi, optional active reading via MCP sampling. |
nab watch add <url> | Monitor a URL and push notifications via subscribable MCP resources. RSS for the entire web. Conditional GETs, semantic diff, adaptive backoff. |
nab models fetch <name> | Persistent install of inference model binaries. Supports fluidaudio (default on macOS Apple Silicon), sherpa-onnx (cross-platform Parakeet TDT, ~30Γ realtime CPU), and whisper (universal fallback, whisper-large-v3-turbo, 99 langs). |
nab-mcp | MCP 2025-11-25 server. stdio + Streamable HTTP. 12 tools, 4 prompts, 2+N resources, structured logging, sampling, roots, elicitation. |
nab::content::ocr | Apple Vision OCR engine. 15 languages. Apple Neural Engine accelerated. ~10-50 ms per image. macOS only. |
Web pages increasingly carry instructions written for the AI, not for you β concealed in HTML comments, display:none / aria-hidden text, data-ai / data-mcp / data-agent attribute payloads, or WebMCP manifests. Fetch such a page with a naive tool and those hidden instructions land straight in your model's context, where they can be acted on. This is the prompt-injection-as-phishing class of attack.
nab treats every fetched page as hostile input and runs two local, non-networked guards before any content reaches your agent β on by default, no flag, no setup:
display:none / aria-hidden text, agent-only data-* payloads, WebMCP advertisements) and reports each detection at Info / Warn / Block severity, so you see what a page tried to tell your agent instead of it being silently executed.NAB_YARA_ACTION=refuse to block the fetch outright (or NAB_YARA_BYPASS=1 as an audited emergency opt-out).The net effect: hidden instructions become visible to you, not executed by your model β a strong reason to point your agent at nab fetch instead of a built-in web-fetch tool.
Licensing: both guards are Enterprise Edition modules β free for personal and non-commercial use under PolyForm Noncommercial 1.0.0; commercial / business use requires a commercial license (see COMMERCIAL.md and the License section).
Most users want this path β these are ready-to-run binaries; nothing is compiled on your machine.
If you have cargo-binstall, it fetches the right pre-built binary automatically:
Otherwise download directly from GitHub Releases. Both the nab CLI and the nab-mcp server ship for every platform below, alongside checksums-sha256.txt:
| Platform | CLI binary | MCP server binary |
|---|---|---|
| macOS Apple Silicon | nab-aarch64-apple-darwin | nab-mcp-aarch64-apple-darwin |
| macOS Intel | nab-x86_64-apple-darwin | nab-mcp-x86_64-apple-darwin |
| Linux x86_64 (glibc) | nab-x86_64-unknown-linux-gnu | nab-mcp-x86_64-unknown-linux-gnu |
| Linux x86_64 (static musl) | nab-x86_64-unknown-linux-musl | nab-mcp-x86_64-unknown-linux-musl |
| Linux ARM64 (glibc) | nab-aarch64-unknown-linux-gnu | nab-mcp-aarch64-unknown-linux-gnu |
| Linux ARM64 (static musl) | nab-aarch64-unknown-linux-musl | nab-mcp-aarch64-unknown-linux-musl |
| Windows x64 | nab-x86_64-pc-windows-msvc.exe | nab-mcp-x86_64-pc-windows-msvc.exe |
Example install for macOS Apple Silicon (substitute the filename for your platform):
Builds nab locally β requires the Rust toolchain (1.95 or newer) and takes a few minutes:
If you install nab through more than one channel (for example a Homebrew tap
and cargo install), the copy that wins depends on PATH order. On many
setups /opt/homebrew/bin comes before ~/.cargo/bin, so a Homebrew binary can
shadow a newer cargo-installed one β and nab --version then reports the older
version.
Run the built-in diagnostic to see every nab on your PATH, which one wins,
and their versions:
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mikkoparkkola-nab)<a href="https://allmcps.com/mcp/mikkoparkkola-nab"><img src="https://allmcps.com/api/badge/mikkoparkkola-nab?style=directory" alt="Nab on AllMCPs" /></a>