cosmosdb_container_list
Lists all containers in a Cosmos DB database to manage and organize data storage. Specify the database name to retrieve container information.
Instructions
List all Cosmos DB containers in a database
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| database_name | No | Name of the Cosmos DB database (optional, defaults to 'defaultdb') |
Implementation Reference
- mcp_server_azure/azure_server.py:259-262 (handler)Handler logic for the cosmosdb_container_list tool: retrieves the list of containers from the Cosmos DB database and extracts their names into a response dictionary.elif name == "cosmosdb_container_list": # Renamed from table to container containers = list(database.list_containers()) container_names = [c["id"] for c in containers] response = {"container_names": container_names}
- Input schema definition for the cosmosdb_container_list tool, which optionally takes a database_name parameter.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')", } }, }, ),
- mcp_server_azure/azure_tools.py:115-328 (registration)The get_cosmosdb_tools function registers the cosmosdb_container_list tool by including it in the list returned for tool discovery.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"], }, ), ]
- mcp_server_azure/azure_server.py:171-176 (registration)Server's list_tools handler that returns all Azure tools, including cosmosdb_container_list via get_azure_tools().@server.list_tools() async def list_tools() -> list[Tool]: """List available Azure tools""" logger.debug("Handling list_tools request") return get_azure_tools() # Use get_azure_tools