{
  "markdown": "# 🪙 PennyOCR MCP server\n\nA remote [Model Context Protocol](https://modelcontextprotocol.io) server that gives any agent\ndocument-reading eyes: PDFs and images by URL → markdown (tables preserved) or plain text,\nwith **exact cost reporting and hard spend caps**.\n\n**Hosted at `https://mcp.pennyocr.com`** — nothing to install:\n\n```json\n{\n  \"mcpServers\": {\n    \"pennyocr\": {\n      \"url\": \"https://mcp.pennyocr.com\",\n      \"headers\": { \"Authorization\": \"Bearer pk_live_...\" }\n    }\n  }\n}\n```\n\nKeys are free (first 100 pages free) at [pennyocr.com/dashboard](https://pennyocr.com/dashboard/).\nClients that can't set headers: `https://mcp.pennyocr.com/?key=pk_live_...`\n\n## Tools\n\n| Tool | Input | Output |\n| --- | --- | --- |\n| `read_document` | `{url, pages?, output?, max_pages?, max_cost_usd?}` | `{content, pages, cost_usd, citations[]}` |\n| `estimate_cost` | `{url, pages?}` | page count + exact cost — **free** |\n| `check_balance` | `{}` | remaining credits + free-tier allowance — **free** |\n\nThe cost caps refuse *before* any processing, with the numbers — so autonomous agents can\nreason about spend (\"200 pages, $0.15 — proceed\") and can never run past a prepaid balance.\n\n## Transport\n\nStreamable HTTP (JSON-RPC 2.0 over POST), stateless. This repo is the complete server —\na single Cloudflare Worker (`worker.js`) proxying the [PennyOCR API](https://pennyocr.com/docs/).\n\nPricing: $0.75 per 1,000 pages · [pennyocr.com/pricing.txt](https://pennyocr.com/pricing.txt) ·\nAgent onboarding: [pennyocr.com/llms.txt](https://pennyocr.com/llms.txt)\n",
  "bytes": 1550,
  "sha": "79fc573e7a4c4eb1238722577559a97ec2df36fbd0c89ec6dc7ae23814c11efa",
  "repo_slug": "imiraoui/pennyocr-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_pennyocr_ocr_36e6a737/readme"
}