list_availability_domains
Retrieve availability domains in an Oracle Cloud Infrastructure compartment to identify fault-tolerant zones for resource deployment.
Instructions
List all availability domains in a compartment.
Args:
compartment_id: OCID of the compartment (typically use tenancy OCID for root)
Returns:
List of availability domains with their names and IDs
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| compartment_id | Yes |
Implementation Reference
- mcp_server_oci/tools/resources.py:13-40 (handler)Core handler function that executes the OCI API call to list availability domains, processes the response, and returns formatted list.def list_availability_domains(identity_client: oci.identity.IdentityClient, compartment_id: str) -> List[Dict[str, Any]]: """ List all availability domains in a compartment. Args: identity_client: OCI Identity client compartment_id: OCID of the compartment Returns: List of availability domains with their details """ try: ads_response = identity_client.list_availability_domains(compartment_id) ads = [] for ad in ads_response.data: ads.append({ "name": ad.name, "id": ad.id, "compartment_id": ad.compartment_id, }) logger.info(f"Found {len(ads)} availability domains in compartment {compartment_id}") return ads except Exception as e: logger.exception(f"Error listing availability domains: {e}") raise
- mcp_server_oci/mcp_server.py:1284-1300 (registration)MCP tool registration using @mcp.tool decorator. This wrapper function handles MCP context, logging, error handling, and delegates to the core handler.@mcp.tool(name="list_availability_domains") @mcp_tool_wrapper( start_msg="Listing availability domains in compartment {compartment_id}...", error_prefix="Error listing availability domains" ) async def mcp_list_availability_domains(ctx: Context, compartment_id: str) -> List[Dict[str, Any]]: """ List all availability domains in a compartment. Args: compartment_id: OCID of the compartment (typically use tenancy OCID for root) Returns: List of availability domains with their names and IDs """ return list_availability_domains(oci_clients["identity"], compartment_id)
- mcp_server_oci/mcp_server.py:87-96 (registration)Import statement that brings the handler function into scope for registration in the MCP server.from mcp_server_oci.tools.resources import ( list_availability_domains, list_fault_domains, list_images, get_image, list_shapes, get_namespace, list_regions, get_tenancy_info, )