Skip to content

MikkoParkkola/nab

MCP Browser & Automation

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.

Rust Latest v0.11.0 · 9d ago Security brief →

Features

  • Fetches any URL as clean Markdown with browser cookie injection and anti-bot evasion
  • Performs on‑device multilingual ASR with speaker diarization using Apple Neural Engine or cross‑platform models
  • Watches URLs for changes and pushes notifications via MCP resources

Recent releases

View all 22 releases →
Upgrade now
v0.11.0 Mixed
Dependencies Breaking upgrade

Harden fetch + dep updates + site‑rules routing

v0.7.1 Bug fix

Fixed deserialization of `speakerId` emitted as a JSON string by FluidAudio v0.13+.

Full changelog

Patch release for the speakerId JSON deserialization fix found during the post-v0.7.0 live smoke test of the nab + hebb composition.

The bug

FluidAudio v0.13+ emits speakerId as a JSON string ("1") instead of an integer (1). This broke nab analyze --diarize on fresh FluidAudio installations.

The fix

Custom serde Visitor that accepts i64, u64, or str/String. Both forms deserialize to the same i32 speaker_id. Regression tests added.

Affected

All v0.7.0 users running FluidAudio v0.13+ (the current version installed by nab models fetch fluidaudio). Upgrade to v0.7.1.

Verification

nab analyze /tmp/test_30s.wav --audio-only --diarize --format json
# → 30s audio, 0.24s wall, 123x realtime, 2 speakers identified

Full smoke test of the nab + hebb composition passed after this fix.

v0.7.0 New feature
⚠ Upgrade required
  • Cross‑platform backends (sherpa‑onnx + whisper‑rs) are available behind feature flags for Linux/Windows/Intel macOS
  • nab models fetch fluidaudio now installs the FluidAudio Swift CLI persistently, surviving reboots
Notable features
  • nab analyze v2: FluidAudio (Parakeet TDT v3) on Apple Neural Engine delivering 131× realtime at 97.18% confidence across 25 EU languages plus opt‑in Qwen3‑ASR for zh/ja/ko/vi, with optional speaker diarization and word‑level timestamps
  • URL watch: any URL can be subscribed as an MCP resource; background poller uses conditional GETs, semantic diff, adaptive backoff and emits notifications/resources/updated on change
  • Active reading via MCP sampling: during transcription nab invokes the host LLM to identify references, recursively fetches them with nab fetch, and inlines citations as footnotes
Full changelog

Highlights

nab analyze v2 — multilingual SOTA ASR via FluidAudio (Parakeet TDT v3 on Apple Neural Engine). Live-tested at 131× realtime on a 2h 09m English interview with 97.18% confidence. Optional speaker diarization (PyAnnote community-1), word-level timestamps, and multilingual support across 25 EU languages + opt-in Qwen3-ASR for zh/ja/ko/vi.

URL watch — nab is now RSS for the entire web. Any URL can be a subscribable MCP resource. Background poller with conditional GETs, semantic diff, adaptive backoff. Clients receive `notifications/resources/updated` on change.

Active reading via MCP sampling — during transcription, nab asks the host LLM to identify references and recursively looks them up via `nab fetch`. Inlines citations as footnotes. Novel pattern — no other ASR pipeline does this.

Full MCP 2025-11-25 spec closure — Streamable HTTP transport, structured logging, argument completion, sampling helper, roots helper, `list_changed` notifications, elicitation form + URL mode. Top 1% of MCP servers in the wild.

Apple Vision OCR — 15 languages, ANE-accelerated, zero model download. Integrated into nab fetch (auto-OCRs images with thin/missing alt text, inlines `[Image: ]` annotations in the markdown output).

Cross-platform backends — sherpa-onnx + whisper-rs behind feature flags for Linux/Windows/Intel macOS.

nab + hebb composition — `nab analyze --diarize --include-embeddings` auto-matches speakers against hebb's voiceprint database. `nab fetch` auto-saves URLs to hebb's `kv:urls` namespace. Full sovereign multimodal stack.

nab models fetch fluidaudio — persistent install of the FluidAudio Swift CLI. Survives reboots (no more `/private/tmp` fragility).

Stats

  • 13 commits in this release
  • ~20,000 lines of Rust added
  • 1187 tests passing, 0 errors, 0 deprecation warnings
  • 0 commercial API dependencies in the default composition path

Full changelog

See CHANGELOG.md for the complete list.

Installation

```bash
cargo install nab --version 0.7.0
nab models fetch fluidaudio # one-time: clone + build FluidAudio Swift CLI
nab analyze my-video.mp4 --diarize
```

See docs/getting-started.md for full installation options.

Companion repo

Works standalone, but unlocks more when paired with hebb v0.4.0 (voiceprint DB + MCP-as-database) for named speakers and personal web memory.

v0.6.5 New feature
Notable features
  • All 8 MCP tools advertise outputSchema and return structured_content
Full changelog

Changed

  • All 8 MCP tools now advertise outputSchema + return structured_content
  • Extract truncation constants, consolidate schema helpers
  • Benchmark tool reports error count per URL
  • README: remove unlisted Windows binary, update test count to 907

Fixed

  • Dockerfile: Rust 1.93 + proper build deps for Glama
  • CHANGELOG: correct rust-mcp-sdk version reference
v0.6.4 New feature
Notable features
  • MCP tools `submit`, `login`, `validate` return `structured_content` alongside text
  • MCP `benchmark` tool reports error count per URL instead of silently dropping failures
Full changelog

Fixed

  • Dockerfile: Rust 1.93 (was 1.87), add build-essential/cmake/clang for crypto deps
  • Dockerfile: --no-default-features to skip BoringSSL/QUIC for faster Docker builds

Changed

  • MCP tools submit, login, validate now return structured_content alongside text
  • MCP benchmark tool reports error count per URL instead of silently dropping failures
  • CHANGELOG entries for 0.6.1–0.6.4

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
3
Forks
0
Languages
Rust Python YARA

Install & Platforms

Install via
brew cargo binary
Platforms
macos arm64 linux windows

Beta — feedback welcome: [email protected]