A self-hosted OCR server that turns PNG and JPEG images into structured text using local PP-OCRv5 models through HTTP, gRPC and MCP.
View on GitHub ↗Homepage ↗Impossible OCR is a local-first OCR server. Version 0.1 is deliberately scoped to synchronous OCR of static PNG or JPEG raster images with the curated PP-OCRv5 mobile detector and English mobile recognizer bundle. HTTP, unary gRPC, and MCP all use the same bounded pipeline.
The server starts on loopback by default. Liveness is available immediately, while readiness stays false and OCR requests return a stable unavailable error unless the optional ONNX backend is enabled, its exact local bundle is installed, its integrity-bound native runtime is admitted, and every session passes warm-up. This fail-closed behavior is intentional.
- impossible-ocr-domain: validated raster input, options, errors, geometry, and canonical results. - impossible-ocr-protocol: transport-neutral HTTP, gRPC, and MCP boundary contracts. - impossible-ocr-pipeline: backend lifecycle and synchronous pipeline traits. - impossible-ocr-onnx: explicit model lifecycle, bounded graph admission, and optional CPU ONNX Runtime adapter. - impossible-ocr-server: CLI plus bounded HTTP control plane and transport extension modules. - vendor/impossible-server: provisional reviewed source snapshot of the neutral server foundation.
- Product contract - Model admission boundary - Native ONNX Runtime packaging - Deferred work and cross-project lessons
The backlog records possible follow-up work only. It does not block the current v0.1 scope and does not commit the project to dates or features.
From the project README.
Add the radar badge to your README — it shows your project was picked up by MCP Radar and links to this page:
[](https://mcp.liqiwa.com/s/impossibleG--impossible-ocr.html)
A self-hosted embedding server with HTTP, gRPC and MCP APIs, verified model installation, batching, health checks, metrics and Windows and Linux releases.
impossibleG/impossible-voiceA self-hosted speech server with streaming transcription, speech synthesis, verified local model setup, WebSockets, HTTP, gRPC and MCP APIs.
impossibleG/impossible-inferenceA self-hosted token-completion server for local open models, with chat and completion APIs, SSE streaming, WebSockets, gRPC, MCP and verified setup.
mrpulor-gh/nuphus-mcpDesktop automation MCP server — computer use for any AI agent: control screen, windows, mouse/keyboard, and Chrome via Model Context Protocol (stdio)
Goldziher/sceptreEasyOCR's accuracy, Rust's speed and footprint — CRAFT + gen2 CRNN OCR over ONNX, as a library, CLI, and MCP server.
mahingbun-dev/plugin-hubRust 插件中台:契约治理 · 注册发现 · 声明式编排 · 事件总线 · MCP 工具面 / Out-of-process plugin hub in Rust: contracts, discovery, DAG orchestration, event bus, MCP tool surface
The top new MCP servers of the week, every Monday. No spam, unsubscribe anytime.