Skip to main content
Glama

OCR Beans

Extrator de texto de processos judiciais brasileiros — via MCP (Claude, ZCode e qualquer cliente MCP), CLI, API web e app desktop.

PDFs de tribunais brasileiros (TJ-SP, TRT, STJ) frequentemente usam fontes proprietárias que nenhuma IA consegue ler: aparentam ter texto, mas a extração devolve lixo. O OCR Beans detecta automaticamente essas fontes corrompidas e aplica OCR somente onde precisa — o resto sai do texto nativo, instantâneo e perfeito.

100% offline. Nenhum dado do processo sai da máquina. LGPD por construção.

Instalação como plugin MCP (Claude Code / Cowork / ZCode)

Os manifests estão na raiz deste repositório (.claude-plugin/ e .zcode-plugin/) — aponte o marketplace ou adicione direto:

# Claude Code (local, sem servidor):
claude mcp add ocr-beans -- uv run --no-project --python 3.12 \
  --with pymupdf==1.28.2 --with pytesseract==0.3.13 \
  --with Pillow==12.3.0 --with mcp==2.3.0 \
  python3 ocr_beans/mcp_server.py

O uv (um bin único) provisiona o Python 3.12 e as dependências automaticamente na primeira execução. Tesseract é opcional: sem ele o texto nativo funciona; para páginas escaneadas, apt install tesseract-ocr tesseract-ocr-por (Linux), brew install tesseract tesseract-lang (macOS) ou o instalador UB-Mannheim (Windows, marcar Portuguese).

Related MCP server: document-intelligence-mcp

Ferramentas (MCP)

Tool

O que faz

check_legibility

Diagnóstico em < 1s: o PDF precisa de OCR?

ocr_pdf

Processo inteiro; ≤30 págs devolve o texto, maiores salvam .txt + resumo

ocr_page

Páginas específicas ("1-5", "3,7,9") — para processos de milhares de fls.

ocr_image

Prints de decisões, fotos de documentos, scans avulsos

batch_ocr

Pasta inteira de PDFs (até 50 por vez)

Cada página sai marcada como TEXTO ou OCR, com o número da folha (fls. N) pronto para citação em petição.

Qualidade — números medidos, não estimados

  • 475/475 páginas com decisão e conteúdo 100% idênticos ao motor do executável original (OCRBeans.exe) — comparação página a página em processos reais do TJSP; motor conferido contra o bytecode do .exe (29 funções, idênticas)

  • 20 páginas/segundo em texto nativo · 1,76 s por página corrompida (Tesseract 300 DPI, por, --psm 6)

  • Determinístico: mesmo arquivo, mesmo texto — sem alucinação de acentos (modelos de visão erraram "DE DIREito" e "JUNDIAI" nesta mesma página que o motor extrai perfeita)

  • Segurança: validação de caminho anti-traversal, limites de DPI/páginas/ tamanho/tamanho de lote, zero chamadas de rede no código

  • Bateria de produção 16/16 (autenticação, 5 tools, rejeições de segurança, concorrência) no conector remoto

Conector remoto (opcional)

Para quem prefere zero instalação: https://mcp.beanstech.io/mcp (MCP Streamable HTTP, autenticação OIDC/Keycloak, hospedado em São Paulo — território nacional). O plugin local não depende dele.

O que mais está incluído

Interface

Uso

Público

MCP Server

tools para Claude Code / agentes AI

Agentes AI

API Web

ocr-beans-api — UI estilo iLovePDF + REST em /api/*

Programas e humanos

CLI

ocr_beans <comando> — terminal

Scripts e automação

App Desktop

ocr_beans_app.py — GUI (Windows/macOS/Linux; .exe com Tesseract embutido via OCR Beans.spec)

Usuário final

Conversões de PDF (estilo iLovePDF)

  • Imagens → PDF · PDF → imagens (zip por página) · PDF → Word (DOCX)

  • Juntar, dividir, extrair páginas, girar, comprimir (−33,6% medido em contrato real), marca d'água, extrair imagens embutidas

Instalação da suíte completa

# Linux
sudo apt install tesseract-ocr tesseract-ocr-por
pip install .            # ou: pip install -r requirements.txt

# Docker (MCP remoto / API)
docker build -t ocr-beans . && docker run -p 8080:8080 ocr-beans

Docs completas em docs/ (API, CLI, MCP, instalação, arquitetura, privacidade).

Licença

MIT — ver LICENSE. Dependências: PyMuPDF (AGPL/comercial), Tesseract (Apache-2.0), Pillow (HPND), MCP SDK (MIT).


BeansTech · https://beanstech.io

Available Tools

5 tools
batch_ocrA

Processa todos os PDFs de um diretório via OCR.

Salva cada resultado como .txt (no mesmo diretório ou em output_directory).
Retorna um resumo com a lista de arquivos processados.

Args:
    directory: Caminho do diretório contendo os PDFs.
    output_directory: Diretório de saída (opcional). Se não informado, salva ao lado dos PDFs.
    dpi: Resolução para OCR (150, 200, 300 ou 400). Default: 300.

Inputs: directory (required), dpi, output_directory. Returns: result

check_legibilityA

Diagnóstico rápido: verifica se um PDF tem fontes corrompidas/proprietárias.

Não faz OCR — apenas analisa o texto nativo da primeira página para determinar
se o documento precisará de OCR. Operação rápida (< 1 segundo).

Args:
    pdf_path: Caminho absoluto do arquivo PDF.

Inputs: pdf_path (required). Returns: result

ocr_imageA

Extrai texto de uma imagem via OCR (Tesseract).

Útil para prints de decisões, páginas escaneadas salvas como imagem,
fotos de documentos etc.

Args:
    image_path: Caminho absoluto da imagem (png, jpg, jpeg, tif, tiff, bmp, webp, gif).
    lang: Idioma do Tesseract (por, eng, por+eng). Default: por.
    psm: Modo de segmentação (3=auto, 6=bloco uniforme, 11=texto esparso). Default: 6.

Inputs: image_path (required), psm, lang. Returns: result

ocr_pageA

Extrai texto de páginas específicas de um PDF.

Útil para PDFs grandes onde você só precisa de algumas páginas,
ou para follow-up após usar ocr_pdf em um documento grande.

Args:
    pdf_path: Caminho absoluto do arquivo PDF.
    pages: Páginas a extrair. Formatos aceitos: "1", "1-5", "1,3,7", "2-4,8".
    dpi: Resolução para OCR (150, 200, 300 ou 400). Default: 300.

Inputs: pages (required), pdf_path (required), dpi. Returns: result

ocr_pdfA

Extrai texto de um PDF. Detecta automaticamente fontes corrompidas (comum em PDFs judiciais brasileiros) e aplica OCR quando necessário.

Para PDFs pequenos (<=30 páginas), retorna o texto completo.
Para PDFs grandes, salva em .txt e retorna o caminho + resumo.

Args:
    pdf_path: Caminho absoluto do arquivo PDF.
    dpi: Resolução para OCR (150, 200, 300 ou 400). Default: 300.
    save_to_file: Forçar salvamento em arquivo .txt mesmo para PDFs pequenos.

Inputs: pdf_path (required), dpi, save_to_file. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 5 tools

    Disambiguation4/5

    Each tool has a fairly distinct target: ocr_image (images), check_legibility (diagnostic), batch_ocr (directory batch), ocr_pdf (full PDF), and ocr_page (specific pages). The only mild overlap is ocr_pdf vs ocr_page, but the descriptions clearly delineate the full-document vs page-subset use cases.

    Naming Consistency4/5

    Three tools share the 'ocr_' prefix (ocr_image, ocr_pdf, ocr_page) and the rest use clear verb_noun forms (check_legibility, batch_ocr). Mostly readable and predictable, though the prefix/suffix placement of 'ocr' varies slightly.

    Tool Count5/5

    Five tools is a tight, well-scoped set for an OCR/PDF extraction domain. Every tool covers a distinct entry point (single image, single PDF, page subset, batch directory, pre-flight diagnostic) with no redundancy.

    Completeness4/5

    The surface covers the core OCR lifecycle well: images, full PDFs, page subsets, batch directories, and a legibility diagnostic. Minor gaps remain (e.g. batch image processing or configurable output formats), but the main workflows are fully supported.

    Related MCP Connectors

    Related MCP Servers

    • -
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables interaction with Brazil's Electronic Judicial Process (PJe) system to search for legal processes, view case details, and download court documents. Supports secure JWT authentication and process lookup by CPF/CNPJ or party name.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Local document intelligence for AI agents — extract text, detect tables, read metadata, analyze structure, search keywords, and detect language from PDF and DOCX files. No cloud API required, no API key needed.
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables AI agents to inspect PDFs, merge or extract pages, and clean text entirely offline through the Model Context Protocol, with no uploads, API keys, or network calls.
      4
      63 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables Brazilian legal practitioners to search and verify case law, súmulas, and federal legislation against official sources, and to audit entire draft documents citation by citation with source provenance, collection dates, and verification status. Every response carries its own verification flag so a failed source lookup never silently becomes "no results", and citations blocked by anti-bot protections are returned as pending manual review with an official search link.
      MIT