Perform OCR, object detection, and image matching via an MCP-compatible service.
Install
mkdir -p .claude/skills/ddddocr && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/9598" && unzip -o skill.zip -d .claude/skills/ddddocr && rm skill.zipInstalls to .claude/skills/ddddocr
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
DDDDOCR OCR recognition service with MCP protocol support. Provides optical character recognition, object detection, and slide matching capabilities. Use for: Recognizing text from captcha images, Detecting objects/text regions in images, Matching slide positions for verification codes, Performing any OCR-related tasks through MCP protocol.Key capabilities
- →Recognize text from captcha images
- →Detect objects and text regions
- →Perform slide matching for verification
- →Apply color filters to images
- →Specify character ranges for OCR
How it works
The service runs a local OCR and detection engine that processes images via REST API or MCP tools.
Inputs & outputs
When to use ddddocr
- →Solve captcha images
- →Detect text regions in images
- →Match slide verification images
About this skill
DDDDOCR Service
Quick Start
Start the ddddocr service with all features enabled:
python scripts/start_ddddocr.py
The script automatically:
- Checks if service is already running
- Downloads the latest ddddocr binary for current platform if needed
- Starts service with ocr, det, slide, and mcp features
- Binds to 127.0.0.1:8000 by default
Command Line Tools
Use the provided scripts for quick OCR operations:
OCR Recognition
python scripts/ocr.py <image_path> [--color-filter FILTER] [--charset-range RANGE] [--text-only]
Examples:
python scripts/ocr.py image/3.png
python scripts/ocr.py image/3.png --text-only
python scripts/ocr.py image/3.png --color-filter green --charset-range "0123456789"
Object Detection
python scripts/det.py <image_path> [--json]
Examples:
python scripts/det.py image/3.png
python scripts/det.py image/3.png --json
Slide Matching
python scripts/slide.py <target_path> <background_path> [--algorithm match|comparison] [--simple-target] [--json]
Examples:
python scripts/slide.py image/su.png image/bg.png
python scripts/slide.py image/su.png image/bg.png --algorithm comparison
python scripts/slide.py image/target.png image/bg.png --simple-target --json
Core Capabilities
1. OCR Recognition
Recognize text from images, supports color filtering and character range specification.
Use cases:
- Captcha recognition (numeric, alphanumeric, Chinese)
- Text extraction from images
- Custom character set recognition
Endpoint: POST /ocr
2. Object Detection
Detect text regions and objects in images.
Use cases:
- Point-and-click captcha verification
- Text region localization
- Multiple object detection
Endpoint: POST /det
3. Slide Matching
Match slide images with background positions.
Algorithm 1 (slide-match): Template matching for transparent slides Algorithm 2 (slide-comparison): Difference-based comparison
Use cases:
- Slide captcha verification
- Image positioning
Endpoints: POST /slide-match, POST /slide-comparison
MCP Protocol
The service implements the Model Context Protocol for AI agent integration.
Endpoint: POST http://127.0.0.1:8000/mcp
Available MCP tools:
ocr- OCR recognition with optional color filtering and character rangedet- Object detection returning bounding boxesslide_match- Slide matching (algorithm 1)slide_comparison- Slide comparison (algorithm 2)
See references/mcp.md for MCP protocol details.
REST API
The service also provides a REST API:
| Endpoint | Method | Description |
|---|---|---|
/ocr | POST | OCR recognition |
/det | POST | Object detection |
/slide-match | POST | Slide matching |
/slide-comparison | POST | Slide comparison |
/status | GET | Service status |
/docs | GET | Swagger UI documentation |
See references/api.md for detailed API documentation.
Usage Examples
OCR Recognition
import requests
import base64
with open("image.png", "rb") as f:
image_b64 = base64.b64encode(f.read()).decode()
response = requests.post("http://127.0.0.1:8000/ocr", json={
"image": image_b64,
"color_filter": "green",
"charset_range": "0123456789"
})
print(response.json())
Object Detection
response = requests.post("http://127.0.0.1:8000/det", json={
"image": image_b64
})
print(response.json())
Slide Matching
with open("target.png", "rb") as f:
target_b64 = base64.b64encode(f.read()).decode()
with open("background.png", "rb") as f:
bg_b64 = base64.b64encode(f.read()).decode()
response = requests.post("http://127.0.0.1:8000/slide-match", json={
"target_image": target_b64,
"background_image": bg_b64,
"simple_target": True
})
print(response.json())
Color Filtering
Supported presets: red, blue, green, yellow, orange, purple, cyan, black, white, gray
HSV ranges can also be specified as array of tuples: [(min_h, min_s, min_v), (max_h, max_s, max_v)]
Character Range Values
| Value | Description |
|---|---|
| 0 | Pure integers 0-9 |
| 1 | Pure lowercase a-z |
| 2 | Pure uppercase A-Z |
| 3 | Lowercase + Uppercase |
| 4 | Lowercase + 0-9 |
| 5 | Uppercase + 0-9 |
| 6 | Lowercase + Uppercase + 0-9 |
| 7 | Default full character set |
Custom string can also be used: "0123456789+-x/=?"
Service Status
Check if service is running:
curl http://127.0.0.1:8000/status
Response:
{
"code": 200,
"msg": "success",
"data": {
"service_status": "running",
"enabled_features": ["ocr", "det", "slide", "mcp"]
}
}
When not to use it
- →General purpose document scanning
Prerequisites
Limitations
- →Requires local service running on 127.0.0.1:8000
How it compares
It provides specialized algorithms for captcha-specific tasks like slide matching and color-filtered text recognition.
Compared to similar skills
ddddocr side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| ddddocr (this skill) | 0 | 6mo | Review | Intermediate |
| docetl | 2 | 1mo | Review | Intermediate |
| slm-lab-benchmark | 1 | 5mo | Review | Advanced |
| image-analysis | 0 | 4mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
docetl
ucbepic
Build and run LLM-powered data processing pipelines with DocETL. Use when users say "docetl", want to analyze unstructured data, process documents, extract information, or run ETL tasks on text. Helps with data collection, pipeline creation, execution, and optimization.
slm-lab-benchmark
kengz
Run SLM-Lab deep RL benchmarks, monitor dstack jobs, extract results, and update BENCHMARKS.md. Use when asked to run benchmarks, check run status, extract scores, update benchmark tables, or generate plots.
image-analysis
ComeOnOliver
图片分析与识别,可分析本地图片、网络图片、视频、文件。适用于 OCR、物体识别、场景理解等。当用户发送图片或要求分析图片时必须使用此技能。
robotics-code-generator
HumaizaNaz
Generates clean, runnable ROS 2, Gazebo, Isaac Sim, and VLA code for humanoid robotics
modal
davila7
Run Python code in the cloud with serverless containers, GPUs, and autoscaling. Use when deploying ML models, running batch processing jobs, scheduling compute-intensive tasks, or serving APIs that require GPU acceleration or dynamic scaling.
hugging-face-cli
patchy631
Execute Hugging Face Hub operations using the `hf` CLI. Use when the user needs to download models/datasets/spaces, upload files to Hub repositories, create repos, manage local cache, or run compute jobs on HF infrastructure. Covers authentication, file transfers, repository creation, cache operations, and cloud compute.