Skip to main content
Glama

Metis ยท Software Engineer โ€” Generate Profiling Script

generate_profiling_script

Generates a safe profiling script that computes dataset aggregates like variable names, types, ranges, and missingness without exposing row-level data.

Instructions

Generate a safe profiling script tailored to a specific dataset.

The generated script runs on the user's machine and reports ONLY
aggregates: variable names, types, unique counts, ranges, missingness,
and value frequencies (capped at 30 levels).  No row-level data leaves
the machine.  Output is structured JSON matching the register_data_dictionary
schema, ready for ingest_profiling_output().

If data_dictionary entries already exist for this dataset, the script
includes checks for those specific variables.

Args:
    dataset_name: Name of the dataset (used in filenames and DB).
    project_id:   Project ID for looking up existing variable info.
    language:     "r" or "python" (default "r").
    dataset_path: Path to the data file on disk. If empty, a placeholder is used.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
languageNor
project_idNo
dataset_nameYes
dataset_pathNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

With no annotations provided, description fully discloses key behaviors: no row-level data leaves the machine, only aggregates reported, output format matches register_data_dictionary schema. Safety promise is explicit.

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

Conciseness5/5

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

Concise yet complete: one-line summary, behavioral notes, and args section. No redundant sentences; every sentence adds value.

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?

Covers output format and safety guarantees. Lacks mention of prerequisites (e.g., R/Python installed) and error scenarios, but given output schema is present, description does not need to explain return values.

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

Parameters5/5

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

Args section explains each parameter beyond schema metadata (e.g., dataset_path usage, language options). Schema had 0% coverage, so description fully compensates with clear semantics.

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?

Description clearly states the verb ('Generate'), resource ('profiling script'), and tailoring ('tailored to a specific dataset'). It distinguishes from sibling 'profile_dataset' by emphasizing safety and aggregate-only output.

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

Usage Guidelines4/5

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

Provides clear context for when to use, including optional checks for existing data dictionary entries. Lacks explicit when-not-to-use or alternative tools, but purpose is clear enough.

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/SVerITG/Metis'

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