MongoDB · Capability

MongoDB Atlas Administration API — Clusters

MongoDB Atlas Administration API — Clusters. 20 operations. Lead operation: Return All Authorized Clusters in All Projects. Self-contained Naftiko capability covering one Mongodb business surface.

Run with Naftiko MongodbClusters

What You Can Do

GET
Listclusterdetails — Return All Authorized Clusters in All Projects
/v1/api/atlas/v2/clusters
GET
Listgroupclusters — Return All Clusters in One Project
/v1/api/atlas/v2/groups/{groupid}/clusters
POST
Creategroupcluster — Create One Cluster in One Project
/v1/api/atlas/v2/groups/{groupid}/clusters
GET
Listgroupclusterproviderregions — Return All Cloud Provider Regions
/v1/api/atlas/v2/groups/{groupid}/clusters/provider/regions
POST
Upgradegroupclustertenantupgrade — Upgrade One Shared-Tier Cluster
/v1/api/atlas/v2/groups/{groupid}/clusters/tenantupgrade
POST
Upgradegroupclustertenantupgradetoserverless — Upgrade One Shared-Tier Cluster to One Serverless Instance
/v1/api/atlas/v2/groups/{groupid}/clusters/tenantupgradetoserverless
DELETE
Deletegroupcluster — Remove One Cluster from One Project
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}
GET
Getgroupcluster — Return One Cluster from One Project
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}
PATCH
Updategroupcluster — Update One Cluster in One Project
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}
GET
Autogroupclusterscalingconfiguration — Return Auto Scaling Configuration for One Sharded Cluster
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/autoscalingconfiguration
GET
Getgroupclusterprocessargs — Return Advanced Configuration Options for One Cluster
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/processargs
PATCH
Updategroupclusterprocessargs — Update Advanced Configuration Options for One Cluster
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/processargs
POST
Restartgroupclusterprimaries — Test Failover for One Cluster
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/restartprimaries
GET
Getgroupclusterstatus — Return Status of All Cluster Operations
/v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/status
POST
Grantgroupclustermongodbemployeeaccess — Grant MongoDB Employee Cluster Access for One Cluster
/v1/api/atlas/v2/groups/{groupid}/clusters/clustername-grantmongodbemployeeaccess
POST
Pingroupclusterfeaturecompatibilityversion — Pin Feature Compatibility Version for One Cluster in One Project
/v1/api/atlas/v2/groups/{groupid}/clusters/clustername-pinfeaturecompatibilityversion
POST
Revokegroupclustermongodbemployeeaccess — Revoke MongoDB Employee Cluster Access for One Cluster
/v1/api/atlas/v2/groups/{groupid}/clusters/clustername-revokemongodbemployeeaccess
POST
Unpingroupclusterfeaturecompatibilityversion — Unpin Feature Compatibility Version for One Cluster in One Project
/v1/api/atlas/v2/groups/{groupid}/clusters/clustername-unpinfeaturecompatibilityversion
POST
Requestgroupsampledatasetload — Load Sample Dataset into One Cluster
/v1/api/atlas/v2/groups/{groupid}/sampledatasetload/{name}
GET
Getgroupsampledatasetload — Return Status of Sample Dataset Load for One Cluster
/v1/api/atlas/v2/groups/{groupid}/sampledatasetload/{sampledatasetid}

MCP Tools

return-all-authorized-clusters-all

Return All Authorized Clusters in All Projects

read-only idempotent
return-all-clusters-one-project

Return All Clusters in One Project

read-only idempotent
create-one-cluster-one-project

Create One Cluster in One Project

return-all-cloud-provider-regions

Return All Cloud Provider Regions

read-only idempotent
upgrade-one-shared-tier-cluster

Upgrade One Shared-Tier Cluster

upgrade-one-shared-tier-cluster-2

Upgrade One Shared-Tier Cluster to One Serverless Instance

remove-one-cluster-one-project

Remove One Cluster from One Project

idempotent
return-one-cluster-one-project

Return One Cluster from One Project

read-only idempotent
update-one-cluster-one-project

Update One Cluster in One Project

idempotent
return-auto-scaling-configuration-one

Return Auto Scaling Configuration for One Sharded Cluster

read-only idempotent
return-advanced-configuration-options-one

Return Advanced Configuration Options for One Cluster

read-only idempotent
update-advanced-configuration-options-one

Update Advanced Configuration Options for One Cluster

idempotent
test-failover-one-cluster

Test Failover for One Cluster

read-only
return-status-all-cluster-operations

Return Status of All Cluster Operations

read-only idempotent
grant-mongodb-employee-cluster-access

Grant MongoDB Employee Cluster Access for One Cluster

pin-feature-compatibility-version-one

Pin Feature Compatibility Version for One Cluster in One Project

revoke-mongodb-employee-cluster-access

Revoke MongoDB Employee Cluster Access for One Cluster

unpin-feature-compatibility-version-one

Unpin Feature Compatibility Version for One Cluster in One Project

load-sample-dataset-one-cluster

Load Sample Dataset into One Cluster

return-status-sample-dataset-load

Return Status of Sample Dataset Load for One Cluster

read-only idempotent

Capability Spec

atlas-clusters.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: MongoDB Atlas Administration API — Clusters
  description: 'MongoDB Atlas Administration API — Clusters. 20 operations. Lead operation: Return All Authorized Clusters
    in All Projects. Self-contained Naftiko capability covering one Mongodb business surface.'
  tags:
  - Mongodb
  - Clusters
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    MONGODB_API_KEY: MONGODB_API_KEY
capability:
  consumes:
  - type: http
    namespace: atlas-clusters
    baseUri: https://cloud.mongodb.com
    description: MongoDB Atlas Administration API — Clusters business capability. Self-contained, no shared references.
    resources:
    - name: api-atlas-v2-clusters
      path: /api/atlas/v2/clusters
      operations:
      - name: listclusterdetails
        method: GET
        description: Return All Authorized Clusters in All Projects
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-atlas-v2-groups-groupId-clusters
      path: /api/atlas/v2/groups/{groupId}/clusters
      operations:
      - name: listgroupclusters
        method: GET
        description: Return All Clusters in One Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: includeDeletedWithRetainedBackups
          in: query
          type: boolean
          description: Flag that indicates whether to return Clusters with retain backups.
        - name: Use-Effective-Instance-Fields
          in: header
          type: boolean
          description: Controls how hardware specification fields are returned in the response. When set to true, returns
            the original client-specified values and provides separate ef
      - name: creategroupcluster
        method: POST
        description: Create One Cluster in One Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Use-Effective-Instance-Fields
          in: header
          type: boolean
          description: Controls how hardware specification fields are returned in the response after cluster creation. When
            set to true, returns the original client-specified values a
        - name: Use-Effective-Fields-Replication-Specs
          in: header
          type: boolean
          description: Controls how `replicationSpecs` fields are returned in the response. When set to `true`, stores the
            client's view of `replicationSpecs` and returns it in `repli
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-provider-regions
      path: /api/atlas/v2/groups/{groupId}/clusters/provider/regions
      operations:
      - name: listgroupclusterproviderregions
        method: GET
        description: Return All Cloud Provider Regions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: providers
          in: query
          type: array
          description: Cloud providers whose regions to retrieve. When you specify multiple providers, the response can return
            only tiers and regions that support multi-cloud clusters
        - name: tier
          in: query
          type: string
          description: Cluster tier for which to retrieve the regions.
    - name: api-atlas-v2-groups-groupId-clusters-tenantUpgrade
      path: /api/atlas/v2/groups/{groupId}/clusters/tenantUpgrade
      operations:
      - name: upgradegroupclustertenantupgrade
        method: POST
        description: Upgrade One Shared-Tier Cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-tenantUpgradeToServerless
      path: /api/atlas/v2/groups/{groupId}/clusters/tenantUpgradeToServerless
      operations:
      - name: upgradegroupclustertenantupgradetoserverless
        method: POST
        description: Upgrade One Shared-Tier Cluster to One Serverless Instance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}
      operations:
      - name: deletegroupcluster
        method: DELETE
        description: Remove One Cluster from One Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: retainBackups
          in: query
          type: boolean
          description: Flag that indicates whether to retain backup snapshots for the deleted dedicated cluster.
      - name: getgroupcluster
        method: GET
        description: Return One Cluster from One Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies this cluster.
          required: true
        - name: Use-Effective-Instance-Fields
          in: header
          type: boolean
          description: Controls how hardware specification fields are returned in the response. When set to true, returns
            the original client-specified values and provides separate ef
        - name: Use-Effective-Fields-Replication-Specs
          in: header
          type: boolean
          description: Controls how `replicationSpecs` are returned in the response. When set to `true`, returns the client-specified
            view in `replicationSpecs` and the actual cluster
      - name: updategroupcluster
        method: PATCH
        description: Update One Cluster in One Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: Use-Effective-Instance-Fields
          in: header
          type: boolean
          description: Controls how hardware specification fields are returned in the response after cluster updates. When
            set to true, returns the original client-specified values an
        - name: Use-Effective-Fields-Replication-Specs
          in: header
          type: boolean
          description: Controls how `replicationSpecs` fields are returned in the response. When set to `true`, stores the
            client's view of `replicationSpecs` and returns it in `repli
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName-autoScalingConfiguration
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/autoScalingConfiguration
      operations:
      - name: autogroupclusterscalingconfiguration
        method: GET
        description: Return Auto Scaling Configuration for One Sharded Cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies this cluster.
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName-processArgs
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/processArgs
      operations:
      - name: getgroupclusterprocessargs
        method: GET
        description: Return Advanced Configuration Options for One Cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
      - name: updategroupclusterprocessargs
        method: PATCH
        description: Update Advanced Configuration Options for One Cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName-restartPrimaries
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/restartPrimaries
      operations:
      - name: restartgroupclusterprimaries
        method: POST
        description: Test Failover for One Cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName-status
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/status
      operations:
      - name: getgroupclusterstatus
        method: GET
        description: Return Status of All Cluster Operations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies the cluster.
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName}:grantMongoDBEmployeeAccess
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}:grantMongoDBEmployeeAccess
      operations:
      - name: grantgroupclustermongodbemployeeaccess
        method: POST
        description: Grant MongoDB Employee Cluster Access for One Cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies this cluster.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName}:pinFeatureCompatibilityVersion
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}:pinFeatureCompatibilityVersion
      operations:
      - name: pingroupclusterfeaturecompatibilityversion
        method: POST
        description: Pin Feature Compatibility Version for One Cluster in One Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies this cluster.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-atlas-v2-groups-groupId-clusters-clusterName}:revokeMongoDBEmployeeAccess
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}:revokeMongoDBEmployeeAccess
      operations:
      - name: revokegroupclustermongodbemployeeaccess
        method: POST
        description: Revoke MongoDB Employee Cluster Access for One Cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies this cluster.
          required: true
    - name: api-atlas-v2-groups-groupId-clusters-clusterName}:unpinFeatureCompatibilityVersi
      path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}:unpinFeatureCompatibilityVersion
      operations:
      - name: unpingroupclusterfeaturecompatibilityversion
        method: POST
        description: Unpin Feature Compatibility Version for One Cluster in One Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: clusterName
          in: path
          type: string
          description: Human-readable label that identifies this cluster.
          required: true
    - name: api-atlas-v2-groups-groupId-sampleDatasetLoad-name
      path: /api/atlas/v2/groups/{groupId}/sampleDatasetLoad/{name}
      operations:
      - name: requestgroupsampledatasetload
        method: POST
        description: Load Sample Dataset into One Cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: Human-readable label that identifies the cluster into which you load the sample dataset.
          required: true
    - name: api-atlas-v2-groups-groupId-sampleDatasetLoad-sampleDatasetId
      path: /api/atlas/v2/groups/{groupId}/sampleDatasetLoad/{sampleDatasetId}
      operations:
      - name: getgroupsampledatasetload
        method: GET
        description: Return Status of Sample Dataset Load for One Cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sampleDatasetId
          in: path
          type: string
          description: Unique 24-hexadecimal digit string that identifies the loaded sample dataset.
          required: true
    authentication:
      type: bearer
      token: '{{env.MONGODB_API_KEY}}'
  exposes:
  - type: rest
    namespace: atlas-clusters-rest
    port: 8080
    description: REST adapter for MongoDB Atlas Administration API — Clusters. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/api/atlas/v2/clusters
      name: api-atlas-v2-clusters
      description: REST surface for api-atlas-v2-clusters.
      operations:
      - method: GET
        name: listclusterdetails
        description: Return All Authorized Clusters in All Projects
        call: atlas-clusters.listclusterdetails
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters
      name: api-atlas-v2-groups-groupid-clusters
      description: REST surface for api-atlas-v2-groups-groupId-clusters.
      operations:
      - method: GET
        name: listgroupclusters
        description: Return All Clusters in One Project
        call: atlas-clusters.listgroupclusters
        with:
          includeDeletedWithRetainedBackups: rest.includeDeletedWithRetainedBackups
          Use-Effective-Instance-Fields: rest.Use-Effective-Instance-Fields
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: creategroupcluster
        description: Create One Cluster in One Project
        call: atlas-clusters.creategroupcluster
        with:
          Use-Effective-Instance-Fields: rest.Use-Effective-Instance-Fields
          Use-Effective-Fields-Replication-Specs: rest.Use-Effective-Fields-Replication-Specs
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/provider/regions
      name: api-atlas-v2-groups-groupid-clusters-provider-regions
      description: REST surface for api-atlas-v2-groups-groupId-clusters-provider-regions.
      operations:
      - method: GET
        name: listgroupclusterproviderregions
        description: Return All Cloud Provider Regions
        call: atlas-clusters.listgroupclusterproviderregions
        with:
          providers: rest.providers
          tier: rest.tier
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/tenantupgrade
      name: api-atlas-v2-groups-groupid-clusters-tenantupgrade
      description: REST surface for api-atlas-v2-groups-groupId-clusters-tenantUpgrade.
      operations:
      - method: POST
        name: upgradegroupclustertenantupgrade
        description: Upgrade One Shared-Tier Cluster
        call: atlas-clusters.upgradegroupclustertenantupgrade
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/tenantupgradetoserverless
      name: api-atlas-v2-groups-groupid-clusters-tenantupgradetoserverless
      description: REST surface for api-atlas-v2-groups-groupId-clusters-tenantUpgradeToServerless.
      operations:
      - method: POST
        name: upgradegroupclustertenantupgradetoserverless
        description: Upgrade One Shared-Tier Cluster to One Serverless Instance
        call: atlas-clusters.upgradegroupclustertenantupgradetoserverless
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}
      name: api-atlas-v2-groups-groupid-clusters-clustername
      description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName.
      operations:
      - method: DELETE
        name: deletegroupcluster
        description: Remove One Cluster from One Project
        call: atlas-clusters.deletegroupcluster
        with:
          clusterName: rest.clusterName
          retainBackups: rest.retainBackups
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getgroupcluster
        description: Return One Cluster from One Project
        call: atlas-clusters.getgroupcluster
        with:
          clusterName: rest.clusterName
          Use-Effective-Instance-Fields: rest.Use-Effective-Instance-Fields
          Use-Effective-Fields-Replication-Specs: rest.Use-Effective-Fields-Replication-Specs
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updategroupcluster
        description: Update One Cluster in One Project
        call: atlas-clusters.updategroupcluster
        with:
          clusterName: rest.clusterName
          Use-Effective-Instance-Fields: rest.Use-Effective-Instance-Fields
          Use-Effective-Fields-Replication-Specs: rest.Use-Effective-Fields-Replication-Specs
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/autoscalingconfiguration
      name: api-atlas-v2-groups-groupid-clusters-clustername-autoscalingconfiguration
      description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-autoScalingConfiguration.
      operations:
      - method: GET
        name: autogroupclusterscalingconfiguration
        description: Return Auto Scaling Configuration for One Sharded Cluster
        call: atlas-clusters.autogroupclusterscalingconfiguration
        with:
          clusterName: rest.clusterName
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/processargs
      name: api-atlas-v2-groups-groupid-clusters-clustername-processargs
      description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-processArgs.
      operations:
      - method: GET
        name: getgroupclusterprocessargs
        description: Return Advanced Configuration Options for One Cluster
        call: atlas-clusters.getgroupclusterprocessargs
        with:
          clusterName: rest.clusterName
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updategroupclusterprocessargs
        description: Update Advanced Configuration Options for One Cluster
        call: atlas-clusters.updategroupclusterprocessargs
        with:
          clusterName: rest.clusterName
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/restartprimaries
      name: api-atlas-v2-groups-groupid-clusters-clustername-restartprimaries
      description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-restartPrimaries.
      operations:
      - method: POST
        name: restartgroupclusterprimaries
        description: Test Failover for One Cluster
        call: atlas-clusters.restartgroupclusterprimaries
        with:
          clusterName: rest.clusterName
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/status
      name: api-atlas-v2-groups-groupid-clusters-clustername-status
      description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-status.
      operations:
      - method: GET
        name: getgroupclusterstatus
        description: Return Status of All Cluster Operations
        call: atlas-clusters.getgroupclusterstatus
        with:
          clusterName: rest.clusterName
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/clustername-grantmongodbemployeeaccess
      name: api-atlas-v2-groups-groupid-clusters-clustername-grantmongodbemployeeaccess
      description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName}:grantMongoDBEmployeeAccess.
      operations:
      - method: POST
        name: grantgroupclustermongodbemployeeaccess
        description: Grant MongoDB Employee Cluster Access for One Cluster
        call: atlas-clusters.grantgroupclustermongodbemployeeaccess
        with:
          clusterName: rest.clusterName
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/clustername-pinfeaturecompatibilityversion
      name: api-atlas-v2-groups-groupid-clusters-clustername-pinfeaturecompatibilityversion
      description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName}:pinFeatureCompatibilityVersion.
      operations:
      - method: POST
        name: pingroupclusterfeaturecompatibilityversion
        description: Pin Feature Compatibility Version for One Cluster in One Project
        call: atlas-clusters.pingroupclusterfeaturecompatibilityversion
        with:
          clusterName: rest.clusterName
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/clustername-revokemongodbemployeeaccess
      name: api-atlas-v2-groups-groupid-clusters-clustername-revokemongodbemployeeaccess
      description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName}:revokeMongoDBEmployeeAccess.
      operations:
      - method: POST
        name: revokegroupclustermongodbemployeeaccess
        description: Revoke MongoDB Employee Cluster Access for One Cluster
        call: atlas-clusters.revokegroupclustermongodbemployeeaccess
        with:
          clusterName: rest.clusterName
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/clusters/clustername-unpinfeaturecompatibilityversion
      name: api-atlas-v2-groups-groupid-clusters-clustername-unpinfeaturecompatibilityversi
      description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName}:unpinFeatureCompatibilityVersi.
      operations:
      - method: POST
        name: unpingroupclusterfeaturecompatibilityversion
        description: Unpin Feature Compatibility Version for One Cluster in One Project
        call: atlas-clusters.unpingroupclusterfeaturecompatibilityversion
        with:
          clusterName: rest.clusterName
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/sampledatasetload/{name}
      name: api-atlas-v2-groups-groupid-sampledatasetload-name
      description: REST surface for api-atlas-v2-groups-groupId-sampleDatasetLoad-name.
      operations:
      - method: POST
        name: requestgroupsampledatasetload
        description: Load Sample Dataset into One Cluster
        call: atlas-clusters.requestgroupsampledatasetload
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/atlas/v2/groups/{groupid}/sampledatasetload/{sampledatasetid}
      name: api-atlas-v2-groups-groupid-sampledatasetload-sampledatasetid
      description: REST surface for api-atlas-v2-groups-groupId-sampleDatasetLoad-sampleDatasetId.
      operations:
      - method: GET
        name: getgroupsampledatasetload
        description: Return Status of Sample Dataset Load for One Cluster
        call: atlas-clusters.getgroupsampledatasetload
        with:
          sampleDatasetId: rest.sampleDatasetId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: atlas-clusters-mcp
    port: 9090
    transport: http
    description: MCP adapter for MongoDB Atlas Administration API — Clusters. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: return-all-authorized-clusters-all
      description: Return All Authorized Clusters in All Projects
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: atlas-clusters.listclusterdetails
      outputParameters:
      - type: object
        mapping: $.
    - name: return-all-clusters-one-project
      description: Return All Clusters in One Project
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: atlas-clusters.listgroupclusters
      with:
        includeDeletedWithRetainedBackups: tools.includeDeletedWithRetainedBackups
        Use-Effective-Instance-Fields: tools.Use-Effective-Instance-Fields
      outputParameters:
      - type: object
        mapping: $.
    - name: create-one-cluster-one-project
      description: Create One Cluster in One Project
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: atlas-clusters.creategroupcluster
      with:
        Use-Effective-Instance-Fields: tools.Use-Effective-Instance-Fields
        Use-Effective-Fields-Replication-Specs: tools.Use-Effective-Fields-Replication-Specs
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: return-all-cloud-provider-regions
      description: Return All Cloud Provider Regions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: atlas-clusters.listgroupclusterproviderregions
      with:
        providers: tools.providers
        tier: tools.tier
      outputParameters:
      - type: object
        mapping: $.
    - name: upgrade-one-shared-tier-cluster
      description: Upgrade One Shared-Tier Cluster
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: atlas-clusters.upgradegroupclustertenantupgrade
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: upgrade-one-shared-tier-cluster-2
      description: Upgrade One Shared-Tier Cluster to One Serverless Instance
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: atlas-clusters.upgradegroupclustertenantupgradetoserverless
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-one-cluster-one-project
      description: Remove One Cluster from One Project
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: atlas-clusters.deletegroupcluster
      with:
        clusterName: tools.clusterName
        retainBackups: tools.retainBackups
      outputParameters:
      - type: object
        mapping: $.
    - name: return-one-cluster-one-project
      description: Return One Cluster from One Project
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: atlas-clusters.getgroupcluster
      with:
        clusterName: tools.clusterName
        Use-Effective-Instance-Fields: tools.Use-Effective-Instance-Fields
        Use-Effective-Fields-Replication-Specs: tools.Use-Effective-Fields-Replication-Specs
      outputParameters:
      - type: object
        mapping: $.
    - name: update-one-cluster-one-project
      description: Update One Cluster in One Project
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: atlas-clusters.updategroupcluster
      with:
        clusterName: tools.clusterName
        Use-Effective-Instance-Fields: tools.Use-Effective-Instance-Fields
        Use-Effective-Fields-Replication-Specs: tools.Use-Effective-Fields-Replication-Specs
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: return-auto-scaling-configuration-one
      description: Return Auto Scaling Configuration for One Sharded Cluster
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: atlas-clusters.autogroupclusterscalingconfiguration
      with:
        clusterName: tools.clusterName
      outputParameters:
      - type: object
        mapping: $.
    - name: return-advanced-configuration-options-one
      description: Return Advanced Configuration Options for One Cluster
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: atlas-clusters.getgroupclusterprocessargs
      with:
        clusterName: tools.clusterName
      outputParameters:
      - type: object
        mapping: $.
    - name: update-advanced-configuration-options-one
      description: Update Advanced Configuration Options for One Cluster
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: atlas-clusters.updategroupclusterprocessargs
      with:
        clusterName: tools.clusterName
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: test-failover-one-cluster
      description: Test Failover for One Cluster
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: atlas-clusters.restartgroupclusterprimaries
      with:
        clusterName: tools.clusterName
      outputParameters:
      - type: object
        mapping: $.
    - name: return-status-all-cluster-operations
      description: Return Status of All Cluster Operations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: atlas-clusters.getgroupclusterstatus
      with:
        clusterName: tools.clusterName
      outputParameters:
      - type: object
        mapping: $.
    - name: grant-mongodb-employee-cluster-access
      description: Grant MongoDB Employee Cluster Access for One Cluster
      hints

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mongodb/refs/heads/main/capabilities/atlas-clusters.yaml