list_databases
Retrieve all available databases in Snowflake to identify and access data sources for querying and analysis.
Instructions
List all available databases in Snowflake
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/mcp_snowflake_server/server.py:53-88 (handler)The handler function that executes the tool logic: queries Snowflake INFORMATION_SCHEMA.DATABASES, filters excluded databases, formats output as YAML/JSON.async def handle_list_databases(arguments, db, *_, exclusion_config=None, exclude_json_results=False): query = "SELECT DATABASE_NAME FROM INFORMATION_SCHEMA.DATABASES" data, data_id = await db.execute_query(query) # Filter out excluded databases if exclusion_config and "databases" in exclusion_config and exclusion_config["databases"]: filtered_data = [] for item in data: db_name = item.get("DATABASE_NAME", "") exclude = False for pattern in exclusion_config["databases"]: if pattern.lower() in db_name.lower(): exclude = True break if not exclude: filtered_data.append(item) data = filtered_data output = { "type": "data", "data_id": data_id, "data": data, } yaml_output = to_yaml(output) json_output = to_json(output) results: list[ResponseType] = [types.TextContent(type="text", text=yaml_output)] if not exclude_json_results: results.append( types.EmbeddedResource( type="resource", resource=types.TextResourceContents( uri=f"data://{data_id}", text=json_output, mimeType="application/json" ), ) ) return results
- src/mcp_snowflake_server/server.py:384-391 (registration)Registers the 'list_databases' tool in the all_tools list, including name, description, empty input schema, and handler reference.name="list_databases", description="List all available databases in Snowflake", input_schema={ "type": "object", "properties": {}, }, handler=handle_list_databases, ),
- Defines the input schema for list_databases tool: an empty object (no parameters required).input_schema={ "type": "object", "properties": {}, },