Browse
browseFull Description
List files/directories in storage datasources with results loaded into DuckDB on REMOTE server.
**IMPORTANT
- Remote Workspace:**
This tool operates in a REMOTE sandboxed Linux environment provisioned for you and the user, NOT your local machine.
- Browse results are stored in DuckDB on the REMOTE server, not locally
- Use workspace_sync() to transfer files to Google Drive if you need them locally
About Your REMOTE Workspace: This MCP server provides a REMOTE sandboxed Linux data workspace with integrated query execution and analysis capabilities. Browse results are automatically loaded into persistent DuckDB tables (on the REMOTE server), allowing you to:
- Query file listings with SQL (pattern matching, filtering, sorting)
- Analyze directory structures programmatically
- Results persist in DuckDB for iterative exploration
Lists immediate children at specified path (like 'ls'). Complete listing is loaded into persistent DuckDB table on REMOTE server for SQL analysis. This tool response shows first 10 items as preview - use query() on the DuckDB table to see all results and apply filters/pattern matching. Large directories (>60s) run async.
Multi-bucket datasources: When path is empty and multiple buckets exist, returns bucket list for LLM auto-selection. LLM should analyze context and select the appropriate bucket, then call browse() again with bucket name in path.
Supports: S3, Azure Blob (ABFSS), Delta Lake storage datasources Does NOT support: SQL databases, APIs - use query() for those
Args: datasource_name: Storage datasource from list_datasources() (check capabilities=["browse"]) path: Directory path (default: "" for root, use "/" separators) For multi-bucket datasources: "bucket-name/" or "bucket-name/subdir/" detailed: Include sizes/timestamps (slower, default: False)
Returns: Bucket Selection: {execution_mode: "bucket_selection_required", available_buckets: [...]} Sync: {execution_mode: "sync", result: {duckdb_table_name, row_count, preview: [first 10]}} Async: {execution_mode: "async", operation_id, status: "running", next_action} Table schema: name, type, full_path, size (if detailed), modified (if detailed)
Example: >>> browse("MULTI_BUCKET_S3", "")
Returns bucket list for selection
{"execution_mode": "bucket_selection_required", "available_buckets": ["bucket-a", "bucket-b"]}
>>> browse("MULTI_BUCKET_S3", "bucket-a/prod/")
Browse specific bucket
{"result": {"duckdb_table_name": "storage_multi_bucket_s3_bucket_a_prod", "row_count": 150}}
>>> query("DUCKDB", "DUCKDB/find_csvs.duckdb")
Analyze listing
find_csvs.duckdb: SELECT * FROM storage_multi_bucket_s3_bucket_a_prod WHERE name LIKE '%.csv'
Parameters (1 required, 2 optional)
datasource_namestringdetailedbooleanFalsepathstring