Replicate · Capability

Replicate Model Management

Workflow capability for managing ML models, versions, deployments, and training jobs on Replicate. Covers the full model lifecycle from creation through versioning, fine-tuning with training jobs, and production deployment configuration. Designed for ML engineers and platform teams.

Run with Naftiko Artificial IntelligenceMachine LearningModel ManagementTrainingDeployments

What You Can Do

GET
List models — List all public models.
/v1/models
POST
Create model — Create a new model.
/v1/models
GET
Search models — Search public models by keyword.
/v1/models/search
GET
Get model — Get model details.
/v1/models/{owner}/{name}
DELETE
Delete model — Delete a model.
/v1/models/{owner}/{name}
GET
List model versions — List all versions of a model.
/v1/models/{owner}/{name}/versions
GET
Get model version — Get details of a specific model version.
/v1/models/{owner}/{name}/versions/{version_id}
DELETE
Delete model version — Delete a model version.
/v1/models/{owner}/{name}/versions/{version_id}
GET
List trainings — List all training jobs.
/v1/trainings
GET
Get training — Get training job status.
/v1/trainings/{id}
DELETE
Cancel training — Cancel a running training job.
/v1/trainings/{id}
GET
List deployments — List all deployments.
/v1/deployments
POST
Create deployment — Create a new production deployment.
/v1/deployments
GET
Get deployment — Get deployment configuration.
/v1/deployments/{owner}/{name}
PATCH
Update deployment — Update deployment scaling configuration.
/v1/deployments/{owner}/{name}
DELETE
Delete deployment — Delete a deployment.
/v1/deployments/{owner}/{name}

MCP Tools

list-models

Browse all public ML models available on Replicate.

read-only
search-models

Search the Replicate model marketplace by keyword.

read-only
get-model

Get detailed information about a specific model.

read-only
create-model

Create a new model on Replicate.

list-model-versions

List all versions of a model.

read-only
get-model-version

Get details and OpenAPI schema for a specific model version.

read-only
list-trainings

List all fine-tuning training jobs.

read-only
get-training

Get the status and logs of a training job.

read-only
cancel-training

Cancel a running model fine-tuning job.

idempotent
list-deployments

List all production model deployments.

read-only
create-deployment

Create a new production model deployment with auto-scaling.

get-deployment

Get configuration details for a deployment.

read-only
update-deployment

Update the scaling configuration of a deployment.

idempotent

Capability Spec

model-management.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Replicate Model Management
  description: Workflow capability for managing ML models, versions, deployments, and training jobs on Replicate. Covers the
    full model lifecycle from creation through versioning, fine-tuning with training jobs, and production deployment configuration.
    Designed for ML engineers and platform teams.
  tags:
  - Artificial Intelligence
  - Machine Learning
  - Model Management
  - Training
  - Deployments
  created: '2026-05-02'
  modified: '2026-05-06'
binds:
- namespace: env
  keys:
    REPLICATE_API_TOKEN: REPLICATE_API_TOKEN
capability:
  consumes:
  - type: http
    namespace: replicate
    baseUri: https://api.replicate.com/v1
    description: Replicate REST API for running ML models and managing resources.
    authentication:
      type: bearer
      token: '{{REPLICATE_API_TOKEN}}'
    resources:
    - name: account
      path: /account
      description: Account information for the authenticated user or organization.
      operations:
      - name: get-account
        method: GET
        description: Get the authenticated account information.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: collections
      path: /collections
      description: Curated collections of models.
      operations:
      - name: list-collections
        method: GET
        description: List all collections of models.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: get-collection
        method: GET
        description: Get a specific collection of models by slug.
        inputParameters:
        - name: collection_slug
          in: path
          type: string
          required: true
          description: The slug of the collection.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: deployments
      path: /deployments
      description: Manage model deployments for production use.
      operations:
      - name: list-deployments
        method: GET
        description: List all deployments for the authenticated account.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-deployment
        method: POST
        description: Create a new model deployment.
        body:
          type: json
          data:
            name: '{{tools.name}}'
            model: '{{tools.model}}'
            version: '{{tools.version}}'
            hardware: '{{tools.hardware}}'
            min_instances: '{{tools.min_instances}}'
            max_instances: '{{tools.max_instances}}'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: get-deployment
        method: GET
        description: Get a specific deployment by owner and name.
        inputParameters:
        - name: deployment_owner
          in: path
          type: string
          required: true
          description: The deployment owner.
        - name: deployment_name
          in: path
          type: string
          required: true
          description: The deployment name.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: update-deployment
        method: PATCH
        description: Update a deployment configuration.
        inputParameters:
        - name: deployment_owner
          in: path
          type: string
          required: true
          description: The deployment owner.
        - name: deployment_name
          in: path
          type: string
          required: true
          description: The deployment name.
        body:
          type: json
          data:
            hardware: '{{tools.hardware}}'
            min_instances: '{{tools.min_instances}}'
            max_instances: '{{tools.max_instances}}'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: delete-deployment
        method: DELETE
        description: Delete a deployment.
        inputParameters:
        - name: deployment_owner
          in: path
          type: string
          required: true
          description: The deployment owner.
        - name: deployment_name
          in: path
          type: string
          required: true
          description: The deployment name.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-deployment-prediction
        method: POST
        description: Create a prediction using a deployment.
        inputParameters:
        - name: deployment_owner
          in: path
          type: string
          required: true
          description: The deployment owner.
        - name: deployment_name
          in: path
          type: string
          required: true
          description: The deployment name.
        body:
          type: json
          data:
            input: '{{tools.input}}'
            webhook: '{{tools.webhook}}'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: hardware
      path: /hardware
      description: Available hardware options for running models.
      operations:
      - name: list-hardware
        method: GET
        description: List all available hardware options.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: models
      path: /models
      description: ML models hosted on Replicate.
      operations:
      - name: list-models
        method: GET
        description: List all public models.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-model
        method: POST
        description: Create a new model.
        body:
          type: json
          data:
            owner: '{{tools.owner}}'
            name: '{{tools.name}}'
            description: '{{tools.description}}'
            visibility: '{{tools.visibility}}'
            hardware: '{{tools.hardware}}'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: search-models
        method: GET
        description: Search public models.
        inputParameters:
        - name: query
          in: query
          type: string
          required: false
          description: Search query string.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: get-model
        method: GET
        description: Get a specific model.
        inputParameters:
        - name: model_owner
          in: path
          type: string
          required: true
          description: The model owner.
        - name: model_name
          in: path
          type: string
          required: true
          description: The model name.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: delete-model
        method: DELETE
        description: Delete a model.
        inputParameters:
        - name: model_owner
          in: path
          type: string
          required: true
          description: The model owner.
        - name: model_name
          in: path
          type: string
          required: true
          description: The model name.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-model-prediction
        method: POST
        description: Create a prediction using an official model.
        inputParameters:
        - name: model_owner
          in: path
          type: string
          required: true
          description: The model owner.
        - name: model_name
          in: path
          type: string
          required: true
          description: The model name.
        body:
          type: json
          data:
            input: '{{tools.input}}'
            webhook: '{{tools.webhook}}'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: list-model-versions
        method: GET
        description: List all versions of a model.
        inputParameters:
        - name: model_owner
          in: path
          type: string
          required: true
          description: The model owner.
        - name: model_name
          in: path
          type: string
          required: true
          description: The model name.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: get-model-version
        method: GET
        description: Get a specific model version.
        inputParameters:
        - name: model_owner
          in: path
          type: string
          required: true
          description: The model owner.
        - name: model_name
          in: path
          type: string
          required: true
          description: The model name.
        - name: version_id
          in: path
          type: string
          required: true
          description: The version ID.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: delete-model-version
        method: DELETE
        description: Delete a specific model version.
        inputParameters:
        - name: model_owner
          in: path
          type: string
          required: true
          description: The model owner.
        - name: model_name
          in: path
          type: string
          required: true
          description: The model name.
        - name: version_id
          in: path
          type: string
          required: true
          description: The version ID.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: predictions
      path: /predictions
      description: Inference runs against ML models.
      operations:
      - name: list-predictions
        method: GET
        description: List all predictions for the authenticated account.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-prediction
        method: POST
        description: Create a new prediction.
        body:
          type: json
          data:
            version: '{{tools.version}}'
            input: '{{tools.input}}'
            webhook: '{{tools.webhook}}'
            webhook_events_filter: '{{tools.webhook_events_filter}}'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: get-prediction
        method: GET
        description: Get a specific prediction.
        inputParameters:
        - name: prediction_id
          in: path
          type: string
          required: true
          description: The prediction ID.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: cancel-prediction
        method: POST
        description: Cancel a running prediction.
        inputParameters:
        - name: prediction_id
          in: path
          type: string
          required: true
          description: The prediction ID.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: trainings
      path: /trainings
      description: Fine-tuning jobs for ML models.
      operations:
      - name: list-trainings
        method: GET
        description: List all trainings for the authenticated account.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: create-training
        method: POST
        description: Create a new training job on a model version.
        inputParameters:
        - name: model_owner
          in: path
          type: string
          required: true
          description: The model owner.
        - name: model_name
          in: path
          type: string
          required: true
          description: The model name.
        - name: version_id
          in: path
          type: string
          required: true
          description: The version ID to train.
        body:
          type: json
          data:
            destination: '{{tools.destination}}'
            input: '{{tools.input}}'
            webhook: '{{tools.webhook}}'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: get-training
        method: GET
        description: Get a specific training job.
        inputParameters:
        - name: training_id
          in: path
          type: string
          required: true
          description: The training ID.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: cancel-training
        method: POST
        description: Cancel a running training job.
        inputParameters:
        - name: training_id
          in: path
          type: string
          required: true
          description: The training ID.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: webhooks
      path: /webhooks/default/secret
      description: Webhook signing secret management.
      operations:
      - name: get-webhook-secret
        method: GET
        description: Get the signing secret for the default webhook.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8081
    namespace: replicate-management-api
    description: Unified REST API for Replicate model and deployment management.
    resources:
    - path: /v1/models
      name: models
      description: Browse and manage ML models.
      operations:
      - method: GET
        name: list-models
        description: List all public models.
        call: replicate.list-models
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: create-model
        description: Create a new model.
        call: replicate.create-model
        with:
          owner: rest.owner
          name: rest.name
          description: rest.description
          visibility: rest.visibility
          hardware: rest.hardware
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/models/search
      name: model-search
      description: Search the model marketplace.
      operations:
      - method: GET
        name: search-models
        description: Search public models by keyword.
        call: replicate.search-models
        with:
          query: rest.query
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/models/{owner}/{name}
      name: model
      description: Manage a specific model.
      operations:
      - method: GET
        name: get-model
        description: Get model details.
        call: replicate.get-model
        with:
          model_owner: rest.owner
          model_name: rest.name
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: delete-model
        description: Delete a model.
        call: replicate.delete-model
        with:
          model_owner: rest.owner
          model_name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/models/{owner}/{name}/versions
      name: model-versions
      description: Manage model versions.
      operations:
      - method: GET
        name: list-model-versions
        description: List all versions of a model.
        call: replicate.list-model-versions
        with:
          model_owner: rest.owner
          model_name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/models/{owner}/{name}/versions/{version_id}
      name: model-version
      description: Manage a specific model version.
      operations:
      - method: GET
        name: get-model-version
        description: Get details of a specific model version.
        call: replicate.get-model-version
        with:
          model_owner: rest.owner
          model_name: rest.name
          version_id: rest.version_id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: delete-model-version
        description: Delete a model version.
        call: replicate.delete-model-version
        with:
          model_owner: rest.owner
          model_name: rest.name
          version_id: rest.version_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/trainings
      name: trainings
      description: Manage model fine-tuning jobs.
      operations:
      - method: GET
        name: list-trainings
        description: List all training jobs.
        call: replicate.list-trainings
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/trainings/{id}
      name: training
      description: Manage a specific training job.
      operations:
      - method: GET
        name: get-training
        description: Get training job status.
        call: replicate.get-training
        with:
          training_id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: cancel-training
        description: Cancel a running training job.
        call: replicate.cancel-training
        with:
          training_id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/deployments
      name: deployments
      description: Manage production deployments.
      operations:
      - method: GET
        name: list-deployments
        description: List all deployments.
        call: replicate.list-deployments
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: create-deployment
        description: Create a new production deployment.
        call: replicate.create-deployment
        with:
          name: rest.name
          model: rest.model
          version: rest.version
          hardware: rest.hardware
          min_instances: rest.min_instances
          max_instances: rest.max_instances
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/deployments/{owner}/{name}
      name: deployment
      description: Manage a specific deployment.
      operations:
      - method: GET
        name: get-deployment
        description: Get deployment configuration.
        call: replicate.get-deployment
        with:
          deployment_owner: rest.owner
          deployment_name: rest.name
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: update-deployment
        description: Update deployment scaling configuration.
        call: replicate.update-deployment
        with:
          deployment_owner: rest.owner
          deployment_name: rest.name
          hardware: rest.hardware
          min_instances: rest.min_instances
          max_instances: rest.max_instances
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: delete-deployment
        description: Delete a deployment.
        call: replicate.delete-deployment
        with:
          deployment_owner: rest.owner
          deployment_name: rest.name
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9091
    namespace: replicate-management-mcp
    transport: http
    description: MCP server for AI-assisted Replicate model and deployment management.
    tools:
    - name: list-models
      description: Browse all public ML models available on Replicate.
      hints:
        readOnly: true
        openWorld: true
      call: replicate.list-models
      outputParameters:
      - type: object
        mapping: $.
    - name: search-models
      description: Search the Replicate model marketplace by keyword.
      hints:
        readOnly: true
        openWorld: true
      call: replicate.search-models
      with:
        query: tools.query
      outputParameters:
      - type: object
        mapping: $.
    - name: get-model
      description: Get detailed information about a specific model.
      hints:
        readOnly: true
        openWorld: true
      call: replicate.get-model
      with:
        model_owner: tools.model_owner
        model_name: tools.model_name
      outputParameters:
      - type: object
        mapping: $.
    - name: create-model
      description: Create a new model on Replicate.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: replicate.create-model
      with:
        owner: tools.owner
        name: tools.name
        description: tools.description
        visibility: tools.visibility
        hardware: tools.hardware
      outputParameters:
      - type: object
        mapping: $.
    - name: list-model-versions
      description: List all versions of a model.
      hints:
        readOnly: true
        openWorld: false
      call: replicate.list-model-versions
      with:
        model_owner: tools.model_owner
        model_name: tools.model_name
      outputParameters:
      - type: object
        mapping: $.
    - name: get-model-version
      description: Get details and OpenAPI schema for a specific model version.
      hints:
        readOnly: true
        openWorld: false
      call: replicate.get-model-version
      with:
        model_owner: tools.model_owner
        model_name: tools.model_name
        version_id: tools.version_id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-trainings
      description: List all fine-tuning training jobs.
      hints:
        readOnly: true
        openWorld: false
      call: replicate.list-trainings
      outputParameters:
      - type: object
        mapping: $.
    - name: get-training
      description: Get the status and logs of a training job.
      hints:
        readOnly: true
        openWorld: false
      call: replicate.get-training
      with:
        training_id: tools.training_id
      outputParameters:
      - type: object
        mapping: $.
    - name: cancel-training
      description: Cancel a running model fine-tuning job.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: replicate.cancel-training
      with:
        training_id: tools.training_id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-deployments
      description: List all production model deployments.
      hints:
        readOnly: true
        openWorld: false
      call: replicate.list-deployments
      outputParameters:
      - type: object
        mapping: $.
    - name: create-deployment
      description: Create a new production model deployment with auto-scaling.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: replicate.create-deployment
      with:
        name: tools.name
        model: tools.model
        version: tools.version
        hardware: tools.hardware
        min_instances: tools.min_instances
        max_instances: tools.max_instances
      outputParameters:
      - type: object
        mapping: $.
    - name: get-deployment
      description: Get configuration details for a deployment.
      hints:
        readOnly: true
        openWorld: false
      call: replicate.get-deployment
      with:
        deployment_owner: tools.deployment_owner
        deployment_name: tools.deployment_name
      outputParameters:
      - type: object
        mapping: $.
    - name: update-deployment
      description: Update the scaling configuration of a deployment.
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: replicate.update-deployment
      with:
        deployment_owner: tools.deployment_owner
        deployment_name: tools.deployment_name
        hardware: tools.hardware
        min_instances: tools.min_instances
        max_instances: tools.max_instances
      outputParameters:
      - type: object
        mapping: $.