Ocr Space Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Ocr Space Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Python MCP server for OCR.space - extract text from images and PDFs using OCR.
ocr_file - Extract text from local images/PDFsocr_url - Extract text from images/PDFs at URLsocr_auto - Smart OCR that auto-handles oversized filessplit_pdf - Split large PDFs into API-compatible chunkslist_languages - Show supported OCR languagescheck_tier_status - Verify API configuration# With uv (recommended)
uv sync
# With pip
pip install -e .Get your free API key at ocr.space/ocrapi/freekey.
For PRO features (larger files, EU endpoint), sign up at ocr.space/ocrapi.
Copy .envrc.example to .envrc and configure:
# Required: Free tier API key
export OCR_SPACE_API_KEY="your-free-api-key"
# Optional: PRO tier for GDPR-compliant EU processing
export OCR_SPACE_PRO_API_KEY="your-pro-api-key"
export OCR_SPACE_PRO_ENDPOINT="https://eu.api.ocr.space/parse/image"Then enable with direnv allow.
Add to .mcp.json:
{
"mcpServers": {
"ocr-space": {
"command": "uv",
"args": ["run", "--project", "/path/to/ocr-space-mcp", "ocr-space-mcp"],
"env": {
"OCR_SPACE_API_KEY": "${OCR_SPACE_API_KEY}",
"OCR_SPACE_PRO_API_KEY": "${OCR_SPACE_PRO_API_KEY}",
"OCR_SPACE_PRO_ENDPOINT": "${OCR_SPACE_PRO_ENDPOINT}"
}
}
}
}Add to opencode.json:
{
"mcp": {
"ocr-space": {
"command": "uv",
"args": ["run", "--project", "/path/to/ocr-space-mcp", "ocr-space-mcp"],
"env": {
"OCR_SPACE_API_KEY": "${OCR_SPACE_API_KEY}",
"OCR_SPACE_PRO_API_KEY": "${OCR_SPACE_PRO_API_KEY}",
"OCR_SPACE_PRO_ENDPOINT": "${OCR_SPACE_PRO_ENDPOINT}"
}
}
}
}Check my OCR.space tier statusExtract text from /path/to/document.pdfOCR this image using the PRO tier: /path/to/scan.pngParameters:
| Parameter | Description | Default |
|---|---|---|
file_path | Path to image/PDF (required) | - |
tier | free or pro | free |
language | OCR language code | eng |
ocr_engine | 1 (fast) or 2 (accurate) | 1 |
output_path | Save result to file | - |
output_format | txt or json | txt |
detect_orientation | Auto-rotate image | false |
scale | Upscale low-res images | false |
is_table | Optimize for tables | false |
is_create_searchable_pdf | Generate searchable PDF | false |
Extract text from https://example.com/document.pngThe ocr_auto tool automatically handles files that exceed the API size limits:
OCR this large document: /path/to/big-scan.pdfHow it works:
Parameters: Same as ocr_file, but no size limit errors!
If you just want to split a large PDF without OCR:
Split /path/to/large.pdf for free tier processingCreates multiple smaller PDF files in a temp directory (or specify output_dir).
What OCR languages are supported?Supported languages: Arabic, Bulgarian, Chinese (Simplified/Traditional), Croatian, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hungarian, Italian, Japanese, Korean, Polish, Portuguese, Russian, Slovenian, Spanish, Swedish, Thai, Turkish, Ukrainian, Vietnamese.
Use language=auto with Engine 2 for automatic language detection.
| Feature | Free | PRO |
|---|---|---|
| File size limit | 1 MB | 5 MB |
| Server location | US only | EU available |
| Rate limit | 500/day | Unlimited |
| GDPR compliance | No | Yes (EU endpoint) |
| Price | Free | $30/month |
| Engine | Best For |
|---|---|
| Engine 1 | Faster processing, Asian languages, large images |
| Engine 2 | Auto-language detection, special characters, rotated text |
# Install with dev dependencies
uv sync --extra dev
# Run linter
uv run ruff check .
# Format code
uv run ruff format .
# Run tests
uv run pytest -v
# Run tests with coverage
uv run pytest --cov=ocr_space_mcp --cov-report=term-missingMIT - see LICENSE
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.