---
title: "ToolPiper Browser Extension: Pipe Page Content to Local AI"
description: "MediaPiper is the ToolPiper browser extension for Chrome, Firefox, and Safari. Pipe page content to local AI for summary, analysis, RAG, or scraping."
date: 2026-05-14
author: "Ben Racicot"
tags: ["Browser Extension", "MediaPiper", "Chrome", "Firefox", "Safari", "Privacy", "macOS"]
type: "article"
canonical: "https://modelpiper.com/blog/toolpiper-browser-extension/"
---

# ToolPiper Browser Extension: Pipe Page Content to Local AI

> MediaPiper is the ToolPiper browser extension for Chrome, Firefox, and Safari. Pipe page content to local AI for summary, analysis, RAG, or scraping.

## TL;DR

MediaPiper is ToolPiper's companion browser extension for Chrome, Firefox, and Safari. It uses ToolPiper's local HTTP API to send the current page (or selected content) to local AI for summary, OCR on images, RAG ingestion, or scraped output. Nothing leaves your Mac.

The browser is where most knowledge work happens. The browser extension surface is how ToolPiper meets you there. MediaPiper is a Chrome, Firefox, and Safari extension that pipes the active page to ToolPiper's local HTTP API. Same over 300 tools, accessed from the page you're already looking at.

## What does MediaPiper actually do?

MediaPiper is a small browser extension that captures the current page (full HTML, readable extract, selection, or screenshot) and POSTs it to ToolPiper's HTTP API. The response comes back as text, structured data, or a screenshot, depending on which tool you invoked. Nothing leaves your Mac.

Four headline actions the extension exposes:

-   **Summarize this page.** Pulls readable content, POSTs to `/chat` with a summarize system prompt. Returns a TL;DR you can paste, save, or use as a starting point for note-taking.
-   **Ingest into RAG.** POSTs page content to `/rag/ingest` with your chosen collection. The page becomes searchable through `/rag/query` later. Great for building a local knowledge base from articles you actually read.
-   **Scrape and convert.** POSTs the URL (not the rendered DOM) to `/scrape`, which uses ToolPiper's CDP-based scraper. Returns one of seven formats: markdown, plain text, readability extract, AX tree, HTML, links list, screenshot.
-   **OCR images on this page.** Iterates over images, sends each to `/vision/ocr`, returns the extracted text. Useful for image-heavy pages where the text isn't selectable.

## How do I install MediaPiper?

Chrome: install from the Chrome Web Store. Firefox: install from addons.mozilla.org. Safari: install through the ToolPiper macOS app (Safari extensions bundle inside the host app on macOS). Each variant talks to the same ToolPiper HTTP API on localhost.

Per-browser specifics:

-   **Chrome (Manifest V3).** Install from the Chrome Web Store. The extension auto-detects whether ToolPiper is running on each browser action click. No configuration required.
-   **Firefox (Manifest V2).** Install from `addons.mozilla.org`. Same auto-detection.
-   **Safari.** Safari extensions on macOS ship inside a host app. The MediaPiper Safari extension comes with the ToolPiper app. Open Safari -> Settings -> Extensions -> enable MediaPiper.

## Does the extension need a token?

No. The extension makes localhost requests to `http://127.0.0.1:9998`, which ToolPiper accepts without authentication. The page content stays on your Mac. There's no shared secret to leak.

The extension's only network access is the localhost call to ToolPiper. It doesn't phone home, doesn't sync state, doesn't have a backend. Inspect the manifest if you're curious. The `permissions` entry doesn't include any remote host that isn't a localhost variant.

## What kinds of pages does it work best on?

Article pages (blogs, news, documentation) work cleanest because the readable-content extraction picks up the body and skips the chrome. Web apps with heavy JavaScript work fine for screenshots and AX tree extraction, less well for plain text. PDFs in the browser work for image-based OCR.

Per content type, expect different results. Articles, blog posts, and docs work cleanest. The readability extract picks up the body, and summarize, ingest, and convert all produce clean output. Single-page applications (Gmail, Notion, Linear) are harder. The DOM-based extractor often misses content, so screenshot + OCR or AX tree extraction is the better path there. PDFs rendered in the browser need a screenshot-per-page + OCR sweep, or pass the file through ToolPiper's `/file/read` with a native PDF parser. Pages behind a login work fine because the extension uses your existing browser session. Logged-in content extracts the same as anonymous content with no re-authentication.

## Can I build my own browser extension that calls ToolPiper?

Yes. The HTTP API is unauthenticated for localhost calls, which means any browser extension running locally can POST to `http://127.0.0.1:9998` and use ToolPiper's tools. MediaPiper itself is a reference implementation. The API surface is identical for any custom extension.

Three things to know if you build one:

1.  Manifest permissions. You need `http://127.0.0.1/*` (Manifest V3 uses `host_permissions`, V2 uses `permissions`). Without it, the browser blocks the localhost request as a cross-origin call.
2.  Handle ToolPiper not running. Check `/health` before issuing tool calls. Show a sane error in the popup if ToolPiper isn't open.
3.  Don't store secrets. The extension itself doesn't need any secrets. ToolPiper handles OAuth tokens, model selection, and provider routing on its side. Keep your extension stateless.

For the API reference, see [ToolPiper HTTP API on Mac](/blog/toolpiper-http-api).

## FAQ

### Why isn't the extension just installed with ToolPiper?

Browser extensions are installed through each browser's store, not through a host app, with the exception of Safari (which actually does install through the host app). The Chrome and Firefox versions ship separately because that's the only path Chrome and Firefox accept for extensions. Safari ships with ToolPiper.

### Does MediaPiper need a server to call?

Yes. ToolPiper has to be running on the same Mac. MediaPiper is a thin client; all the AI work happens inside ToolPiper. If ToolPiper isn't running, MediaPiper surfaces a "ToolPiper isn't reachable" error in the popup.

### What page data does the extension send to ToolPiper?

Whatever action you trigger. Summarize sends the readable extract of the current page. Scrape sends the URL (ToolPiper fetches the page independently). RAG ingest sends the readable extract plus the URL and title as metadata. None of it leaves your Mac.

### Can I trigger MediaPiper from a keyboard shortcut?

Yes. Each browser lets you assign hotkeys to extension actions. In Chrome, `chrome://extensions/shortcuts` exposes the binding. The most common one is binding "Summarize current page" to Cmd-Shift-S or similar.

### Does the extension work with private/incognito browsing?

Yes, if you enable it for incognito mode in the extension settings. The extension itself doesn't persist any browsing history (it stores nothing locally beyond your preferences), so incognito support is purely about whether the browser permits the extension to run there.
