Skip to main content
Glama
sassoftware

SAS MCP Server

Official
by sassoftware

Create Ml Project

create_ml_project

Create an AutoML pipeline project from a CAS table. Validates the table is in global memory first and returns an actionable error if not, so you can promote and retry.

Instructions

Create a new AutoML pipeline automation project from a CAS table.

The training table must already be loaded into CAS memory at global scope. This tool verifies that first and returns an actionable error otherwise (use promote_table_to_memory to load + promote a source table, and list_source_tables to find one). The data-table URI is built from server_id/caslib_name/table_name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
auto_runNoWhether to automatically run pipelines after creation (default True).
server_idNoCAS server name or ID (default 'cas-shared-default').cas-shared-default
table_nameYesName of the (loaded, global) training table.
caslib_nameYesCaslib containing the training table.
descriptionNoOptional project description.
project_nameYesName for the project.
prediction_typeNo'binary', 'interval', or 'nominal' (default 'binary').binary
target_variableYesName of the target/response variable.
target_event_levelNoTarget event level for binary/nominal classification (default '1').1

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv1.2.0
    • addedInput schema / properties / caslib_name
      Added value: +{
      +  "description": "Caslib containing the training table.",
      +  "type": "string"
      +}
    • removedInput schema / properties / data_table_uri
      Removed value: -{
      -  "description": "URI of the training data table (e.g. '/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/HMEQ').",
      -  "type": "string"
      -}
    • addedInput schema / properties / server_id
      Added value: +{
      +  "default": "cas-shared-default",
      +  "description": "CAS server name or ID (default 'cas-shared-default').",
      +  "type": "string"
      +}
    • addedInput schema / properties / table_name
      Added value: +{
      +  "description": "Name of the (loaded, global) training table.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "project_name",
      -  "data_table_uri",
      -  "target_variable"
      -]New value: +[
      +  "project_name",
      +  "caslib_name",
      +  "table_name",
      +  "target_variable"
      +]
  2. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Beyond the annotations, the description discloses that the tool verifies table memory scope before proceeding and returns an actionable error otherwise. It also explains how the data-table URI is constructed. This adds meaningful behavioral context that the annotations and schema do not provide. It does not mention the auto_run default side effect, but the core verification behavior is clearly disclosed.

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?

The description is compact and front-loaded: the main purpose appears first, followed by a dense but relevant prerequisite paragraph. Every sentence contributes either purpose, precondition, error behavior, or parameter context. No filler or repetition is present.

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 9-parameter creation tool with a full schema and output schema present, the description covers the critical prerequisite, verification behavior, and URI construction. It does not explain the auto_run side effect or the meaning of prediction_type, but the schema already handles parameter definitions. The main gap is the lack of mention that creation may trigger automatic pipeline runs.

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 description coverage is 100%, so the schema already documents all parameters. The description adds extra value by explaining that the data-table URI is built from server_id/caslib_name/table_name and by emphasizing the memory/scope requirement for the table. This helps the agent understand relationships between parameters beyond their individual schema descriptions.

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 and resource: 'Create a new AutoML pipeline automation project from a CAS table.' This clearly distinguishes the tool from siblings like list_ml_projects, run_ml_project, and other create_* tools. The source is specified as a CAS table, which immediately orients the agent.

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?

The description explicitly states the precondition that the training table must be loaded into CAS memory at global scope, and references promote_table_to_memory and list_source_tables as the relevant helpers. It does not explicitly contrast with list_ml_projects or run_ml_project, but the prerequisite and pointer to alternative preparation tools provide strong when-to-use guidance.

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