# Image Reader MCP

**Category:** 🎥 Multimedia Process  
**Repository:** https://github.com/SylphxAI/image-reader-mcp  
**GitHub Stars:** 2  
**npm Downloads (last month):** 20636  
**Views:** 11  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/image-reader-mcp

## Description
Evidence-first image MCP. Agent Media Twin with metadata and citeable OCR evidence.

## Tools
Capabilities this server exposes over MCP:

- **inspect** — Document and media evidence when Markdown is not enough. video_timeline (bounded scene/cue timeline) and render_frame (actual decoded frames), and cite_check (quote/location support, not semantic truth), are anymd Pro; PDF operations: inspect (page facts, metadata), render_page (PNG images), extract_regions (crop bounding boxes), ocr_pages / analyze_regions (configured OCR or vision provider), structure (JSON with document map, elements, geometry; profile quality|research adds trust and accessibility reports), compare (page-level diff of sources[0] vs sources[1]).
- **outline** — Return a document heading tree with stable node ids, title paths, page/slide/chapter ranges and Markdown byte ranges. PDF bookmarks or detected headings, Word headings, PowerPoint slides, EPUB chapters and headings, HTML and Markdown. format json (default) or tree. Pass a node id to read to fetch that section.
- **read** — Read any document as clean Markdown: PDF, Word (DOCX), PowerPoint (PPTX), Excel (XLSX/XLS/ODS), CSV, EPUB, HTML or a web URL, Markdown/text, images (metadata + OCR), audio/video (metadata, chapters, subtitles). Pages/slides/sheets carry <!-- page N --> style markers for citation. Long documents stop at max_tokens (default 20000) and end with a cursor to continue; choose pages with pages: "1-5,8". A directory returns its readable files.
- **search** — Search documents for text: one file, many files, whole directories (recursive, .gitignore aware), or URLs, across every format read supports. Returns each hit as file + page/slide/sheet + a snippet with the match in bold. mode auto (default) finds the exact phrase and falls back to BM25-ranked passages when there is none; literal or ranked force one. Narrow directories with glob, e.g. "*.pdf".

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "image-reader-mcp": {
    "command": "npx",
    "args": ["-y","@sylphx/anymd"]
  }
}
```

## Documentation

## What Image Reader MCP MCP server does

Image Reader MCP MCP server exposes local image analysis through the Model Context Protocol. Its main read operation reports image geometry, format, metadata, and trust-related warnings. OCR is opt-in, so ordinary inspection does not invoke a text-recognition process. When requested, OCR results contain recognized text, bounding boxes, and confidence values.

The package is published as `@sylphx/iris` and starts an MCP server over standard input and output.

## How it works

Call `read_image` with a local path to inspect one image. A `region` can limit that read to part of the image. The default or `fast` profile returns image facts without OCR; setting `include_ocr` to true or using the `quality` profile enables local Tesseract. An explicit `include_ocr: false` takes precedence over the quality profile.

`image_probe` provides a narrower inspection containing format, dimensions, pixel count, and a source hash. It does not crop or recognize text. `crop_region` identifies one region with its pixel bounds and hash, and can optionally return PNG bytes for that region. `compare_images` calculates changed pixels and a changed bounding box when both input images have identical dimensions; it does not resize them.

## Setup and configuration

Run the server with:

```text
npx -y @sylphx/iris
```

This requires no API key. OCR additionally requires the `tesseract` executable to be available on `PATH`. Claude Code can register it with `claude mcp add iris -- npx -y @sylphx/iris`. Claude Desktop, Cursor, VS Code, and Codex use an MCP configuration with `npx` as the command and `-y`, `@sylphx/iris` as its arguments.

The default input file limit is 32 MiB. A cropped region may contain up to 67,108,864 pixels. GPS metadata is always redacted, with no configuration option to restore it.

## Tools and capabilities

The Image Reader MCP MCP server provides four focused tools:

- `read_image`: Inspect one local image, optionally within a region, with OCR only when enabled.
- `image_probe`: Return basic image properties and a source hash without OCR.
- `crop_region`: Produce citeable region bounds and a hash, with optional PNG data.
- `compare_images`: Find changed pixels between two same-sized images.

OCR defaults to English, and each OCR line includes `text`, `bbox`, and `confidence`. These outputs support evidence-oriented workflows where an agent should be able to identify the image or region behind a statement.

## Limitations and notes

The Image Reader MCP MCP server does not use a generative vision model. If Tesseract is unavailable, a requested OCR operation remains otherwise successful but reports an `OCR_UNAVAILABLE` gap rather than inventing text. Oversized or undecodable files fail instead of being returned as valid reads.

Comparison only works for images with equal dimensions. Cropping does not itself perform OCR, and probing never crops or reads text. GPS fields remain redacted in all cases. The documented license is MIT.

_Full upstream README: https://allmcps.com/mcp/image-reader-mcp/readme_

