Skip to main content
Glama

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
NameRequiredDescriptionDefault
compartment_idYes

Implementation Reference

  • 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 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)
  • 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,
    )

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jopsis/mcp-server-oci'

If you have feedback or need assistance with the MCP directory API, please join our Discord server