Roboflow (Official)
com.roboflow/roboflow-mcpRoboflow computer vision for AI assistants: datasets, annotation, versioning, workflows, inference.
Tools · 67
Chat with the Roboflow AI agent. Use this tool for: - **Roboflow Q&A** — the agent has the full Roboflow documentation indexed (SDKs, REST API, deployment options, training, batch processing, Un…
List Roboflow agent conversations in the workspace. Returns conversation metadata (id, name, source, timestamps, linked workflow ids). Use ``agent_conversation_get`` to load the full message history …
Get a single agent conversation with its full message history. Returns the conversation metadata and the ordered list of messages (role + text parts). Pass the same ``conversation_id`` back to ``agen…
Publish the latest agent-edited draft of a workflow. The agent never publishes on its own — every workflow it creates or edits is saved as a draft. This tool promotes the latest draft to a published …
List all projects in the workspace associated with the API key. Returns a list of projects with id, name, type, image count, and more.
Create a new computer vision project. Returns the created project's id, name, type, and url.
Get dataset health check for a project. Running this for the first time or with regenerate=True might take up to a couple minutes. Returns class balance, image quality issues, annotation statistics,…
Get detailed info about a project including versions, classes, splits, and trained models. Returns full project details with workspace, project info, versions, and classes.
Enqueue an async fork of a public Universe project into your workspace. Provide either a Universe `url` or `source_project`. Returns the platform's 202 payload verbatim — at minimum `{ taskId, url }`…
Get an upload URL to upload a single image to a project. Returns a pre-built upload URL and instructions. The caller must perform the actual upload using curl since the MCP server cannot access local…
Prepare a zip upload of images and annotations to a project. Supports zip archives containing images with COCO, YOLO, Pascal VOC, or classification-by-folder annotations. Up to 2 GB / 10k files. Ret…
Check the status of a zip upload task. Returns status (created, running, completed, failed), progress, and result when completed (uploaded count, duplicates, annotation errors, etc.).
Search for images inside a project.
Search images inside a public Universe dataset URL. The MCP app runs inside a host iframe, so URL parsing belongs on the server. This tool accepts the selected Universe result URL and derives the wor…
Save an annotation for an existing image.
Start a hosted auto-label job over a batch of images. Returns ``{jobId, annotationJobId, message}``. Poll progress with ``autolabel_job_get`` using the returned ``jobId``.
Get per-subjob status and progress for an auto-label job. Returns status, model/project type, image counts, subjob progress, ontology, confidence thresholds, and the linked annotation job id.
List upload batches in a project. Returns a list of batches with id, name, image count, and upload info.
Get details about a specific batch. Returns batch details including image count and status.
Create an annotation job to assign a batch of images to a labeler. Returns the created job details including id, name, and status.
Create a new dataset version with optional preprocessing and augmentation. IMPORTANT: Before calling this tool, you MUST ask the user which preprocessing and augmentation options they want to apply. …
Get info about a dataset version including splits and model metrics. Returns version details with id, name, images, splits, preprocessing, augmentation, and model info if trained.
Check or trigger a dataset export for a version.
List trained models associated with a project. Each row carries metrics and (for NAS children) `nasFamily`, `group`, `train.results.{hardware,latency,map5095,paretoOptimalFor}`, plus a derived `recom…
Get details for a trained model.
Run hosted inference on an image using a trained model. Returns JSON predictions only. For visualized/annotated images, use workflow_specs_run with a visualization block instead.
Start training a model on a dataset version. IMPORTANT: A dataset version must exist before training. Use the versions_generate tool first to create one with the desired preprocessing and augmentatio…
Get the training progress and metrics for a dataset version. Use this tool to check on a training job started with models_train. Returns training status, progress (current/total epochs), latest metr…
Run-level training results bundle. For NAS sweeps (one Training produces many child Models) returns: ``{ trainingId, status, modelGroup, modelCount, recommendedByHardware: {[hardware]: modelId}, …
Cancel an in-flight training run. Works for any architecture. For NAS runs the underlying handler accepts the ``mining`` status — same call cancels mining or training phases.
Request an early stop on an in-flight training run. Distinct from cancel: the run finishes the current phase gracefully (mining or training) instead of terminating immediately.
Star or unstar a NAS-trained model. NAS-only by design — the server rejects non-NAS modelTypes with a ``MODEL_NOT_NAS`` error. Starring triggers TRT compilation for the model's recommended hardware s…
List model evaluations in the current workspace. Returns ``{evals: [...]}`` where each entry has evalId, status, project (URL slug), versionId, modelId, and createdAt. Use ``model_evals_get`` for the…
Get the top-level summary for a single model evaluation. Returns the eval metadata plus a ``summary`` of mAP / precision / recall on done evals, and an ``app_url`` deep link into the UI panel.
Get per-split mAP results for an eval. Returns ``{splits: {train, valid, test}}`` where each split has overall ``map50`` / ``map50_95`` / ``map75``, ``byObjectSize`` (small/medium/large), and ``perCl…
Get the precision/recall/F1 confidence sweep for an eval. For each split returns ``perThreshold`` (metrics keyed by threshold like ``"0.20"``), the ``optimalThreshold`` and ``optimalMetrics``, and ``…
Get per-class performance metrics for a single split. Returns ``{split, classes: [{className, map50, map50_95, map75, precision, recall, f1, optimalThreshold}, ...]}``.
Get the confusion matrix for an eval. Returns ``{split, confidenceThreshold, classes, matrix}`` where ``matrix[actual][predicted]`` is the count.
Get UMAP + HDBSCAN clustering of image embeddings for an eval. Returns ``{clustering, preprocessing, clusters: [...]}`` — useful for finding pockets of poor-performing images. Each cluster carries ``…
Get per-image prediction stats for an eval (paginated). Returns ``{split, confidenceThreshold, totalImages, offset, limit, images: [...]}``. Each image carries TP/FP/FN counts, precision, recall, F1,…
Get the LLM-generated recommendations for an eval, if available. Returns ``{generated: false}`` until the recommendations job has run. When ready, returns ``{generated: true, generatedAt, recommendat…
List saved workflows in the current workspace.
Get details for a saved workflow.
Create and save a new Workflow in the workspace. IMPORTANT: Always validate the config with workflow_specs_validate before creating the workflow. The config is the same JSON format used by workflow_…
Update an existing saved Workflow's name and definition. IMPORTANT: Always validate the config with workflow_specs_validate before updating the workflow. Use workflows_get to retrieve the current wo…
List all available Workflow blocks with a short summary of each. Returns a list of blocks, each with manifest (schema key), name, block_type, and short_description. Use ``workflow_blocks_get_schema``…
Get the full schema of a specific Workflow block. Returns all properties, required fields, and descriptions for a block identified by its manifest name (as returned by ``workflow_blocks_list``).
Validate a Workflow JSON definition without executing it. Check whether a workflow definition is syntactically and semantically correct before saving or running it. Example workflow definition — det…
Execute a saved Workflow on one or more images. Runs a previously created Workflow against the provided images on the Roboflow serverless infrastructure. This always hits the latest **published** ver…
Execute a Workflow from an inline JSON definition. Unlike ``workflows_run`` which runs a saved workflow by ID, this tool accepts a full workflow JSON spec and executes it directly. Useful for testing…
List devices registered in the workspace. Returns a list of Device objects with id, name, status, last_heartbeat, platform/hardware info, tags, and created_at. ``status`` is ``online`` if a heartbeat…
Provision a new v2 device. Requires the ``device:update`` scope. Returns ``{deviceId, installId, offlineProvisioningQrPayload?}``: ``installId`` is the short-lived token used by the device installer …
Get a single device by id. Returns the Device object. 404 if the device does not exist or belongs to a different workspace. When inspecting a device, also call ``devices_get_config`` for its running…
Get the device's current runtime configuration. Returns the full RFDM config JSON: ``device_id``, ``device_name``, ``workspace_id``, ``version``, ``last_updated``, ``config``, ``services``. The respo…
Get the workspace's default device configuration. Returns ``{config, patch}``: ``config`` is the base default config with the workspace's ``config_patch`` applied (the template used when provisioning…
Update the device's runtime configuration. Requires the ``device:update`` scope. The merge is a Firestore shallow update: omitted top-level fields stay as-is, but any top-level field you supply repla…
List prior configuration revisions, newest first. Returns ``{data: ConfigRevision[], pagination: {next_cursor, has_more, limit}}``. Each ConfigRevision carries ``revision_id``, ``created_at``, and ``…
List streams configured on the device. Returns a list of Stream objects. Credential-bearing fields (URL userinfo, ``password``, ``api_key``, etc.) are redacted from the ``source`` field.
Get a single stream by id. Returns the Stream object. 404 if the stream does not exist on the device.
Fetch device logs from Elasticsearch. Rate-limited at two tiers: 5 requests / minute per IP, and 50 requests / minute globally across all callers (Elasticsearch protection). Returns ``{data: LogEntr…
Get aggregated hardware metrics (cpu, memory, disk, gpu). Rate-limited per-device: 60 requests / minute steady, plus a burst limit of 10 requests / 10 seconds. Returns ``{time_period, bucket_interva…
List device and stream lifecycle events. Returns ``{data: Event[], pagination: {next_cursor, prev_cursor, has_more, limit}}``.
Search Roboflow Universe for datasets or models. The query supports operators mixed with free-text: - Add 'model' to only return datasets with trained models - 'class:helmet,person' filters by class …
Poll an async task by id. Poll every 5 seconds; processing may take up to 30 seconds to start. Returns `{ taskId, status, progress, result?, error? }`. `status` is one of `created`, `running`, `compl…
Report a bug, missing feature, UX friction, or documentation issue. Call this proactively when you encounter errors using Roboflow tools, when the user expresses frustration, when a tool is missing f…
Open a Prefab UI so the human can create a Roboflow project (calls ``projects_create`` when they confirm). Use this when project settings are unknown, debatable, or should be chosen or reviewed in a …
Open a Prefab Universe UI for search, visual comparison, image skim, and fork—human picks the dataset. Use this when the next step needs human judgment or visible UX: exploring queries, comparing pub…
Similar MCP servers embedding-nearest
How to use
Add to your Claude Desktop / Cursor / Cline MCP config:
{
"mcpServers": {
"roboflow_(official)": {
"url": "https://mcp.roboflow.com/mcp",
"transport": "streamable-http"
}
}
}