Skip to content
Agentmart
Submit a tool

Ultralytics Platform MCP

MCP server for Ultralytics Platform projects, datasets, training, prediction, exports, and models.

Connector by amanharshx · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 10
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/amanharshx-ultralytics-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

MCP server for Ultralytics Platform projects, datasets, training, prediction, exports, and models.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
25 read · 10 write · 9 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 44

Read from the source code; the running server may list different tools.

Read 25 · Look things up without changing anything.

  • auto_annotate_status
  • dataset_class_stats
  • dataset_export
  • dataset_images_list
  • datasets_get
  • datasets_list
  • deployment_get
  • deployment_health
  • deployment_logs
  • deployment_metrics
  • deployment_predict
  • deployments_list
Show 13 more tools
  • explore_datasets
  • explore_projects
  • export_status
  • exports_list
  • gpu_availability
  • model_metrics
  • model_plots
  • model_predict
  • models_get
  • models_list
  • projects_get
  • projects_list
  • training_monitor

Write 10 · Create, change, send or run things.

  • auto_annotate_start
  • dataset_ingest
  • dataset_upload_file
  • dataset_upload_folder
  • dataset_upload_video
  • dataset_version_create
  • datasets_create
  • export_create
  • model_download
  • projects_create

Delete 9 · Delete, drop, revoke or wipe things.

  • auto_annotate_stop
  • dataset_version_restore
  • datasets_delete
  • deployment_stop
  • export_cancel
  • models_delete
  • projects_delete
  • training_cancel
  • training_start

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • ULTRALYTICS_API_KEY

Other settings (environment variables or headers).

  • ULTRALYTICS_API_BASE

Network hosts it talks to 3

  • biomejs.dev · found in code
  • github.com · found in code
  • platform.ultralytics.com · found in code

Files it touches

  • /tmp/model.pt
  • Your home directory (~)
  • Any path the agent passes to its tools

Tools (44)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • auto_annotate_start

    Start an auto-annotation run on a dataset by slug, owner/slug, or a ul://owner/datasets/slug URI, labelling it with a model given by owner/project/model, ul://owner/project/model, or slug with a project (state-changing, billable, may cost credits). Requires confirm_cost=true: there is no cost preview, no published rate, and a 402 signals insufficient credits; gauge magnitude with datasets_get (the unlabeled image count by default, the total count when include_annotated is true). Sends only modelId plus any of confidence, iou, class_mapping, and include_annotated the caller sets explicitly, omi…

  • auto_annotate_statusread-only

    Get an auto-annotation run's status for a dataset by slug, owner/slug, or a ul://owner/datasets/slug URI. Surfaces activeJob and lastRun unmodified: both null means the dataset has never run one; activeJob carries progress for a run in flight; lastRun carries failed/stopped booleans plus results, or an error when the run failed.

  • auto_annotate_stopcan change or delete data

    Stop or dismiss a dataset's auto-annotation run by slug, owner/slug, or a ul://owner/datasets/slug URI. Reads status first and refuses without calling the endpoint when no run is active, since there is nothing to stop. When a run is active it sends the request and surfaces the server's own action verbatim rather than inferring it: cancelled for an active run stopped mid-flight, dismissed for a terminal run's summary being cleared, or none if nothing acted on. Ships ungated, consistent with training_cancel and export_cancel: an off-switch is never gated. An undismissed terminal run does not blo…

  • dataset_class_statsread-only

    Get per-class annotation counts for a dataset by slug, owner/slug, or a ul://owner/datasets/slug URI. By default omits the bulky histogram and heatmap groups (image size, file size, format, points-per-annotation, bbox distributions, and location/dimension heatmaps), naming them in the summary; pass include_histograms: true to get the full payload unmodified.

  • dataset_exportread-only

    Get a time-limited export download link for a dataset by slug, owner/slug, or a ul://owner/datasets/slug URI, for the latest export or one frozen version.

  • dataset_images_listread-only

    List images in a dataset by slug, owner/slug, or a ul://owner/datasets/slug URI with optional filtering.

  • dataset_ingest

    Start a remote URL ingest job for a dataset by slug, owner/slug, or a ul://owner/datasets/slug URI. Defaults conflictPolicy to skip (the platform default is undocumented). Reports the queued job id with the dataset's current ingest status; use datasets_get to follow up.

  • dataset_upload_file

    Upload a local dataset archive through the signed-upload flow for a dataset by slug, owner/slug, or a ul://owner/datasets/slug URI. Defaults conflictPolicy to skip (the platform default is undocumented). Reports the queued job id with the dataset's current ingest status; use datasets_get to follow up.

  • dataset_upload_folder

    Upload a local image folder as a zip through the signed-upload flow for a dataset by slug, owner/slug, or a ul://owner/datasets/slug URI. Defaults conflictPolicy to skip (the platform default is undocumented). Reports the queued job id with the dataset's current ingest status; use datasets_get to follow up.

  • dataset_upload_video

    Upload a local video as extracted frames through the signed-upload flow for a dataset by slug, owner/slug, or a ul://owner/datasets/slug URI. Defaults conflictPolicy to skip (the platform default is undocumented). Reports the queued job id with the dataset's current ingest status; use datasets_get to follow up.

  • dataset_version_create

    Create a frozen dataset version snapshot by slug, owner/slug, or a ul://owner/datasets/slug URI. If the dataset is unchanged since the previous snapshot the existing version is returned instead of a new one.

  • dataset_version_restorecan change or delete data

    Restore a dataset to a previously saved version by slug, owner/slug, or a ul://owner/datasets/slug URI, and an integer version number. Versions are listed via datasets_get (the versions array, already returned unprojected). This REPLACES the dataset's current images, labels, and splits with that snapshot outright: anything done since that version, including un-versioned manual annotation work, is discarded. Ships ungated anyway, since it is the undo tool — an auto-annotate run snapshots a version before labelling, so restoring that version undoes the run exactly, and a mistaken restore is itse…

  • datasets_create

    Create a dataset in your Ultralytics workspace. Defaults to private visibility (the platform defaults to public when visibility is omitted).

  • datasets_deletecan change or delete data

    Delete a dataset by slug, owner/slug, or a ul://owner/datasets/slug URI. Deleting a dataset moves its images and annotations to trash with it; models trained on it are not deleted. Trashed items remain restorable for a bounded window.

  • datasets_getread-only

    Get details for one dataset by slug, owner/slug, or a ul://owner/datasets/slug URI.

Show 29 more tools
  • datasets_listread-only

    List datasets in your Ultralytics workspace.

  • deployment_getread-only

    Get details for one deployment by owner/deployment or a bare slug (owner defaults to the account owner). serviceUrl and deployedAt are null until the deployment reaches status ready.

  • deployment_healthread-only

    Probe one deployment's health by owner/deployment or a bare slug (owner defaults to the account owner). status is the upstream HTTP status the health probe observed at the deployment's own service URL, not the status of this tool call.

  • deployment_logsread-only

    Read log entries for one deployment by owner/deployment or a bare slug (owner defaults to the account owner). severity is passed through to the server unvalidated (illustrative values: DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY); an invalid value returns the server's own rejection message. limit defaults to 50, max 200. nextPageToken pages through older entries.

  • deployment_metricsread-only

    Read metrics for one deployment by owner/deployment or a bare slug (owner defaults to the account owner). The response is one of two shapes selected by sparkline: the default shape carries timeRange (a {start, end} object)/summary/timeSeries, sparkline=true carries requests24h (an array of per-hour points, not a total)/totalRequests/errorRate/avgLatencyMs. The two are never merged; which shape came back is returned as-is. range (e.g. 1h, 24h, 7d; default 24h) is passed through to the server unvalidated.

  • deployment_predictread-only

    Run inference through a deployment's own serving endpoint on a local image or video file, by owner/deployment or a bare slug (owner defaults to the account owner). Returns images/metadata verbatim, including undocumented metadata fields. No per-request cost is documented for this endpoint; costs follow the deployment's own resource configuration. A cold start on a scaled-to-zero deployment may respond slowly or with a 503 — check deployment_health rather than retrying blindly.

  • deployment_stopcan change or delete data

    Stop a deployment by owner/deployment or a bare slug (owner defaults to the account owner). Sends only {action: stop}; the endpoint's start/resize/replace actions are unreachable from this tool. Stopping preserves the deployment's URL and configuration and still counts toward deployment quota; it is a money-off switch and ships ungated, consistent with training_cancel and export_cancel. Stopping an already-stopped deployment is rejected by the server (400) rather than treated as a success. Reversing this (start) is not available in this tool set.

  • deployments_listread-only

    List model deployments in your Ultralytics workspace.

  • explore_datasetsread-only

    Search public datasets on Ultralytics Explore. Matching is currently loose: results need not contain the search term, so even an unrelated query returns datasets.

  • explore_projectsread-only

    Search public projects on Ultralytics Explore.

  • export_cancelcan change or delete data

    Cancel an active export job for a model by owner/project/model, ul://owner/project/model, or slug with a project, plus the export id. Checks the export's status first and sends the cancellation only while it is still active, refusing on any terminal status; the same API verb deletes a finished export's artifact irreversibly instead of cancelling it. The status check cannot be atomic: an export that finishes between the check and the request will have its artifact deleted rather than cancelled, and that deletion cannot be undone.

  • export_create

    Create a model export job by owner/project/model, ul://owner/project/model, or slug with a project (state-changing, may cost credits). The format is validated immediately by the server; task and architecture compatibility is only known when the job runs, so a queued export can still fail. Use export_status and exports_list for the real outcome. Requires confirm_cost=true.

  • export_statusread-only

    Get one export job's status for a model by owner/project/model, ul://owner/project/model, or slug with a project, plus the export id.

  • exports_listread-only

    List export jobs for a model by owner/project/model, ul://owner/project/model, or slug with a project.

  • gpu_availabilityread-only

    Get current cloud-GPU stock status by GPU type.

  • model_download

    Download a trained model's weight file to an explicit local path by owner/project/model, ul://owner/project/model, or slug with a project.

  • model_metricsread-only

    Report a model's best training epoch and its reported metrics, labelled so neither can be mistaken for the other (works for private and public projects). bestEpoch, bestFitness, and bestEpochMetrics are stated only when exactly one trainResults record has the reported bestEpoch and that record's fitness exactly equals the reported bestFitness; otherwise all three are null and bestEpochNote keeps the platform's raw values and says why (older Ultralytics versions reported the last epoch as bestEpoch). reportedMetrics is the model's top-level metrics field verbatim; the API does not say which eva…

  • model_plotsread-only

    Report a model's evaluation plots (per-class pr_curve, f1_curve, precision_curve, recall_curve, confusion_matrix), which model_metrics and training_monitor do not surface. By default lists each plot's type and the shape of its fields (array lengths only, never the values) since one pr_curve alone can carry thousands of numbers on a multi-class model; pass type to get that one plot's data back exactly as the platform returned it, unmodified. Field shapes vary by type: pr_curve/f1_curve/precision_curve/recall_curve carry x/y (and pr_curve additionally ap); confusion_matrix carries a matrix field…

  • model_predictread-only

    Run inference with a trained model on an image URL or base64 image (`source`), or on a local image or video file (`file_path`). Give exactly one.

  • models_deletecan change or delete data

    Soft-delete a model by owner/project/model, ul://owner/project/model, or slug with a project. Deleted models go to trash and remain restorable; weights, training history, and exports are removed only on permanent deletion.

  • models_getread-only

    Get details for one model by owner/project/model, ul://owner/project/model, or slug with a project. Model quality (best epoch and fitness) is not included; use model_metrics, which validates the platform's best-epoch fields.

  • models_listread-only

    List models in a project by slug, owner/slug, or project ul:// URI. Model quality is not included; use model_metrics, which validates the platform's best-epoch fields.

  • projects_create

    Create a project in your Ultralytics workspace. Defaults to private visibility (the platform defaults to public when visibility is omitted).

  • projects_deletecan change or delete data

    Soft-delete a project by slug, owner/slug, or project ul:// URI. Deleted projects land in trash and remain restorable for a bounded window.

  • projects_getread-only

    Get details for one project by slug, owner/slug, or project ul:// URI.

  • projects_listread-only

    List computer-vision projects in your Ultralytics workspace.

  • training_cancelcan change or delete data

    Cancel a running training job by owner/project/model, ul://owner/project/model, or slug with a project. Cancelling releases the compute instance; elapsed GPU time is still charged and the most recently uploaded checkpoint is preserved rather than discarded. This stops the job and does not delete the model.

  • training_monitorread-only

    Report a model's training status and progress (works for private and public projects). reportedCurrentEpoch, reportedProgressPercentage, and etaMs are the training job's own counters, passed through verbatim; after a run ends reportedCurrentEpoch can count a post-training evaluation as an epoch, so it may be one higher than the epochs actually trained, with reportedProgressPercentage inflated to match, and etaMs can stay nonzero. With no training job, progress is reported unavailable rather than inferred. resultRecordCount counts trainResults records, which are not epochs: a history can includ…

  • training_startcan change or delete data

    Start a cloud training job from an existing model or official YOLO base checkpoint (state-changing, may cost credits). Trains on exactly one dataset and requires epochs. The dataset is validated immediately, so an unusable dataset is rejected before any compute starts. In checkpoint mode a project model is created first, then the checkpoint's task is checked against the dataset's task server-side when training starts, by which point the model already exists — a mismatch there still leaves that model behind, unrequested, and the error names it so it can be reviewed and deleted (models_delete) i…

Signals

Stars
10
Forks
1
Open issues
0
Last commit
Oct 9, 2026 (21 days ago)
Last release
Oct 9, 2026 (21 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.amanharshx/ultralytics-mcp
Version
0.1.14
Auth
API key
Packages
npm ultralytics-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026
Cite this page

Ultralytics Platform MCP. Agent Mart. https://agentmart.dev/connectors/amanharshx-ultralytics-mcp (last updated 2026-10-25)