Mmcp.market

Zahori MCP server

by josesepulvedapino·io.github.josesepulvedapino/zahori·v0.1.1

Find the media stream behind any web page: browser-driven HLS/DASH/MP4 with learnable site profiles

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
Growing

3 stars36 downloads/wk

Reviews

Write one

Nobody has reviewed Zahori yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Zahori tools (6, 2 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • zahori_get

    Resolve the media stream behind a page URL using saved profiles or the built-in generic flow. Returns the stream URL, kind, live/VOD, and replay headers.

  • zahori_list_profiles

    List the profiles saved on this machine and in the current project.

  • zahori_probe

    Open a page and gather everything needed to author a profile: media requests seen, iframes, play/consent elements, and whether the generic flow already works. Use this before proposing a profile for a new site.

  • zahori_save_profile

    Persist a profile so later runs are instant and free. Saves to the project (.zahori/profiles, committable) by default so it travels to production and teammates.

  • zahori_test_profilewrite action

    Run a candidate profile against a URL and grade the result with the oracle. ok=true only when a stream was captured AND the oracle confirms it is real media. Iterate on the profile until this passes.

  • zahori_validatewrite action

    Run the oracle on a resolved stream (url + headers) to check it is real media (decodes, has real audio, plausible length).

Public scan report

scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it

no findings
  • Code scan6 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 24 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

What the publisher says

From the Zahori repository's README, as published. We do not edit it. Read it on GitHub

zahori

Find the media stream behind any web page.

A real browser opens the page, dismisses the overlays, presses play, and watches the network until the media request appears. You get the stream URL (HLS, DASH, MP4 or audio) plus the headers needed to replay it.

$ npx zahori get https://example.org/live
https://cdn.example.org/hls/live/master.m3u8

No per-site configuration. No extractor to wait for. If a browser can play it, zahori can find it.

Table of contents

  • Features
  • Why zahori
  • Install
  • CLI
  • Library
  • Profiles: how zahori learns a site
  • Teaching zahori a site
  • The oracle
  • Responsible use
  • API
  • Documentation
  • Contributing

Features

  • Works on any URL, out of the box. A built-in generic flow handles most pages with zero config.
  • Real browser engine. Playwright drives a headless browser in the background; consent banners, play buttons and iframe players are handled automatically, in several languages.
  • Replay headers included. Referer/Origin/UA/Cookie are captured from the real request, so ffmpeg and friends don't get 403'd.
  • HLS-aware. Master vs media playlists, live vs VOD detection, and audio-rendition selection by language for multilingual streams.
  • Learnable. Tricky sites become a small JSON profile, saved once, deterministic forever.
  • Agent-native (MCP). Your coding agent can probe a site, author a profile, test it and save it.
  • Self-healing. zahori heal repairs a profile when the site changes, using a BYO-key model, verified by an objective oracle before anything is saved.
  • DRM-refusing by design. Protected content is detected and rejected, always.

Why zahori

The long tail of the web streams through embedded players that no downloader knows: local TV and radio stations, live event pages, small video portals. yt-dlp is superb for the big platforms it curates extractors for. But the long tail has no extractor, and hand-writing one per site doesn't scale.

They are complementary: use yt-dlp for YouTube, use zahori for the page nobody wrote an extractor for.

Install

npm install -g zahori   # CLI
npm install zahori      # library

Requirements

pnpm users: pnpm blocks dependency build scripts by default, so Playwright won't auto-download a browser. Run the playwright install line above once, or your system Chrome is used as a fallback.

CLI

# Resolve the stream URL behind a page (URL to stdout, everything else to stderr)
zahori get https://tv.example.org/live

# Full result as JSON: url, kind, live/VOD, replay headers, all candidates
zahori get https://tv.example.org/live --json

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Install directly

Runs npx -y zahori on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add zahori -- npx -y zahori
Add to Cursor

Zahori: common questions

Is Zahori MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the Zahori safety report
How do I install Zahori?
It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
Does Zahori need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Zahori maintained?
The last commit was 24 days ago (2026-09-02). The latest release is v0.1.1.
What can I use instead of Zahori?
Servers from other publishers that do the same job: AIHawk MCP server, Anakin MCP server and unbrowser by Unchained MCP server. Compare all Zahori alternatives.

Alternatives to Zahori

Same job from other publishers: the closest match first, then the best rated.

All Zahori alternatives →
  • AIHawk
    AI browser agent: browses, clicks, types, and reads real web pages from plain-English instructions.
    A
  • Anakin
    Web data for AI agents: scrape, crawl, search, deep research, site monitoring, browser automation
    B
  • unbrowser by Unchained
    Chrome-free MCP web access for agents with low-token page maps and browser escalation hints.
    B
  • SeleniumBase MCP
    Stealthy browser automation, testing, and web-scraping via CDP Mode.
    A
  • Scrapeless
    Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
    A

More from josesepulvedapino →