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 | |
|---|---|---|---|
| mcp_ocr-0.2.0.tar.gz | 7.8 kB | 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
|