Skip to main content

Model Context Protocol server for AlbumentationsX augmentation discovery, validation, and previews.

Project description

AlbumentationsX MCP

Model Context Protocol server for AlbumentationsX: discovering transforms, validating augmentation pipelines, rendering deterministic previews, and exporting reproducible pipeline specs.

CI PyPI Python MCP Registry

Scope

This project is intentionally a thin MCP layer around existing AlbumentationsX primitives:

  • albu-spec is the source of transform metadata, parameter constraints, targets, and docstrings.
  • albumentationsx remains the execution engine for validation, serialization, and previews.
  • the MCP server exposes resources, tools, and prompts with strict typed schemas and bounded local file access.

The server does not execute arbitrary Python, fetch remote images, overwrite datasets, or train models.

Install

Run the published MCP server without cloning:

uvx --from albumentationsx-mcp albumentationsx-mcp

For local development:

uv sync --all-extras --dev

Run

uv run albumentationsx-mcp

Claude Desktop or another JSON-configured MCP host can launch a local checkout with stdio:

{
  "mcpServers": {
    "albumentationsx": {
      "command": "uv",
      "args": ["run", "albumentationsx-mcp"],
      "cwd": "/path/to/albu-mcp"
    }
  }
}

Installed from PyPI:

{
  "mcpServers": {
    "albumentationsx": {
      "command": "uvx",
      "args": ["--from", "albumentationsx-mcp", "albumentationsx-mcp"]
    }
  }
}

See examples/claude_desktop_pypi_config.json, examples/cursor_mcp_config.json, and examples/codex_mcp_config.toml for copyable host snippets.

Core Tools

  • search_transforms: search transform metadata by query, targets, type, and bbox support.
  • get_transform_schema: inspect a transform schema and constraints.
  • validate_pipeline: validate a typed pipeline spec before running it.
  • recommend_pipeline: create a conservative task preset for classification, detection, segmentation, or OCR.
  • recommend_recipe: return a task-aware starter pipeline, quality profile, feedback tags, and next MCP tools.
  • adjust_pipeline: apply structured preview feedback such as too_noisy or too_blurry.
  • explain_pipeline: summarize likely effects, preview risks, and useful feedback tags.
  • list_feedback_tags: list the structured feedback contract used by adjust_pipeline.
  • list_quality_profiles: list task-aware quality profiles for balanced, classification, detection, segmentation, and OCR review.
  • render_preview: create deterministic local preview artifacts inside an allowed output root.
  • render_preview_batch: create deterministic multi-image preview contact sheets using the same request schema.
  • compare_preview_runs: compare two preview manifests before choosing feedback tags or exporting a pipeline.
  • summarize_tuning_session: summarize quality findings, feedback tags, score, risk, and export readiness.
  • rank_preview_candidates: rank several candidate preview runs against one baseline.
  • score_dataset_preview_candidates: score a candidate set across dataset-level metrics, findings, and ranking.
  • record_tuning_decision: persist a local accepted or rejected tuning decision.
  • list_tuning_decisions: list local tuning decisions newest-first or score-ranked.
  • export_tuning_report: export persisted tuning decisions as Markdown or JSON.
  • export_preview_report: export Markdown or HTML reports with contact sheets, ranking, metrics, and decisions.
  • list_preview_runs: list recent preview manifests recorded under the artifact root.
  • get_preview_manifest: read one recorded preview manifest by run id.
  • delete_preview_run: delete one preview run and its artifacts.
  • cleanup_preview_runs: prune older preview runs beyond a retention count.
  • export_pipeline: export a pipeline as Python, JSON, or YAML.

render_preview and render_preview_batch support optional bboxes, keypoints, and mask paths for annotation overlay previews. Preview manifests include an agent-legible summary block with input counts, seeds, transform names, artifact counts, contact sheets, and warnings.

What Changed In 0.2

  • PyPI and MCP Registry publishing are automated with release version guardrails and post-release smoke checks.
  • render_preview_batch produces batch previews and contact sheets for multi-image review.
  • compare_preview_runs summarizes baseline and candidate manifests to compare preview runs before choosing feedback tags.
  • Preview manifests include reproducibility summaries for seeds, transforms, artifact counts, and contact sheets.
  • agent workflow resources and prompts guide preview tuning, annotation review, feedback adjustment, and final export.

What Changed In 0.3

  • adjust_pipeline accepts optional feedback severity suffixes such as too_noisy:low, too_noisy:medium, and too_noisy:high.
  • compare_preview_runs returns suggested_feedback_tags for candidate transforms that deserve visual review.
  • Suggested tags are review candidates only; the user still chooses feedback after inspecting contact sheets.

What Changed In 0.4

  • compare_preview_runs includes local quality_summary metrics for preview image artifacts.
  • summarize_tuning_session explains baseline-to-candidate feedback, quality deltas, and export readiness.
  • task workflow profiles and docs/RECIPES.md guide classification, detection, segmentation, and OCR MCP host sessions.

What Changed In 0.5

  • quality_summary now includes saturation, colorfulness, entropy, clipping, and deterministic quality findings.
  • Annotation previews record bbox, keypoint, and mask retention observations in preview manifests.
  • compare_preview_runs includes annotation_summary when annotation observations are available.
  • summarize_tuning_session returns quality_score, quality_risk, and structured quality_findings.
  • record_tuning_decision and list_tuning_decisions provide a local JSON-backed tuning decision journal.

What Changed In 0.6

  • Added task-aware quality profiles for balanced, classification, detection, segmentation, and OCR review.
  • Added rank_preview_candidates to choose between multiple candidate preview runs.
  • Added export_tuning_report for Markdown or JSON handoff from the local tuning decision journal.
  • Extended golden MCP evals to cover two-candidate ranking and report export.

What Changed In 0.7

  • Added recommend_recipe for task-aware workflow envelopes around conservative starter pipelines.
  • Added score_dataset_preview_candidates for dataset-level candidate metrics and finding counts.
  • Added export_preview_report for Markdown or HTML visual handoff with contact sheets and decision context.
  • Exposed albumentationsx://recipes/catalog for recipe discovery by MCP hosts.
  • Extended golden MCP evals to cover recipes, dataset scoring, and preview report export.

Demo Workflow

  1. Use recommend_recipe to choose the starter pipeline, quality profile, feedback tags, and next tools.
  2. Call validate_pipeline for the recommended pipeline.
  3. Call render_preview_batch on a small local image set.
  4. Adjust with structured feedback such as too_noisy, too_noisy:high, or too_distorted.
  5. Render one or more candidate preview batches with the same inputs.
  6. Call compare_preview_runs before accepting a candidate and inspect quality_summary.findings.
  7. Call rank_preview_candidates and score_dataset_preview_candidates with the matching quality profile.
  8. Call record_tuning_decision for accepted or rejected candidates.
  9. Call export_preview_report for visual handoff, export_tuning_report for decision history, then export_pipeline.

See docs/USAGE.md for an end-to-end MCP host workflow, docs/RECIPES.md for task-specific host recipes, docs/DEMO.md for a generated preview comparison demo, CHANGELOG.md for release notes, docs/RELEASE.md for the package and MCP Registry release process, server.json for public discovery metadata, and evals/golden_mcp_scenarios.yaml for executable MCP scenarios.

Verification

uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run ty check
uv run python scripts/run_golden_evals.py
uv build

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

albumentationsx_mcp-0.7.0.tar.gz (214.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

albumentationsx_mcp-0.7.0-py3-none-any.whl (50.1 kB view details)

Uploaded Python 3

File details

Details for the file albumentationsx_mcp-0.7.0.tar.gz.

File metadata

  • Download URL: albumentationsx_mcp-0.7.0.tar.gz
  • Upload date:
  • Size: 214.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for albumentationsx_mcp-0.7.0.tar.gz
Algorithm Hash digest
SHA256 5a73a391d027d3df67fa35df84b568b4d289d2d889468e9bcb19a6f6845b5d68
MD5 31d8d384410baf19d29e59ead36c7291
BLAKE2b-256 f499be11c894fc637769e5a55fc064350a70ae95d5144c63fdafa9225705ff2c

See more details on using hashes here.

File details

Details for the file albumentationsx_mcp-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: albumentationsx_mcp-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 50.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for albumentationsx_mcp-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff839f3d6be20bbcf00d98fdc86525ad879a09756c01e1e3efca39ba04cf1d0a
MD5 a726a952c24e612aeb23500955314afc
BLAKE2b-256 70e80b4501b80aed102da179e50234c558ce7d9b0a319f886351f88f192a6b23

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page