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
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.
About
Reviews
Write a reviewNo 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_statusdataset_class_statsdataset_exportdataset_images_listdatasets_getdatasets_listdeployment_getdeployment_healthdeployment_logsdeployment_metricsdeployment_predictdeployments_list
Show 13 more tools
explore_datasetsexplore_projectsexport_statusexports_listgpu_availabilitymodel_metricsmodel_plotsmodel_predictmodels_getmodels_listprojects_getprojects_listtraining_monitor
Write 10 · Create, change, send or run things.
auto_annotate_startdataset_ingestdataset_upload_filedataset_upload_folderdataset_upload_videodataset_version_createdatasets_createexport_createmodel_downloadprojects_create
Delete 9 · Delete, drop, revoke or wipe things.
auto_annotate_stopdataset_version_restoredatasets_deletedeployment_stopexport_cancelmodels_deleteprojects_deletetraining_canceltraining_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 codegithub.com· found in codeplatform.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_startStart 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-onlyGet 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 dataStop 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-onlyGet 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-onlyGet 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-onlyList images in a dataset by slug, owner/slug, or a ul://owner/datasets/slug URI with optional filtering.
dataset_ingestStart 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_fileUpload 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_folderUpload 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_videoUpload 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_createCreate 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 dataRestore 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_createCreate a dataset in your Ultralytics workspace. Defaults to private visibility (the platform defaults to public when visibility is omitted).
datasets_deletecan change or delete dataDelete 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-onlyGet details for one dataset by slug, owner/slug, or a ul://owner/datasets/slug URI.
Show 29 more tools
datasets_listread-onlyList datasets in your Ultralytics workspace.
deployment_getread-onlyGet 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-onlyProbe 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-onlyRead 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-onlyRead 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-onlyRun 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 dataStop 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-onlyList model deployments in your Ultralytics workspace.
explore_datasetsread-onlySearch 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-onlySearch public projects on Ultralytics Explore.
export_cancelcan change or delete dataCancel 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_createCreate 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-onlyGet 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-onlyList export jobs for a model by owner/project/model, ul://owner/project/model, or slug with a project.
gpu_availabilityread-onlyGet current cloud-GPU stock status by GPU type.
model_downloadDownload 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-onlyReport 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-onlyReport 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-onlyRun 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 dataSoft-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-onlyGet 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-onlyList 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_createCreate a project in your Ultralytics workspace. Defaults to private visibility (the platform defaults to public when visibility is omitted).
projects_deletecan change or delete dataSoft-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-onlyGet details for one project by slug, owner/slug, or project ul:// URI.
projects_listread-onlyList computer-vision projects in your Ultralytics workspace.
training_cancelcan change or delete dataCancel 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-onlyReport 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 dataStart 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
- Repository
- github.com/amanharshx/ultralytics-mcp
- 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)