Skip to main content
Glama
Aryan-Jhaveri

Statistics Canada MCP Server

create_table_from_data

Create a SQLite table from your data and insert all rows immediately. Automatically infers column names and types from the first record, overwriting any existing table to store API data in one step.

Instructions

Creates a new SQLite table from the provided data AND immediately inserts all rows. Infers column names and types from the first item in the data list. WARNING: Overwrites the table if it already exists.

Use this as a single step to store fetched API data — no need to call insert_data_into_table afterwards. Use insert_data_into_table only to append more rows to an already-existing table.

Args: table_input: Object containing table_name and data (list of dicts).

Returns: Dict[str, Any]: A summary with table name, columns created, and rows inserted.

IMPORTANT: The database is persistent and does NOT clean itself automatically. This tool overwrites the table if it exists, giving you a clean slate each call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesData to insert, as a list of dictionaries.
table_nameYesName for the SQL table (alphanumeric and underscores recommended).
Behavior5/5

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

No annotations exist, so the description carries the full burden. It discloses critical behaviors: overwriting existing tables ('WARNING: Overwrites the table if it already exists'), persistence without auto-cleanup, column inference from the first data item, and immediate row insertion. This goes well beyond a minimal description.

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 the core purpose and contains useful sections (warning, usage, returns). It is slightly redundant—'IMPORTANT' repeats the overwrite warning—and the inaccurate 'Args' section adds confusion. Overall it is well-structured but could be tightened.

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?

For a mutating database tool with no annotations and no output schema, the description covers the essential aspects: what it does, how it infers schema, overwriting behavior, return summary, and distinction from append tool. It lacks details on error handling or atomicity, but is sufficient for most agent use cases.

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

Parameters2/5

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

The schema already covers both parameters (100% coverage). However, the description's 'Args' line says 'table_input: Object containing table_name and data', which contradicts the schema's flat structure of top-level table_name and data. This could mislead the agent into passing a nested object, and no additional parameter semantics are provided.

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 opens with a specific verb+resource: 'Creates a new SQLite table from the provided data AND immediately inserts all rows.' This clearly distinguishes it from the sibling insert_data_into_table by stating it is a single-step operation and explicitly directs users to the alternative for appending rows.

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?

Explicit when-to-use guidance is provided: 'Use this as a single step to store fetched API data — no need to call insert_data_into_table afterwards. Use insert_data_into_table only to append more rows to an already-existing table.' This names the alternative tool and specifies the exact use case for each.

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/Aryan-Jhaveri/mcp-statcan'

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