{
  "service": "cockroach_labs",
  "displayName": "Cockroach Labs",
  "categories": [
    "Developer Tools",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "ccdb_live_...",
      "description": "CockroachDB Cloud API key used with the Authorization Bearer header. Create or manage service account API keys in the CockroachDB Cloud console: https://www.cockroachlabs.com/docs/cockroachcloud/managing-access."
    }
  ],
  "homepageUrl": "https://www.cockroachlabs.com",
  "actions": [
    {
      "id": "cockroach_labs.get_cluster",
      "service": "cockroach_labs",
      "name": "get_cluster",
      "description": "Get extended information about a CockroachDB Cloud cluster.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "clusterId": {
            "type": "string",
            "minLength": 1,
            "description": "CockroachDB Cloud cluster ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "clusterId"
        ],
        "description": "Input parameters for getting a CockroachDB Cloud cluster."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "cluster": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "CockroachDB Cloud cluster ID."
              },
              "name": {
                "type": "string",
                "description": "CockroachDB Cloud cluster name."
              },
              "state": {
                "type": "string",
                "description": "Cluster lifecycle state."
              },
              "cloud_provider": {
                "type": "string",
                "description": "Cluster cloud provider."
              },
              "plan": {
                "type": "string",
                "description": "Cluster plan."
              },
              "regions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "Raw CockroachDB Cloud object returned by the API."
                },
                "description": "Cluster regions returned by CockroachDB Cloud."
              }
            },
            "additionalProperties": true,
            "description": "CockroachDB Cloud cluster record."
          }
        },
        "additionalProperties": false,
        "description": "CockroachDB Cloud cluster response."
      }
    },
    {
      "id": "cockroach_labs.get_organization",
      "service": "cockroach_labs",
      "name": "get_organization",
      "description": "Get information about the caller's CockroachDB Cloud organization.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input payload for getting CockroachDB Cloud organization information."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "organization": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "CockroachDB Cloud organization ID."
              },
              "label": {
                "type": "string",
                "description": "CockroachDB Cloud organization label."
              },
              "name": {
                "type": "string",
                "description": "CockroachDB Cloud organization name."
              },
              "created_at": {
                "type": "string",
                "description": "Organization creation timestamp."
              }
            },
            "additionalProperties": true,
            "description": "CockroachDB Cloud organization information."
          }
        },
        "additionalProperties": false,
        "description": "CockroachDB Cloud organization response."
      }
    },
    {
      "id": "cockroach_labs.list_available_regions",
      "service": "cockroach_labs",
      "name": "list_available_regions",
      "description": "List cloud regions available for new CockroachDB Cloud clusters and nodes.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "enum": [
              "GCP",
              "AWS",
              "AZURE"
            ],
            "description": "Cloud provider to filter by."
          },
          "serverless": {
            "type": "boolean",
            "description": "Whether to only show regions available for serverless clusters."
          },
          "page": {
            "type": "string",
            "minLength": 1,
            "description": "Opaque pagination page token returned by CockroachDB Cloud."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of records to return."
          },
          "asOfTime": {
            "type": "string",
            "description": "Read data as of this RFC 3339 timestamp when supported.",
            "format": "date-time"
          },
          "sortOrder": {
            "type": "string",
            "enum": [
              "ASC",
              "DESC"
            ],
            "description": "Pagination sort order."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing CockroachDB Cloud available regions."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "regions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Cloud provider region name."
                },
                "location": {
                  "type": "string",
                  "description": "Human-readable region location."
                },
                "provider": {
                  "type": "string",
                  "description": "Cloud provider for this region."
                },
                "serverless": {
                  "type": "boolean",
                  "description": "Whether this region supports serverless clusters."
                },
                "distance": {
                  "type": "number",
                  "description": "Distance in miles based on the caller IP address."
                }
              },
              "additionalProperties": true,
              "description": "CockroachDB Cloud available region record."
            },
            "description": "Regions returned by CockroachDB Cloud."
          },
          "pagination": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "nextPage": {
                    "type": "string",
                    "description": "Token for the next page when returned by CockroachDB Cloud."
                  },
                  "previousPage": {
                    "type": "string",
                    "description": "Token for the previous page when returned by CockroachDB Cloud."
                  }
                },
                "additionalProperties": false,
                "description": "CockroachDB Cloud keyset pagination metadata."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "CockroachDB Cloud available region list response."
      }
    },
    {
      "id": "cockroach_labs.list_cluster_nodes",
      "service": "cockroach_labs",
      "name": "list_cluster_nodes",
      "description": "List nodes for a CockroachDB Cloud cluster.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "clusterId": {
            "type": "string",
            "minLength": 1,
            "description": "CockroachDB Cloud cluster ID."
          },
          "regionName": {
            "type": "string",
            "minLength": 1,
            "description": "Optional region name used to filter cluster nodes."
          },
          "page": {
            "type": "string",
            "minLength": 1,
            "description": "Opaque pagination page token returned by CockroachDB Cloud."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of records to return."
          },
          "asOfTime": {
            "type": "string",
            "description": "Read data as of this RFC 3339 timestamp when supported.",
            "format": "date-time"
          },
          "sortOrder": {
            "type": "string",
            "enum": [
              "ASC",
              "DESC"
            ],
            "description": "Pagination sort order."
          }
        },
        "additionalProperties": false,
        "required": [
          "clusterId"
        ],
        "description": "Input parameters for listing CockroachDB Cloud cluster nodes."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "nodes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Node name."
                },
                "region_name": {
                  "type": "string",
                  "description": "Region where the node runs."
                },
                "status": {
                  "type": "string",
                  "description": "Node status."
                }
              },
              "additionalProperties": true,
              "description": "CockroachDB Cloud cluster node record."
            },
            "description": "Nodes returned by CockroachDB Cloud."
          },
          "pagination": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "nextPage": {
                    "type": "string",
                    "description": "Token for the next page when returned by CockroachDB Cloud."
                  },
                  "previousPage": {
                    "type": "string",
                    "description": "Token for the previous page when returned by CockroachDB Cloud."
                  }
                },
                "additionalProperties": false,
                "description": "CockroachDB Cloud keyset pagination metadata."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "CockroachDB Cloud cluster node list response."
      }
    },
    {
      "id": "cockroach_labs.list_clusters",
      "service": "cockroach_labs",
      "name": "list_clusters",
      "description": "List CockroachDB Cloud clusters in the organization.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "showInactive": {
            "type": "boolean",
            "description": "Whether to include deleted or failed clusters when allowed."
          },
          "sortBy": {
            "type": "string",
            "enum": [
              "NAME",
              "CREATED_AT",
              "DELETED_AT"
            ],
            "description": "Field used to sort clusters."
          },
          "page": {
            "type": "string",
            "minLength": 1,
            "description": "Opaque pagination page token returned by CockroachDB Cloud."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of records to return."
          },
          "asOfTime": {
            "type": "string",
            "description": "Read data as of this RFC 3339 timestamp when supported.",
            "format": "date-time"
          },
          "sortOrder": {
            "type": "string",
            "enum": [
              "ASC",
              "DESC"
            ],
            "description": "Pagination sort order."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing CockroachDB Cloud clusters."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "clusters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "CockroachDB Cloud cluster ID."
                },
                "name": {
                  "type": "string",
                  "description": "CockroachDB Cloud cluster name."
                },
                "state": {
                  "type": "string",
                  "description": "Cluster lifecycle state."
                },
                "cloud_provider": {
                  "type": "string",
                  "description": "Cluster cloud provider."
                },
                "plan": {
                  "type": "string",
                  "description": "Cluster plan."
                },
                "regions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "Raw CockroachDB Cloud object returned by the API."
                  },
                  "description": "Cluster regions returned by CockroachDB Cloud."
                }
              },
              "additionalProperties": true,
              "description": "CockroachDB Cloud cluster record."
            },
            "description": "Clusters returned by CockroachDB Cloud."
          },
          "pagination": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "nextPage": {
                    "type": "string",
                    "description": "Token for the next page when returned by CockroachDB Cloud."
                  },
                  "previousPage": {
                    "type": "string",
                    "description": "Token for the previous page when returned by CockroachDB Cloud."
                  }
                },
                "additionalProperties": false,
                "description": "CockroachDB Cloud keyset pagination metadata."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "CockroachDB Cloud cluster list response."
      }
    },
    {
      "id": "cockroach_labs.list_databases",
      "service": "cockroach_labs",
      "name": "list_databases",
      "description": "List databases for a CockroachDB Cloud cluster.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "clusterId": {
            "type": "string",
            "minLength": 1,
            "description": "CockroachDB Cloud cluster ID."
          },
          "page": {
            "type": "string",
            "minLength": 1,
            "description": "Opaque pagination page token returned by CockroachDB Cloud."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of records to return."
          },
          "asOfTime": {
            "type": "string",
            "description": "Read data as of this RFC 3339 timestamp when supported.",
            "format": "date-time"
          },
          "sortOrder": {
            "type": "string",
            "enum": [
              "ASC",
              "DESC"
            ],
            "description": "Pagination sort order."
          }
        },
        "additionalProperties": false,
        "required": [
          "clusterId"
        ],
        "description": "Input parameters for listing CockroachDB Cloud databases."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "databases": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Database name."
                },
                "table_count": {
                  "type": "string",
                  "description": "Table count returned by CockroachDB Cloud when present."
                }
              },
              "additionalProperties": true,
              "description": "CockroachDB Cloud database record."
            },
            "description": "Databases returned by CockroachDB Cloud."
          },
          "pagination": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "nextPage": {
                    "type": "string",
                    "description": "Token for the next page when returned by CockroachDB Cloud."
                  },
                  "previousPage": {
                    "type": "string",
                    "description": "Token for the previous page when returned by CockroachDB Cloud."
                  }
                },
                "additionalProperties": false,
                "description": "CockroachDB Cloud keyset pagination metadata."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "CockroachDB Cloud database list response."
      }
    },
    {
      "id": "cockroach_labs.list_sql_users",
      "service": "cockroach_labs",
      "name": "list_sql_users",
      "description": "List SQL users for a CockroachDB Cloud cluster.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "clusterId": {
            "type": "string",
            "minLength": 1,
            "description": "CockroachDB Cloud cluster ID."
          },
          "page": {
            "type": "string",
            "minLength": 1,
            "description": "Opaque pagination page token returned by CockroachDB Cloud."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of records to return."
          },
          "asOfTime": {
            "type": "string",
            "description": "Read data as of this RFC 3339 timestamp when supported.",
            "format": "date-time"
          },
          "sortOrder": {
            "type": "string",
            "enum": [
              "ASC",
              "DESC"
            ],
            "description": "Pagination sort order."
          }
        },
        "additionalProperties": false,
        "required": [
          "clusterId"
        ],
        "description": "Input parameters for listing CockroachDB Cloud SQL users."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "SQL username."
                }
              },
              "additionalProperties": true,
              "description": "CockroachDB Cloud SQL user record."
            },
            "description": "SQL users returned by CockroachDB Cloud."
          },
          "pagination": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "nextPage": {
                    "type": "string",
                    "description": "Token for the next page when returned by CockroachDB Cloud."
                  },
                  "previousPage": {
                    "type": "string",
                    "description": "Token for the previous page when returned by CockroachDB Cloud."
                  }
                },
                "additionalProperties": false,
                "description": "CockroachDB Cloud keyset pagination metadata."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "CockroachDB Cloud SQL user list response."
      }
    }
  ]
}
