browser-ocr-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@browser-ocr-mcp OCR the image at /home/user/page.png"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
browser-ocr-mcp
MCP server for local OCR via Tesseract.js. Extract text from images and browser screenshots without sending image data to the LLM.
Why
When browsing with Playwright MCP, you often encounter pages where text is embedded in images. Normally you'd send the screenshot to the LLM — slow, bandwidth-heavy. This server runs Tesseract.js locally so the image never leaves your machine.
Related MCP server: vision-mcp
Tools
ocr_image
Extract text from an image file or URL. Zero browser setup required.
Input:
path(string, optional) — Absolute path to a local image fileurl(string, optional) — HTTP URL to download the image from
Output:
{
"text": "The quick brown fox jumps over the lazy dog",
"confidence": 85,
"wordCount": 9
}Typical workflow with Playwright MCP:
1. browser_take_screenshot({ filename: "page.png" })
2. ocr_image({ path: "/home/user/page.png" })
3. → text returned, zero image data sent to LLMbrowser_ocr
Take a screenshot of the current browser page via CDP and OCR it — all in one call. Requires a shared Chromium instance.
Input:
fullPage(boolean, optional) — Capture full scrollable page. Default:false
Setup (one-time):
# Terminal 1: Launch Chromium with debugging port
chromium --remote-debugging-port=9222
# Terminal 2: Start Playwright MCP connected to it
npx @playwright/mcp --cdp-endpoint http://localhost:9222
# Terminal 3: Start OCR MCP server
node server.js --cdp-endpoint http://localhost:9222Install
git clone https://github.com/Ismapik/browser-ocr-mcp.git
cd browser-ocr-mcp
npm installThe first time you run OCR, Tesseract.js downloads English language data (~12 MB). Subsequent runs use the cached data.
MCP Client Config
Add to your MCP client configuration (e.g., mcp.json or Claude Desktop config):
{
"mcpServers": {
"browser-ocr": {
"command": "node",
"args": ["/path/to/browser-ocr-mcp/server.js"],
"env": {
"CDP_ENDPOINT": "http://localhost:9222"
}
}
}
}The CDP_ENDPOINT env var is only needed if you use the browser_ocr tool. The ocr_image tool works without it.
Test
npm testRuns a test suite that:
Starts the MCP server
Calls
ocr_imageon a sample imageVerifies text extraction, confidence, and word count
Tests error handling for missing/invalid inputs
Requirements
Node.js ≥ 18
Chromium (only for
browser_ocrtool)playwright-core(optional, only forbrowser_ocr)
License
MIT
Available Tools
2 toolsbrowser_ocrA
Take a screenshot of the current browser page (via CDP connection to a shared Chromium instance) and extract all visible text using local OCR. Requires Chromium to be running with --remote-debugging-port=9222.
Inputs: fullPage.
ocr_imageA
Extract text from an image file or URL using local Tesseract.js OCR. No data leaves your machine. Accepts a file path (absolute) or an HTTP URL to the image.
Inputs: path, url.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
Both tools perform OCR but on clearly distinct inputs: one captures the current browser page via screenshot, the other processes an image file or URL. No ambiguity in their purposes.
Both tools use a consistent snake_case naming pattern with a source prefix (browser_, ocr_) followed by the action (ocr, image). The pattern is straightforward and predictable.
With only 2 tools, the server is lean but covers the core OCR use cases. While slightly below the typical 3-15 range, it feels appropriately scoped for a focused OCR utility.
The two tools cover the primary OCR scenarios: extracting text from the live browser page and from external images. Minor gaps like language configuration or PDF support exist but are not essential for basic usage.
Related MCP Connectors
Files to text for AI agents: audio/podcast transcription, OCR, video frames, screenshots, web to MD.
OCR text from images and scanned PDFs; pay-per-event via your Apify account.
Extract text from images with OCR: plain text plus every line or word with its box
Extract text from PNG, JPEG, TIFF, WebP, BMP and GIF images with OCR in 27 languages.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceExtracts text from images using Tesseract OCR with support for local files, URLs, and raw image bytes. It provides production-grade OCR capabilities and multi-language support through the Model Context Protocol.40MIT
- AlicenseAqualityDmaintenanceHelps non-vision models extract and understand images and screenshots via OpenRouter multimodal models.219 npm3MIT
- AlicenseNot gradedqualityDmaintenanceGives text-only LLMs local vision by providing a local VLM and OCR via MCP, enabling agents to analyze screenshots and extract text from images.MIT
- AlicenseAqualityCmaintenanceEnables local OCR transcription of images using tesseract.js, with optional low-token AI-generated descriptions, folder batch processing, and compatibility with MCP clients like ChatGPT, Claude, opencode, and Cursor.413 npmMIT