Skip to main content
Glama
SAS MCP Server

SAS MCP Server

Official
by sassoftware

Register Model

register_model
Destructive

Registers a SAS model in SAS Model Manager from a CAS analytic store or DATA step score code, storing its variables, properties and score code.

Instructions

Register a SAS model in SAS Model Manager with PROC REGISTERMODEL.

Takes either an analytic store in CAS (astore_caslib + astore_table, as written by savestate rstore=) or DATA step score code (score_code). Not Python or DS2 models. The procedure stores the model's variables, properties and score code, and with assessment its fit statistics, ROC and lift. It runs in a compute session of its own and takes 5–30 seconds.

The project is project_id, or the project named project in the repository (created there when missing, in project_folder).

A model with the same name already in the project is refused unless replace is true. Replacing deletes that model and creates one with a new ID, which loses its score tests, publish history and monitoring: ask the user before passing replace.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>"
    },
    "name": "register_model"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesThe model's name in the project.
modelerNoOptional name of who built the model.
projectNoProject name (found or created in ``repository``).
replaceNoReplace a model of the same name (see above).
functionNoCLASSIFICATION or PREDICTION, as a keyword.
algorithmNoThe algorithm, as a keyword: TREE, FOREST, GRADBOOST, LOGISTIC, REGRESSION, NEURAL, SVM, ...
assessmentNoCompute fit statistics, ROC and lift (default: when a data table and a target are given).
data_tableNoThe table the model was trained on. It defines the input variables of DATA step code and is needed for assessment.
project_idNoAn existing project's ID, instead of ``project``.
repositoryNoRepository name (default: the deployment's ``MCP_DEFAULT_MODEL_REPOSITORY``, ``Public`` unless changed).
score_codeNoDATA step score code, instead of an analytic store.
data_caslibNoCaslib of the training or validation table.
descriptionNoOptional description.
astore_tableNoThe analytic store table.
target_eventNoThe event value of a binary or nominal target, such as ``1``.
target_levelNo``binary``, ``nominal`` or ``interval``.
astore_caslibNoCaslib of the analytic store table.
project_folderNoFolder in the repository for a new project; one folder name, not a path.
target_variableNoThe target variable.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.19.2

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing that replace deletes the existing model, assigns a new ID, and loses score tests, publish history, and monitoring, plus expected runtime (5–30 seconds) and that it runs in its own compute session. These are exactly the consequences an agent needs before invoking a destructiveHint=true operation.

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?

Front-loads the core action and input modes, then covers project resolution and the replace hazard in short paragraphs with key terms bolded. Length is justified by the 19-parameter surface, and no sentence is filler.

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?

Output schema and annotations carry much of the burden, and the description covers the two input modes, project creation semantics, and replace consequences. It stops short of explicitly stating that one of the astore pair or score_code is effectively required, leaving a small gap for a 19-parameter tool.

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 the baseline is 3, but the description adds real meaning: the project_id vs project-dragging-project_folder relationship, the default repository fallback, and the conditional default for assessment. It adds value beyond the schema rather than repeating it.

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?

States a specific verb and resource ('Register a SAS model in SAS Model Manager with PROC REGISTERMODEL') and narrows scope with 'Not Python or DS2 models.' It does not name the sibling register_ml_champion_model or explain how it differs, so the agent must infer the boundary between the two registration tools.

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?

Gives clear input-mode selection (an analytic store via astore_caslib + astore_table, as written by savestate rstore=, or DATA step score_code) and an explicit caution to ask the user before passing replace. It leaves the choice against sibling registration/project tools unstated.

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