Back to Browse

Iris MCP Server

Developer ToolsModerate5.1MCP RegistryLocal
Free

Server data from the Official MCP Registry

Iris — image facts with pixel-level proof. OCR runs only when requested.

About

Iris — image facts with pixel-level proof. OCR runs only when requested.

Security Report

5.1
Moderate5.1Moderate Risk

Iris is a well-designed image analysis MCP server with strong security fundamentals. The codebase demonstrates careful input validation, proper error handling, and no evidence of malicious patterns or credential exposure. Permissions align appropriately with its image processing purpose. Minor code quality observations around broad exception handling and optional semantic service trust do not materially impact security. Supply chain analysis found 5 known vulnerabilities in dependencies (0 critical, 5 high severity). Package verification found 1 issue.

8 files analyzed · 9 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-sylphxai-iris": {
      "args": [
        "-y",
        "@sylphx/iris"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Merged into anymd (2026-09-25). anymd reads PDFs, Office files, EPUB, web pages, images and video into clean Markdown for AI agents: npx -y @sylphx/anymd. This repository is archived.

Iris

Image facts with pixel-level proof.

Dimensions, format, and metadata by default. Local Tesseract OCR only when requested.

npm license

npm @sylphx/iris · bin iris · MCP io.github.SylphxAI/iris


The problem

A screenshot is not a paragraph. An agent that guesses the text, the size, or the pixels it never measured will cite something it cannot show.

The difference

The askIris returns
“Read this screenshot.”dimensions, format, metadata, and trust warnings. No OCR unless you ask.
“Read the text.”OCR lines with boxes, only when include_ocr is true or profile is quality.
“What changed between these two captures?”changed pixels and a changed box, when both images are the same size.
“Crop this region.”pixel bounds and a hash. PNG bytes only if include_region_image is true.

Iris does not run a generative vision model. A missing Tesseract binary is a gap, not a made-up transcription.

Install

npx -y @sylphx/iris

That starts a stdio MCP server. No API key. OCR needs the tesseract binary on PATH.

Your clientSetup
Any agent / CLInpx -y @sylphx/iris
Claude Codeclaude mcp add iris -- npx -y @sylphx/iris
Claude Desktop / Cursor / VS Code / Codex"command": "npx", "args": ["-y", "@sylphx/iris"]
{
  "mcpServers": {
    "iris": { "command": "npx", "args": ["-y", "@sylphx/iris"] }
  }
}

A read, then text only if you ask

{ "path": "/absolute/path/to/screenshot.png" }

fast, or no profile, returns dimensions, format, metadata, and trust warnings. It does not run OCR.

{
  "path": "/absolute/path/to/screenshot.png",
  "include_ocr": true
}

include_ocr: true, or profile: "quality", runs local Tesseract. Explicit include_ocr: false wins over quality. If Tesseract is missing, status stays ok and gaps includes OCR_UNAVAILABLE.

Reference: tools · defaults

Tools

ToolWhen to call it
read_imageOne local image. Geometry and metadata. OCR only when requested. An optional region crops inside this read.
image_probeFormat, dimensions, pixel count, and source hash. No OCR and no crop.
crop_regionOne citeable region: bounds and hash. Set include_region_image for PNG bytes. No OCR.
compare_imagesChanged pixels between two images of equal dimensions. No OCR.

What it will not pretend

  • GPS fields are always redacted. There is no switch that puts them back.
  • The default file cap is 32 MiB (33,554,432 bytes). A cropped region may not exceed 67,108,864 pixels.
  • compare_images requires equal dimensions. It does not resize either image.
  • OCR lines are {text, bbox, confidence}. The default language is eng.
  • Oversized or undecodable files fail with an error. They are not returned as a successful read.

Companion MCP tools

ProductJob
CitraPDF answers with page-level proof
CueVideo timelines and timestamp evidence
SpineRepository architecture and impact
LocusExact code-chunk retrieval
LookoutWeb research with source excerpts

Each product is independent. Install only the tools your agent needs.

Documentation

Development

bun install
bun test
bun run check
bun run docs:build
cargo test

License

MIT

Reviews

No reviews yet

Be the first to review this server!