# nab

nab turns web pages into clean Markdown, transcribes audio and video, and watches URLs for changes. Processing runs locally.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 17
- Author: MikkoParkkola
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/MikkoParkkola/nab
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/nab

## What it does

nab is a local Rust binary that exposes an MCP server alongside a CLI. It fetches URLs as Markdown and can use browser cookies, while its query-focused extraction keeps returned content suited to an LLM context. Its media command transcribes audio or video, separates speakers, and adds word-level timestamps. Models are installed with `nab models fetch <name>`.

The server can subscribe to URL changes and send updates through MCP resources. Before content reaches the agent, local checks inspect pages for hidden AI-directed instructions and prompt-injection signatures. On Apple Silicon macOS, `fluidaudio` is the default analysis model; `sherpa-onnx` and `whisper` are also supported. Browser rendering needs a configured Chrome DevTools Protocol WebSocket endpoint, because Chromium is not bundled.

## Requirements
- Needs: a prebuilt binary from the repository releases
- Environment variables: `NAB_SSRF_ALLOW_PRIVATE`, `NAB_SSRF_ALLOWLIST`, `NAB_WEBMCP_STRICT`, `NAB_WEBMCP_OPT_IN`, `NAB_STATE_DIR`, `NAB_KEYCHAIN_INTERACTION`, `NAB_OP_BIN`, `NAB_MCP_CLI_BIN`, `NAB_NO_TELEMETRY`, `NAB_TELEMETRY_ENDPOINT` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Install**
- The MCP registry has no launch command for it: see the repository README

## When to use it
- fetch a web page as clean Markdown
- extract page content around a focused query
- transcribe a recording and separate speakers
- watch a URL and receive change notifications
- screen fetched pages for hidden AI instructions

## Example prompts
- Fetch `https://news.ycombinator.com` as Markdown and keep the parts relevant to my question.
- Analyze `interview.mp4`, identify the speakers, and include word timestamps.
- Watch `https://status.openai.com` and notify me when its content changes.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 392262
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33989
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81163
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119231
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47577
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43902

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
