{
  "markdown": "<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/amitsingh-24/PixLint/main/assets/pixlint-logo.png\" alt=\"PixLint\" width=\"128\" height=\"128\" />\n</p>\n\n# PixLint\n\n**Lint, curate, and prepare computer-vision datasets — right from your AI assistant.**\n\n[![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)\n[![License](https://img.shields.io/badge/license-PolyForm%20Strict%201.0.0-orange.svg)](LICENSE)\n[![MCP](https://img.shields.io/badge/MCP-server-purple.svg)](https://modelcontextprotocol.io)\n\nPixLint is an [MCP](https://modelcontextprotocol.io) 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.\n\nIt runs locally over stdio, or self-hosted on the internet over authenticated HTTP.\n\n---\n\n## Why PixLint\n\nMost 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:\n\n- **🩺 Dataset Doctor** — one call runs a full diagnostic and returns a prioritized, *executable* fix plan.\n- **Label-error detection** — automatically surface images that are probably mislabeled.\n- **Natural-language query** — *\"find blurry images with a person on the left\"*, answered over your data.\n- **Weak-slice discovery** — find under-represented or low-quality slices to collect or augment next.\n- **Curation that writes a new dataset** — clean / filter / remap, not just report.\n- **Auto-labeling** with a pretrained detector, and **one-command Hugging Face publishing**.\n\n---\n\n## Features\n\n**103 operations** — 67 tools, 23 resources, 13 prompts.\n\n| Category | What you get |\n|----------|--------------|\n| **Load** | COCO · VOC · YOLO · KITTI · folder, plus cloud (S3 / GCS / Azure) |\n| **Analyze** | Duplicates · quality (blur/exposure/noise/contrast) · integrity · class distribution · embeddings · semantic search · outliers · health score |\n| **Data intelligence** | Dataset Doctor readiness report · label-error detection · natural-language query · weak-slice / bias discovery |\n| **Curate** | Filter to a subset · clean (corrupt / out-of-bounds / degenerate / duplicates) · remap classes — each produces a new dataset |\n| **Augment & transform** | YOLO/classification/segmentation pipelines · resize · normalize · format conversion |\n| **Split** | Stratified / random / temporal / grouped · k-fold · data-leakage detection |\n| **Auto-label** | Pretrained COCO-80 detector → pre-annotated dataset |\n| **Export & publish** | PyTorch · TensorFlow · Ultralytics · HDF5 · WebDataset · FiftyOne · CVAT · LabelMe · Hugging Face Hub |\n| **Pipelines** | Compose multi-step workflows and reuse pre-built templates |\n\n---\n\n## Quick Start\n\n### 1. Install\n\n```bash\npip install pixlint\n```\n\nOptional extras add heavier capabilities:\n\n```bash\npip install \"pixlint[torch]\"        # embeddings, auto-labeling, label-error detection\npip install \"pixlint[huggingface]\"  # Hugging Face export + publishing\npip install \"pixlint[all]\"          # everything\n```\n\n### 2. Connect your AI assistant\n\n**Claude Desktop** — `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"pixlint\": {\n      \"command\": \"pixlint\",\n      \"env\": { \"CV_DATA_DIR\": \"/path/to/your/datasets\" }\n    }\n  }\n}\n```\n\n**Cursor / VS Code** — `.cursor/mcp.json` or `.vscode/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"pixlint\": {\n      \"command\": \"pixlint\",\n      \"env\": { \"CV_DATA_DIR\": \"/path/to/your/datasets\" }\n    }\n  }\n}\n```\n\n`CV_DATA_DIR` is the directory PixLint is allowed to read datasets from.\n\n### 3. Just ask\n\n> *\"Load my dataset at `/data/coco_person`, give it a readiness report, then clean it and export for YOLO.\"*\n\nYour assistant calls the right PixLint tools in sequence — diagnose, clean, split, export — and hands back a training-ready dataset.\n\n---\n\n## Security\n\nPixLint touches the filesystem and can be exposed to a network, so protections run on **every** tool call:\n\n- Paths are confined to your configured data directory (reads **and** writes).\n- Credentials come only from environment variables, never tool inputs.\n- Per-call rate limiting, concurrency limits, and audit logging.\n- Decompression-bomb protection on image decode.\n- Optional bearer-token authentication for the HTTP transport.\n\nSee the [Security Guide](docs/security.md) for the full threat model and the recommended production checklist.\n\n---\n\n## Documentation\n\n| Guide | Description |\n|-------|-------------|\n| [Getting Started](docs/getting_started.md) | Installation, configuration, first steps |\n| [MCP Client Setup](docs/mcp_client_setup.md) | Claude, Cursor, VS Code, and remote/HTTP hosting |\n| [API Reference](docs/api_reference.md) | All 67 tools with parameters |\n| [Security Guide](docs/security.md) | Threat model, configuration, hosting |\n| [Pipeline Templates](docs/pipeline_templates.md) | Pre-built and custom pipelines |\n\nRunnable scripts live in [`examples/`](examples/). See [CHANGELOG.md](CHANGELOG.md) for release notes.\n\n---\n\n## License\n\nPixLint is source-available under the **PolyForm Strict License 1.0.0** — see [LICENSE](LICENSE).\nYou may use it for permitted (noncommercial) purposes; commercial use, redistribution, or\nmodification requires a separate license from the copyright holder. Contributions are welcome\nvia pull request.\n\n---\n\n<sub>mcp-name: io.github.amitsingh-24/pixlint</sub>\n",
  "bytes": 5593,
  "sha": "82372e54de139b10f9b728edc67c29c6422f7c4425705533a709f76e7dfb3f81",
  "repo_slug": "amitsingh-24/pixlint",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_amitsingh_24_pixlint_9ebcaafc/readme"
}