Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_API_KEYNoOptional API key to require from MCP clients (sent as X-API-Key or Authorization: Bearer)
MCP_TRANSPORTNoMCP transport to use: set to 'sse' to serve SSE instead of the default Streamable HTTP (http)
SCOPE_ENFORCENoWhether to enforce the scope: 'true' (default) blocks out-of-scope access, 'false' only hides from listings
USE_CASE_NAMENoName of the use case for scoping the assistant (returned by get_use_case)
VIYA_ENDPOINTNoThe base URL of your SAS Viya environment (e.g. https://your-viya-server.com)
VIYA_PASSWORDNoYour SAS Viya password for server-side authentication (stdin/direct HTTP modes)
VIYA_USERNAMENoYour SAS Viya username for server-side authentication (stdin/direct HTTP modes)
ALLOWED_MODELSNoComma- or newline-separated list of allowed model IDs or names
ALLOWED_TABLESNoComma- or newline-separated list of allowed CAS tables (table, caslib.table, or server.caslib.table)
ALLOWED_DECISIONSNoComma- or newline-separated list of allowed decision / MAS-module IDs or names
VIYA_REFRESH_TOKENNoA refresh token for headless authentication to SSO/federated environments (e.g. Okta) when password grant is not available
USE_CASE_DESCRIPTIONNoDescription of the use case for scoping the assistant

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_use_caseA

Return this assistant's use-case scope: the datasets, models, and decisions it is limited to.

Call this first to learn which resources you may work with. If the assistant is not scoped to a use case, scoped is false and you have full access to the environment.

execute_sas_codeA

Executes the provided SAS code in the Viya environment and returns information about the completed Job. This will create a job definition for the SAS code, execute it, and then retrieve the results.

render_chartA

Render an interactive chart in the chat UI.

Use whenever the user asks to show / plot / visualize / graph / compare data, or when a chart makes the answer clearer than text. Call this AFTER fetching the rows with the data tools (e.g. get_castable_data) or computing them with execute_sas_code, then pass the rows in as data. Keep data small — aggregate or limit to just the rows you want to chart.

The chart is drawn by the user interface from this call; the tool itself does no plotting and returns the normalized chart spec.

list_cas_serversA

List available CAS servers on the Viya environment.

list_caslibsA

List CAS libraries (caslibs) available on a CAS server.

list_castablesB

List tables in a CAS library.

get_castable_infoA

Get metadata for a CAS table (row count, column count, size, etc.).

get_castable_columnsA

Get column metadata for a CAS table (names, types, labels, formats).

get_castable_dataB

Fetch rows from a CAS table with column names.

upload_dataC

Upload CSV data into a CAS table.

promote_table_to_memoryA

Promote a CAS table to global scope (makes it visible to all sessions).

list_filesB

List files in the Viya Files Service.

upload_fileB

Upload a file to the Viya Files Service.

download_fileB

Download file content from the Viya Files Service.

generate_synthetic_dataA

Generate a synthetic CAS table from a column specification.

Use this to create realistic mock data on request (e.g. a driver-risk dataset for a demo). Recommended flow: first PROPOSE the column schema to the user in chat and get their agreement, THEN call this tool. The rows are generated in SAS and saved to CAS as a promoted (global) table, immediately usable by the data, charting, AutoML, and scoring tools.

If a table with the requested name already exists, a numbered variant is created automatically (no error). Very large requests are capped to a safe maximum rather than failing.

submit_batch_jobA

Submit a SAS job for asynchronous execution via the Job Execution service.

get_job_statusB

Check the status of a submitted job.

list_jobsB

List recent jobs from the Job Execution service.

cancel_jobC

Cancel a running job.

get_job_logA

Retrieve the log of a completed job.

list_ml_projectsB

List AutoML pipeline automation projects.

create_ml_projectA

Create a new AutoML pipeline automation project.

SAS auto-detects the target's measurement level from the data; for classification targets, target_event_level selects the modeled event level. The data table must be loaded in CAS.

run_ml_projectC

Run an AutoML pipeline automation project.

delete_ml_projectA

Delete an AutoML pipeline automation project.

Use this to remove a project (for example, to start over with a different configuration) instead of calling the REST API from SAS code.

list_registered_modelsA

List models in the Model Repository.

list_models_and_decisionsB

List published scoring models and decisions (MAS modules).

score_dataB

Score data against a published model or decision (MAS module).

explain_dataA

Explain a column of a CAS table in relation to the other columns (SAS Insights).

Returns natural-language descriptions of the variable, its outliers, and variable-screening results — useful for understanding which variables drive a target before exploring or modelling the data.

Prompts

Interactive templates invoked by user choice

NameDescription
debug_sas_logAnalyze a SAS log for errors, warnings, and notes with root-cause explanations and suggested fixes.
explore_datasetGenerate comprehensive SAS data-profiling code (CONTENTS, MEANS, FREQ, UNIVARIATE).
data_quality_checkGenerate SAS code for a data quality assessment (completeness, uniqueness, validity).
statistical_analysisSet up a complete SAS statistical analysis workflow with diagnostics.
optimize_sas_codeReview and optimize SAS code for performance, readability, or both.
explain_sas_codeProvide a block-by-block explanation of SAS code, tailored to skill level.
sas_macro_builderBuild a production-quality reusable SAS macro.
generate_reportGenerate SAS ODS/PROC REPORT code for formatted output.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/raedaldweik/SAS_MCP_Server_personal'

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