fetch_iiif_image
Retrieve a IIIF image from a base URI, fetching info.json and returning the image data scaled to roughly 1M pixels total area.
Read IIIF manifests and pull images — whole, or a percentage region zoomed in — already scaled to something a model can actually look at.
LABSCO SUMMARY
A whole page scaled down to 800,000 pixels is legible as a layout and illegible as text. Asking for a percentage region — the bottom third, the marginal note, the signature — returns that area at the same pixel budget, which is enough to transcribe from. The natural loop is manifest first to see what the object contains, then the full image to orient, then regions for the parts you actually want read.
An MCP server for IIIF, the framework libraries, museums and archives use to publish high-resolution images. It fetches manifests, retrieves images through the IIIF Image API, and — the part that matters — scales what it returns to dimensions a model can process, so a gigapixel scan of a manuscript page becomes something answerable.
fetch_iiif_manifestinfo.json read first and the result capped at a 1500px dimension and 800,000 pixels total by default — fetch_iiif_imagepct: followed by x, y, width and height as percentages — scaled to the same limits, which is how you get real detail out of a page instead of a downscaled whole — fetch_iiif_image_regionNo account and no key — IIIF endpoints are public. The npm package name is mcp-iiif-images (1.0.0); install the released .dxt file by double-clicking it in Claude Desktop, or clone and run npm install. Stdio is the default; --http with an optional --port runs it over HTTP streaming on port 3000 by default. It needs the server on the other end to support IIIF Image API scaling: a Level 0 implementation, which serves only pre-generated tiles, will not work. Very large manifests may also be too much JSON for a client to process.
One command — npx -y github:mikeapp/mcp-iiif-images
USE CASES
Fetch the image to see the layout, then zoom into the block of text as a region so the model has enough resolution to transcribe it.
Fetch the manifest and read its structure — pages, sequences, metadata — before pulling any images at all.
Pull the image at a size the model can process and ask for a description, then zoom into the details that the overview flattened.
Give the region in percentage coordinates rather than the whole image, so the text arrives at usable resolution.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
fetch_iiif_imageRetrieve a IIIF image from a base URI, fetching info.json and returning the image data scaled to roughly 1M pixels total area.
fetch_iiif_image_regionRetrieve a specific region of a IIIF image using percentage coordinates, with the region scaled to roughly 1M pixels total area. Use this to fetch regions of interest at higher detail for more accurate image description and analysis.
fetch_iiif_manifestFetch and validate a IIIF manifest from a URL
BEFORE YOU INSTALL
3 tools when we connected.
npx on PATH
CONTEXT COST
Rated by the size of the 3 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Add the block to your client, or run the command directly.
{
"mcpServers": {
"mcp-iiif-images": {
"command": "npx",
"args": [
"-y",
"github:mikeapp/mcp-iiif-images"
]
}
}
}npx -y github:mikeapp/mcp-iiif-images