Skip to main content
Glama

cosmosdb_container_describe

Retrieve configuration details and properties for a Cosmos DB container to understand its structure and settings.

Instructions

Get details about a Cosmos DB container

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
container_nameYesName of the Cosmos DB container
database_nameNoName of the Cosmos DB database (optional, defaults to 'defaultdb')

Implementation Reference

  • Handler logic for the cosmosdb_container_describe tool: retrieves the container client and reads its properties.
    elif name == "cosmosdb_container_describe":  # Renamed from table to container
        container = database.get_container_client(arguments["container_name"])
        container_properties = container.read()
        response = container_properties
  • Schema definition for the cosmosdb_container_describe tool, including input parameters like container_name and optional database_name.
    Tool(
        name="cosmosdb_container_describe",  # Renamed from table to container
        description="Get details about a Cosmos DB container",  # Updated description
        inputSchema={
            "type": "object",
            "properties": {
                "container_name": {  # Renamed from table_name
                    "type": "string",
                    "description": "Name of the Cosmos DB container",  # Updated description
                },
                "database_name": {
                    "type": "string",
                    "description": "Name of the Cosmos DB database (optional, defaults to 'defaultdb')",
                },
            },
            "required": ["container_name"],
        },
    ),
  • Registration of tools via list_tools handler, which returns get_azure_tools() including the cosmosdb_container_describe tool.
    async def list_tools() -> list[Tool]:
        """List available Azure tools"""
        logger.debug("Handling list_tools request")
        return get_azure_tools()  # Use get_azure_tools
  • The get_cosmosdb_tools function returns a list of Tool objects including the cosmosdb_container_describe tool, which is aggregated into get_azure_tools() for registration.
    def get_cosmosdb_tools() -> list[Tool]:
        return [
            Tool(
                name="cosmosdb_container_create",  # Renamed from table to container
                description="Create a new Cosmos DB container",  # Updated description
                inputSchema={
                    "type": "object",
                    "properties": {
                        "container_name": {  # Renamed from table_name
                            "type": "string",
                            "description": "Name of the Cosmos DB container",  # Updated description
                        },
                        "database_name": {
                            "type": "string",
                            "description": "Name of the Cosmos DB database (optional, defaults to 'defaultdb')",
                        },
                        "partition_key": {
                            "type": "object",
                            "description": "Partition key definition for the container (e.g., {'paths': ['/partitionKey'], 'kind': 'Hash'})",
                        },
                    },
                    "required": [
                        "container_name",
                        "partition_key",
                    ],  # Partition key is usually required for Cosmos DB
                },
            ),
            Tool(
                name="cosmosdb_container_describe",  # Renamed from table to container
                description="Get details about a Cosmos DB container",  # Updated description
                inputSchema={
                    "type": "object",
                    "properties": {
                        "container_name": {  # Renamed from table_name
                            "type": "string",
                            "description": "Name of the Cosmos DB container",  # Updated description
                        },
                        "database_name": {
                            "type": "string",
                            "description": "Name of the Cosmos DB database (optional, defaults to 'defaultdb')",
                        },
                    },
                    "required": ["container_name"],
                },
            ),
            Tool(
                name="cosmosdb_container_list",  # Renamed from table to container
                description="List all Cosmos DB containers in a database",  # Updated description
                inputSchema={
                    "type": "object",
                    "properties": {
                        "database_name": {
                            "type": "string",
                            "description": "Name of the Cosmos DB database (optional, defaults to 'defaultdb')",
                        }
                    },
                },
            ),
            Tool(
                name="cosmosdb_container_delete",  # Renamed from table to container
                description="Delete a Cosmos DB container",  # Updated description
                inputSchema={
                    "type": "object",
                    "properties": {
                        "container_name": {  # Renamed from table_name
                            "type": "string",
                            "description": "Name of the Cosmos DB container",  # Updated description
                        },
                        "database_name": {
                            "type": "string",
                            "description": "Name of the Cosmos DB database (optional, defaults to 'defaultdb')",
                        },
                    },
                    "required": ["container_name"],
                },
            ),
            Tool(
                name="cosmosdb_item_create",  # Renamed from put to create, and table to container
                description="Create a new item in a Cosmos DB container",  # Updated description
                inputSchema={
                    "type": "object",
                    "properties": {
                        "container_name": {  # Renamed from table_name
                            "type": "string",
                            "description": "Name of the Cosmos DB container",  # Updated description
                        },
                        "database_name": {
                            "type": "string",
                            "description": "Name of the Cosmos DB database (optional, defaults to 'defaultdb')",
                        },
                        "item": {
                            "type": "object",
                            "description": "Item data to create (JSON object)",
                        },
                    },
                    "required": ["container_name", "item"],
                },
            ),
            Tool(
                name="cosmosdb_item_read",  # Renamed from get to read, and table to container
                description="Read an item from a Cosmos DB container",  # Updated description
                inputSchema={
                    "type": "object",
                    "properties": {
                        "container_name": {  # Renamed from table_name
                            "type": "string",
                            "description": "Name of the Cosmos DB container",  # Updated description
                        },
                        "database_name": {
                            "type": "string",
                            "description": "Name of the Cosmos DB database (optional, defaults to 'defaultdb')",
                        },
                        "item_id": {
                            "type": "string",
                            "description": "ID of the item to read",
                        },
                        "partition_key": {
                            "type": "string",
                            "description": "Partition key value for the item",
                        },
                    },
                    "required": ["container_name", "item_id", "partition_key"],
                },
            ),
            Tool(
                name="cosmosdb_item_replace",  # Renamed from update to replace, and table to container, using replace_item for full replace
                description="Replace an item in a Cosmos DB container",  # Updated description
                inputSchema={
                    "type": "object",
                    "properties": {
                        "container_name": {  # Renamed from table_name
                            "type": "string",
                            "description": "Name of the Cosmos DB container",  # Updated description
                        },
                        "database_name": {
                            "type": "string",
                            "description": "Name of the Cosmos DB database (optional, defaults to 'defaultdb')",
                        },
                        "item_id": {
                            "type": "string",
                            "description": "ID of the item to replace",
                        },
                        "partition_key": {
                            "type": "string",
                            "description": "Partition key value for the item",
                        },
                        "item": {
                            "type": "object",
                            "description": "Updated item data (JSON object)",
                        },
                    },
                    "required": ["container_name", "item_id", "partition_key", "item"],
                },
            ),
            Tool(
                name="cosmosdb_item_delete",  # Renamed table to container
                description="Delete an item from a Cosmos DB container",  # Updated description
                inputSchema={
                    "type": "object",
                    "properties": {
                        "container_name": {  # Renamed from table_name
                            "type": "string",
                            "description": "Name of the Cosmos DB container",  # Updated description
                        },
                        "database_name": {
                            "type": "string",
                            "description": "Name of the Cosmos DB database (optional, defaults to 'defaultdb')",
                        },
                        "item_id": {
                            "type": "string",
                            "description": "ID of the item to delete",
                        },
                        "partition_key": {
                            "type": "string",
                            "description": "Partition key value for the item",
                        },
                    },
                    "required": ["container_name", "item_id", "partition_key"],
                },
            ),
            Tool(
                name="cosmosdb_item_query",  # Renamed table to container, simplified query
                description="Query items in a Cosmos DB container using SQL",  # Updated description
                inputSchema={
                    "type": "object",
                    "properties": {
                        "container_name": {  # Renamed from table_name
                            "type": "string",
                            "description": "Name of the Cosmos DB container",  # Updated description
                        },
                        "database_name": {
                            "type": "string",
                            "description": "Name of the Cosmos DB database (optional, defaults to 'defaultdb')",
                        },
                        "query": {
                            "type": "string",
                            "description": "Cosmos DB SQL query string",
                        },
                        "parameters": {
                            "type": "array",
                            "description": "Parameters for the SQL query (optional)",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "name": {"type": "string"},
                                    "value": {},  # Value can be any type
                                },
                            },
                        },
                    },
                    "required": ["container_name", "query"],
                },
            ),
        ]

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/mashriram/azure_mcp_server'

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