Skip to main content
Glama

onboard_dataset

Register datasets via column names, inline records, or CSV for semantic querying. Role profiling and background training begin immediately; fallback models answer until training improves accuracy.

Instructions

Register a dataset for semantic querying. Pass column names, inline records, or raw CSV. The engine profiles roles automatically and starts background training. Queries work immediately via a fallback model — accuracy improves once schema-specific training completes (poll status with list_datasets). Registration persists the dataset under the active API key's organization. Use connect_data for live connections instead of inline rows. Returns dataset_id, schema_hash, status, model_tier, column_count, and suggested_aliases. Which to use: inline columns, records, or CSV registered for semantic querying with background training (track model_tier with list_datasets); use connect_data for live refreshable connections, or register_source for formula and join-key profiling.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
csvNoRaw CSV text with header row.
nameNoHuman-readable name for this dataset.dataset
columnsNoColumn names only — fastest path, no data required.
recordsNoSample rows as JSON records (list of dicts). Up to 200 rows.
async_trainNoStart background semantic training immediately (default: true).
domain_aliasesNoOptional map of abbreviation → expansions. Example: {"ppa": ["per", "person", "average"]}. Auto-suggested if omitted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations are sparse (all false), so the description carries the burden of behavioral disclosure. It reveals that registration persists data under the active API key's organization, starts background training, and uses a fallback model for immediate queries. It also lists return fields. This goes beyond annotations and gives useful context about side effects and training behavior.

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

Conciseness3/5

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

The description is informative but somewhat verbose, with repetition in the final sentence ('Which to use: ...') that echoes earlier guidance. The front-loaded purpose statement is good, but the redundancy and length reduce conciseness. It could be tightened without losing meaning.

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

Completeness4/5

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

Given the complexity (6 params, nested objects, no output schema), the description covers essential aspects: purpose, input modes, training behavior, fallback model, persistence, and return fields. It also routes to alternatives. While it doesn't explicitly mention the name, async_train, or domain_aliases parameters, the schema covers those, and the description adds enough context for an agent to decide and invoke correctly.

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?

Schema coverage is 100%, so all parameters have descriptions. The description adds value by clarifying the three input modes (columns, records, or CSV) and implying the async_train behavior via 'starts background training.' It also mentions auto-suggested aliases indirectly. This is more than a baseline 3 because it synthesizes parameter usage into actionable guidance.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Register a dataset for semantic querying.' It distinguishes itself from siblings by explicitly mentioning connect_data for live connections and register_source for formula and join-key profiling. The verb 'register' is specific and matches the tool name.

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

Usage Guidelines5/5

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

The description gives explicit guidance on when to use this tool versus alternatives: 'Use connect_data for live connections instead of inline rows' and 'use connect_data for live refreshable connections, or register_source for formula and join-key profiling.' It also advises polling status with list_datasets, providing a clear decision path.

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

Deploy Server

Other Tools