{
  "service": "mongo_db_atlas_administration",
  "displayName": "MongoDB Atlas Administration",
  "categories": [
    "Developer Tools",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Public API Key",
      "placeholder": "MONGODB_ATLAS_PUBLIC_KEY",
      "description": "MongoDB Atlas public API key used as the Digest username. Create or view API keys in Atlas under Organization Access Manager > API Keys: https://www.mongodb.com/docs/atlas/configure-api-access/.",
      "extraFields": [
        {
          "key": "privateKey",
          "label": "Private API Key",
          "inputType": "password",
          "required": true,
          "secret": true,
          "placeholder": "MONGODB_ATLAS_PRIVATE_KEY",
          "description": "MongoDB Atlas private API key paired with the public API key for HTTP Digest authentication. Atlas shows the private key only when the API key is created: https://www.mongodb.com/docs/atlas/configure-api-access/."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.mongodb.com/products/platform/atlas-database",
  "actions": [
    {
      "id": "mongo_db_atlas_administration.get_cluster",
      "service": "mongo_db_atlas_administration",
      "name": "get_cluster",
      "description": "Return one MongoDB Atlas cluster by project ID and cluster name.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "minLength": 1,
            "description": "The MongoDB Atlas project ID."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The MongoDB Atlas cluster name."
          }
        },
        "additionalProperties": false,
        "required": [
          "groupId",
          "name"
        ],
        "description": "Input parameters for reading one MongoDB Atlas cluster."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "cluster": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The MongoDB Atlas cluster ID when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The MongoDB Atlas cluster name."
              },
              "groupId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The MongoDB Atlas project ID associated with the cluster."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "clusterType": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Atlas cluster type when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "mongoDBVersion": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The MongoDB version reported for the cluster."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "stateName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Atlas cluster state name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "paused": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the cluster is paused when Atlas returned the field."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "providerName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The backing cloud provider name when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "backingProviderName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The backing provider name for tenant clusters when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "instanceSizeName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Atlas instance size name when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "regionName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The primary region name when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw MongoDB Atlas cluster object."
              }
            },
            "additionalProperties": false,
            "description": "A normalized MongoDB Atlas cluster."
          }
        },
        "additionalProperties": false,
        "required": [
          "cluster"
        ],
        "description": "The MongoDB Atlas cluster response."
      }
    },
    {
      "id": "mongo_db_atlas_administration.get_project",
      "service": "mongo_db_atlas_administration",
      "name": "get_project",
      "description": "Return one MongoDB Atlas project by project ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "minLength": 1,
            "description": "The MongoDB Atlas project ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "groupId"
        ],
        "description": "Input parameters for reading one MongoDB Atlas project."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "project": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The MongoDB Atlas project ID."
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The MongoDB Atlas project name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "orgId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The organization ID that owns the project."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The project creation timestamp when Atlas returned it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "regionUsageRestrictions": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Atlas region usage restriction value when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw MongoDB Atlas project object."
              }
            },
            "additionalProperties": false,
            "description": "A normalized MongoDB Atlas project."
          }
        },
        "additionalProperties": false,
        "required": [
          "project"
        ],
        "description": "The MongoDB Atlas project response."
      }
    },
    {
      "id": "mongo_db_atlas_administration.list_clusters",
      "service": "mongo_db_atlas_administration",
      "name": "list_clusters",
      "description": "List MongoDB Atlas clusters in one project.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "minLength": 1,
            "description": "The MongoDB Atlas project ID."
          },
          "pageNum": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to request from MongoDB Atlas."
          },
          "itemsPerPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "The number of items to request per page."
          },
          "includeCount": {
            "type": "boolean",
            "description": "Whether MongoDB Atlas should include the total item count when supported."
          }
        },
        "additionalProperties": false,
        "required": [
          "groupId"
        ],
        "description": "Input parameters for listing MongoDB Atlas clusters in one project."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "clusters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The MongoDB Atlas cluster ID when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The MongoDB Atlas cluster name."
                },
                "groupId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The MongoDB Atlas project ID associated with the cluster."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "clusterType": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Atlas cluster type when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "mongoDBVersion": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The MongoDB version reported for the cluster."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "stateName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Atlas cluster state name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "paused": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the cluster is paused when Atlas returned the field."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "providerName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The backing cloud provider name when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "backingProviderName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The backing provider name for tenant clusters when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "instanceSizeName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Atlas instance size name when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "regionName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The primary region name when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw MongoDB Atlas cluster object."
                }
              },
              "additionalProperties": false,
              "description": "A normalized MongoDB Atlas cluster."
            },
            "description": "The MongoDB Atlas clusters returned for this page."
          },
          "meta": {
            "type": "object",
            "properties": {
              "links": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "One MongoDB Atlas link object."
                },
                "description": "The HATEOAS links returned by MongoDB Atlas."
              },
              "totalCount": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of matching items when Atlas returned it."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "Pagination metadata returned by MongoDB Atlas."
          }
        },
        "additionalProperties": false,
        "required": [
          "clusters",
          "meta"
        ],
        "description": "The MongoDB Atlas cluster list response."
      }
    },
    {
      "id": "mongo_db_atlas_administration.list_projects",
      "service": "mongo_db_atlas_administration",
      "name": "list_projects",
      "description": "List MongoDB Atlas projects visible to the connected API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "pageNum": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to request from MongoDB Atlas."
          },
          "itemsPerPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "The number of items to request per page."
          },
          "includeCount": {
            "type": "boolean",
            "description": "Whether MongoDB Atlas should include the total item count when supported."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing MongoDB Atlas projects."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projects": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The MongoDB Atlas project ID."
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The MongoDB Atlas project name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "orgId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The organization ID that owns the project."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The project creation timestamp when Atlas returned it."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "regionUsageRestrictions": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Atlas region usage restriction value when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw MongoDB Atlas project object."
                }
              },
              "additionalProperties": false,
              "description": "A normalized MongoDB Atlas project."
            },
            "description": "The MongoDB Atlas projects returned for this page."
          },
          "meta": {
            "type": "object",
            "properties": {
              "links": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "One MongoDB Atlas link object."
                },
                "description": "The HATEOAS links returned by MongoDB Atlas."
              },
              "totalCount": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The total number of matching items when Atlas returned it."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "Pagination metadata returned by MongoDB Atlas."
          }
        },
        "additionalProperties": false,
        "required": [
          "projects",
          "meta"
        ],
        "description": "The MongoDB Atlas project list response."
      }
    }
  ]
}
