nab — Claude Code MCP server: what it does, how to install
nab turns web pages into clean Markdown, transcribes audio and video, and watches URLs for changes. Processing runs locally.
Open on GitHubWhat nab 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.
What it helps with
- 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 for the agent
- Fetch
https://news.ycombinator.comas Markdown and keep the parts relevant to my question. - Analyze
interview.mp4, identify the speakers, and include word timestamps. - Watch
https://status.openai.comand notify me when its content changes.
How to install nab
Install
The MCP registry has no launch command for it: see the repository README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about nab
How do I install nab in Claude Code?
With Homebrew, run brew trust --tap MikkoParkkola/tap, then brew install MikkoParkkola/tap/nab. After that, connect the nab-mcp binary to Claude Code.
What does nab do?
It fetches URLs as clean Markdown, runs local audio and video transcription with speaker diarization, and monitors pages through MCP resources.
What is required for nab browser rendering?
You need a configured Chrome DevTools Protocol WebSocket endpoint. Chromium is not bundled, and the default fetch path does not launch a browser.