Skip to main content
Glama
BauplanLabs

Bauplan MCP Server

Official
by BauplanLabs

create_table

Create an empty Iceberg table by inferring schema from parquet, CSV, or JSONL files in an S3 URI. Supports partitioning and optional replacement.

Instructions

Create an empty table from an S3 URI identifying parquet, csv or JSONL files in S3. The table schema is automatically inferred from the files at the given search uri.

Args: table: Name of the table to create. search_uri: S3 URI to search for parquet files. branch: branch name. namespace: Optional namespace (defaults to "bauplan"). partitioned_by: Optional partitioning column. replace: Optional flag to replace existing table.

Returns: TableCreated: Object indicating success/failure with table details.

NOTE: This tool creates a ICEBERG table with the schema of the file(s) in the URI but it does not populate the table.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tableYes
search_uriYes
branchYes
namespaceNo
partitioned_byNo
replaceNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
table_nameYes
namespaceYes
successYes
messageYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the full burden. It discloses that the table is ICEBERG and not populated, and that it returns a TableCreated object. However, it omits details on error behavior (e.g., if table exists without replace flag) and does not mention permissions or side effects, leaving gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a clear one-sentence summary, followed by a structured parameter list and a crucial note about not populating the table. It is concise (78 words) and well-organized, with no unnecessary repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters) and missing annotations, the description covers the basic purpose and parameter meanings, and references the output. However, it lacks details on the 'replace' behavior (e.g., success vs error when table exists) and does not mention relationships to sibling tools, leaving uncertainty for complex use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, but the tool description includes a parameter list with brief explanations (e.g., 'table: Name of the table to create', 'partitioned_by: Optional partitioning column'). This adds significant meaning beyond the raw schema, though some parameters like 'namespace' lack detail on defaults beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates an empty table from an S3 URI, specifying supported file types (parquet, csv, JSONL) and automatic schema inference. However, it does not differentiate from sibling tools like plan_table_creation or apply_table_creation_plan, which limits clarity about when to use this tool directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., plan_table_creation). It does not mention prerequisites, exclusions, or typical use cases, leaving the agent to infer usage context without explicit direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/BauplanLabs/bauplan-mcp-server'

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