MCP OCR Server
A production-grade OCR server built using MCP (Model Context Protocol) that provides OCR capabilities through a simple interface.
Features
- Extract text from images using Tesseract OCR
- Support for multiple input types:
- Local image files
- Image URLs
- Raw image bytes
- Automatic Tesseract installation
- Support for multiple languages
- Production-ready error handling
Installation
# Using pip
pip install mcp-ocr
# Using uv
uv pip install mcp-ocr
Tesseract will be installed automatically on supported platforms:
- macOS (via Homebrew)
- Linux (via apt, dnf, or pacman)
- Windows (manual installation instructions provided)
Usage
As an MCP Server
- Start the server:
python -m mcp_ocr
- Configure Claude for Desktop:
Add to
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"ocr": {
"command": "python",
"args": ["-m", "mcp_ocr"]
}
}
}
Available Tools
perform_ocr
Extract text from images:
# From file
perform_ocr("/path/to/image.jpg")
# From URL
perform_ocr("https://example.com/image.jpg")
# From bytes
perform_ocr(image_bytes)
get_supported_languages
List available OCR languages:
get_supported_languages()
Development
- Clone the repository:
git clone https://github.com/rjn32s/mcp-ocr.git
cd mcp-ocr
- Set up development environment:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
- Run tests:
pytest
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Security
- Never commit API tokens or sensitive credentials
- Use environment variables or secure credential storage
- Follow GitHub's security best practices
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Metadata
Release files for mcp-ocr 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcp_ocr-0.2.0.tar.gz | 7.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_ocr-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.9 kB
Release files / mcp_ocr-0.2.0.tar.gz
| Download URL | mcp_ocr-0.2.0.tar.gz |
|---|---|
| Size | 7.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
19d282ead353695454933bc0256bee89816bf49af9e5bd3435c56c5fb426015a
|
|
BLAKE2b-256 checksum How to use checksums |
44851f2c3f778d1a7618b7dda0faabe158dcf765ed429ee7e9f505b13d9164a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / mcp_ocr-0.2.0-py3-none-any.whl
| Download URL | mcp_ocr-0.2.0-py3-none-any.whl |
|---|---|
| Size | 9.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0b062b988c7f431dd564b94cd9528023926b0ac3f38b76509ddb8776b7df506d
|
|
BLAKE2b-256 checksum How to use checksums |
eb850b77ff085acd2f57a8663f07ae7ff28fe66dec294315c1b8aa34b15af476
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Security for mcp-ocr 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.