Skip to main content
Glama

get_autonomous_database

Retrieve detailed information about an Oracle Cloud Infrastructure Autonomous Database, including connection strings, wallet details, and auto-scaling configuration settings.

Instructions

Get detailed information about a specific Autonomous Database.

Args:
    autonomous_database_id: OCID of the Autonomous Database to retrieve

Returns:
    Detailed Autonomous Database information including connection strings, wallet info, and auto-scaling settings

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
autonomous_database_idYes

Implementation Reference

  • Core handler function that executes the tool logic: fetches the Autonomous Database details using OCI DatabaseClient.get_autonomous_database and formats them into a structured dictionary response.
    def get_autonomous_database(database_client: oci.database.DatabaseClient, autonomous_database_id: str) -> Dict[str, Any]:
        """
        Get details of a specific autonomous database.
        
        Args:
            database_client: OCI Database client
            autonomous_database_id: OCID of the autonomous database
            
        Returns:
            Details of the autonomous database
        """
        try:
            adb = database_client.get_autonomous_database(autonomous_database_id).data
            
            adb_details = {
                "id": adb.id,
                "db_name": adb.db_name,
                "display_name": adb.display_name,
                "compartment_id": adb.compartment_id,
                "lifecycle_state": adb.lifecycle_state,
                "time_created": str(adb.time_created),
                "cpu_core_count": adb.cpu_core_count,
                "data_storage_size_in_tbs": adb.data_storage_size_in_tbs,
                "is_free_tier": adb.is_free_tier,
                "is_auto_scaling_enabled": adb.is_auto_scaling_enabled,
                "db_workload": adb.db_workload,
                "db_version": adb.db_version,
                "license_model": adb.license_model,
                "is_dedicated": adb.is_dedicated,
                "autonomous_container_database_id": adb.autonomous_container_database_id,
                "is_access_control_enabled": adb.is_access_control_enabled,
                "whitelisted_ips": adb.whitelisted_ips,
                "are_primary_whitelisted_ips_used": adb.are_primary_whitelisted_ips_used,
                "standby_whitelisted_ips": adb.standby_whitelisted_ips,
                "is_data_guard_enabled": adb.is_data_guard_enabled,
                "is_local_data_guard_enabled": adb.is_local_data_guard_enabled,
                "subnet_id": adb.subnet_id,
                "nsg_ids": adb.nsg_ids,
                "private_endpoint": adb.private_endpoint,
                "private_endpoint_label": adb.private_endpoint_label,
                "connection_strings": {
                    "high": adb.connection_strings.high if adb.connection_strings else None,
                    "medium": adb.connection_strings.medium if adb.connection_strings else None,
                    "low": adb.connection_strings.low if adb.connection_strings else None,
                    "dedicated": adb.connection_strings.dedicated if adb.connection_strings else None,
                } if adb.connection_strings else None,
                "connection_urls": {
                    "sql_dev_web_url": adb.connection_urls.sql_dev_web_url if adb.connection_urls else None,
                    "apex_url": adb.connection_urls.apex_url if adb.connection_urls else None,
                    "machine_learning_user_management_url": adb.connection_urls.machine_learning_user_management_url if adb.connection_urls else None,
                    "graph_studio_url": adb.connection_urls.graph_studio_url if adb.connection_urls else None,
                    "mongo_db_url": adb.connection_urls.mongo_db_url if adb.connection_urls else None,
                } if adb.connection_urls else None,
            }
            
            logger.info(f"Retrieved details for autonomous database {autonomous_database_id}")
            return adb_details
            
        except Exception as e:
            logger.exception(f"Error getting autonomous database details: {e}")
            raise
  • MCP tool registration via @mcp.tool decorator on the wrapper function mcp_get_autonomous_database, which delegates to the core handler after adding logging, profile checks, and error handling.
    @mcp.tool(name="get_autonomous_database")
    @mcp_tool_wrapper(
        start_msg="Getting Autonomous Database details for {autonomous_database_id}...",
        success_msg="Retrieved Autonomous Database details successfully",
        error_prefix="Error getting Autonomous Database details"
    )
    async def mcp_get_autonomous_database(ctx: Context, autonomous_database_id: str) -> Dict[str, Any]:
        """
        Get detailed information about a specific Autonomous Database.
    
        Args:
            autonomous_database_id: OCID of the Autonomous Database to retrieve
    
        Returns:
            Detailed Autonomous Database information including connection strings, wallet info, and auto-scaling settings
        """
        return get_autonomous_database(oci_clients["database"], autonomous_database_id)

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