ocr

Read PDFs and images as markdown or text, with exact costs and hard spend caps. $0.75/1k pages.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~311Tokens (tool definitions)
~1.1 KBTypical response size
Minimal attention impact (0.24% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "ocr": {
      "url": "https://mcp.pennyocr.com"
    }
  }
}

Remote endpoints

https://mcp.pennyocr.comstreamable-http

What it can do

Tool inventory

Tools (2)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢read_document(url, pages, output, max_pages, max_cost_usd)

Read a document (PDF or image) from a URL and return its contents as markdown (tables preserved) or plain text. Costs $0.00075 per page, billed to the PennyOCR account; the response includes the exact cost_usd and per-page citations. Use estimate_cost first for big documents. Supports page ranges and hard spend caps.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "http(s) URL of the PDF or image"
    },
    "pages": {
      "type": "string",
      "description": "Page range like '1-20,25'. Default: all pages."
    },
    "output": {
      "type": "string",
      "enum": [
        "markdown",
        "text"
      ],
      "description": "Output format. Default markdown."
    },
    "max_pages": {
      "type": "integer",
      "description": "Refuse (with the numbers) if selection exceeds this many pages."
    },
    "max_cost_usd": {
      "type": "number",
      "description": "Refuse (with the numbers) if the run would cost more than this."
    }
  },
  "required": [
    "url"
  ]
}
🟢estimate_cost(url, pages)

Free: return the page count and exact cost_usd to read a document URL with read_document, without running OCR. Use before reading large documents.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "http(s) URL of the PDF or image"
    },
    "pages": {
      "type": "string",
      "description": "Optional page range like '1-20'."
    }
  },
  "required": [
    "url"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools
verifiedversion not recorded2 tools