MCP server for managing, analyzing, and optimizing computer vision datasets
Project description
PixLint
Lint, curate, and prepare computer-vision datasets — right from your AI assistant.
PixLint is an MCP server that gives AI assistants — Claude, Cursor, VS Code, and any MCP client — direct, conversational access to a complete computer-vision dataset toolkit: analyze quality, find duplicates and label errors, clean and curate, split, augment, convert formats, and export to every major training framework.
It runs locally over stdio, or self-hosted on the internet over authenticated HTTP.
Why PixLint
Most dataset tooling is either a paid SaaS or a heavy GUI app. PixLint is a single, open-source, self-hostable server an AI agent can drive end to end — and it does things others keep behind paid tiers:
- 🩺 Dataset Doctor — one call runs a full diagnostic and returns a prioritized, executable fix plan.
- Label-error detection — automatically surface images that are probably mislabeled.
- Natural-language query — "find blurry images with a person on the left", answered over your data.
- Weak-slice discovery — find under-represented or low-quality slices to collect or augment next.
- Curation that writes a new dataset — clean / filter / remap, not just report.
- Auto-labeling with a pretrained detector, and one-command Hugging Face publishing.
Features
103 operations — 67 tools, 23 resources, 13 prompts.
| Category | What you get |
|---|---|
| Load | COCO · VOC · YOLO · KITTI · folder, plus cloud (S3 / GCS / Azure) |
| Analyze | Duplicates · quality (blur/exposure/noise/contrast) · integrity · class distribution · embeddings · semantic search · outliers · health score |
| Data intelligence | Dataset Doctor readiness report · label-error detection · natural-language query · weak-slice / bias discovery |
| Curate | Filter to a subset · clean (corrupt / out-of-bounds / degenerate / duplicates) · remap classes — each produces a new dataset |
| Augment & transform | YOLO/classification/segmentation pipelines · resize · normalize · format conversion |
| Split | Stratified / random / temporal / grouped · k-fold · data-leakage detection |
| Auto-label | Pretrained COCO-80 detector → pre-annotated dataset |
| Export & publish | PyTorch · TensorFlow · Ultralytics · HDF5 · WebDataset · FiftyOne · CVAT · LabelMe · Hugging Face Hub |
| Pipelines | Compose multi-step workflows and reuse pre-built templates |
Quick Start
1. Install
pip install pixlint
Optional extras add heavier capabilities:
pip install "pixlint[torch]" # embeddings, auto-labeling, label-error detection
pip install "pixlint[huggingface]" # Hugging Face export + publishing
pip install "pixlint[all]" # everything
2. Connect your AI assistant
Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"pixlint": {
"command": "pixlint",
"env": { "CV_DATA_DIR": "/path/to/your/datasets" }
}
}
}
Cursor / VS Code — .cursor/mcp.json or .vscode/mcp.json:
{
"mcpServers": {
"pixlint": {
"command": "pixlint",
"env": { "CV_DATA_DIR": "/path/to/your/datasets" }
}
}
}
CV_DATA_DIR is the directory PixLint is allowed to read datasets from.
3. Just ask
"Load my dataset at
/data/coco_person, give it a readiness report, then clean it and export for YOLO."
Your assistant calls the right PixLint tools in sequence — diagnose, clean, split, export — and hands back a training-ready dataset.
Security
PixLint touches the filesystem and can be exposed to a network, so protections run on every tool call:
- Paths are confined to your configured data directory (reads and writes).
- Credentials come only from environment variables, never tool inputs.
- Per-call rate limiting, concurrency limits, and audit logging.
- Decompression-bomb protection on image decode.
- Optional bearer-token authentication for the HTTP transport.
See the Security Guide for the full threat model and the recommended production checklist.
Documentation
| Guide | Description |
|---|---|
| Getting Started | Installation, configuration, first steps |
| MCP Client Setup | Claude, Cursor, VS Code, and remote/HTTP hosting |
| API Reference | All 67 tools with parameters |
| Security Guide | Threat model, configuration, hosting |
| Pipeline Templates | Pre-built and custom pipelines |
Runnable scripts live in examples/.
License
PixLint is source-available under the PolyForm Strict License 1.0.0 — see LICENSE. You may use it for permitted (noncommercial) purposes; commercial use, redistribution, or modification requires a separate license from the copyright holder. Contributions are welcome via pull request.
mcp-name: io.github.amitsingh-24/pixlint
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pixlint-1.0.2.tar.gz.
File metadata
- Download URL: pixlint-1.0.2.tar.gz
- Upload date:
- Size: 103.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46643cbbf62de6b70c2a07fd349d255a30d5ea80676f78db9de658f67230b9ca
|
|
| MD5 |
9935260a21898227cd3e8dd16fbad115
|
|
| BLAKE2b-256 |
a96c300cffed9a96e9dee66acf01844eb22dc7df017b89a6e0e32939e8a0e639
|
Provenance
The following attestation bundles were made for pixlint-1.0.2.tar.gz:
Publisher:
deploy.yml on amitsingh-24/PixLint
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pixlint-1.0.2.tar.gz -
Subject digest:
46643cbbf62de6b70c2a07fd349d255a30d5ea80676f78db9de658f67230b9ca - Sigstore transparency entry: 2220025007
- Sigstore integration time:
-
Permalink:
amitsingh-24/PixLint@0220c3f7161148e49b3fc602d345b6297f6cbe7c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/amitsingh-24
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
deploy.yml@0220c3f7161148e49b3fc602d345b6297f6cbe7c -
Trigger Event:
push
-
Statement type:
File details
Details for the file pixlint-1.0.2-py3-none-any.whl.
File metadata
- Download URL: pixlint-1.0.2-py3-none-any.whl
- Upload date:
- Size: 123.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fc0e0bcf0059e2f1f5dad7978dddea63a5b07546ec77cb2235da1eb0091dd35
|
|
| MD5 |
31c2fb3ef96a6056d50d28b60eb1bfdb
|
|
| BLAKE2b-256 |
ee42413c084fad552bf790f334598aa3bc2c666ff8221bc11ac6420a86af90dd
|
Provenance
The following attestation bundles were made for pixlint-1.0.2-py3-none-any.whl:
Publisher:
deploy.yml on amitsingh-24/PixLint
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pixlint-1.0.2-py3-none-any.whl -
Subject digest:
6fc0e0bcf0059e2f1f5dad7978dddea63a5b07546ec77cb2235da1eb0091dd35 - Sigstore transparency entry: 2220025021
- Sigstore integration time:
-
Permalink:
amitsingh-24/PixLint@0220c3f7161148e49b3fc602d345b6297f6cbe7c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/amitsingh-24
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
deploy.yml@0220c3f7161148e49b3fc602d345b6297f6cbe7c -
Trigger Event:
push
-
Statement type: