Skip to content
appsgit

SAS Viya

SAS Viya is an MCP server that adds developer tools to AI assistants such as Claude Desktop, Claude Code and Cursor. Execute SAS code and query Compute, CAS, and model APIs on SAS Viya via OAuth… It has 62 GitHub stars, is released under the Apache-2.0 license and runs locally with docker run -i --rm -e VIYA_ENDPOINT ghcr.io/sassoftware/sas-mcp-server:1.18.0.

github.com/sassoftware/sas-mcp-server (opens in a new tab)

Install SAS Viya

Generated from the server's MCP registry entry. Replace your-value with your own values.

Claude Desktop

claude_desktop_config.json
{
  "mcpServers": {
    "sas-viya": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "VIYA_ENDPOINT",
        "ghcr.io/sassoftware/sas-mcp-server:1.18.0"
      ],
      "env": {
        "VIYA_ENDPOINT": "your-value"
      }
    }
  }
}

Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.

Claude Code

claude mcp add --env VIYA_ENDPOINT=your-value --transport stdio sas-viya -- docker run -i --rm -e VIYA_ENDPOINT ghcr.io/sassoftware/sas-mcp-server:1.18.0

Cursor

.cursor/mcp.json
{
  "mcpServers": {
    "sas-viya": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "VIYA_ENDPOINT",
        "ghcr.io/sassoftware/sas-mcp-server:1.18.0"
      ],
      "env": {
        "VIYA_ENDPOINT": "your-value"
      }
    }
  }
}

Project file; use ~/.cursor/mcp.json to enable it in every project.

VS Code

.vscode/mcp.json
{
  "servers": {
    "sas-viya": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "VIYA_ENDPOINT",
        "ghcr.io/sassoftware/sas-mcp-server:1.18.0"
      ],
      "env": {
        "VIYA_ENDPOINT": "your-value"
      }
    }
  }
}

Config formats checked against the official docs on Oct 7, 2026: modelcontextprotocol.io (opens in a new tab), code.claude.com (opens in a new tab), cursor.com (opens in a new tab), code.visualstudio.com (opens in a new tab).

Environment variables

Variables the server reads at startup.

NameRequiredDescription
VIYA_ENDPOINTYesBase URL of your SAS Viya environment, e.g. https://viya.example.com. No trailing slash.
SSL_VERIFYNoSet false only for a self-signed Viya certificate. Disables verification for the whole process, so prefer a trusted certificate.
CLIENT_IDNoSASLogon OAuth client id used for the token refresh exchange.
COMPUTE_CONTEXT_NAMENoCompute context that backs SAS code execution.
MCP_TIERSNoExpose only some tool tiers, e.g. 0-4 or 0,1,7. Empty exposes all 92 tools. Tiers: 0 Compute, 1 Data Discovery, 2 Data Operations, 3 Reports, 4 Batch Jobs, 5…
MCP_READ_ONLYNoExpose only tools that neither change server-side state nor cause server-side work (51 of 92). Composes with MCP_TIERS.
MCP_APPSNoRegister interactive views (MCP Apps) for the data, SAS log and glossary tools. Additive: text-only clients are unaffected. Set false to register none.
MCP_STATELESS_HTTPNoServe HTTP requests without an MCP session. Needed by clients that speak only the sessionless 2026-07-28 protocol revision (claude.ai custom connectors); the…
VIYA_CLIENT_TIMEOUTNoTimeout in seconds for every SAS Viya REST call the tools make.

Tools (40)

Parsed from the Tools section of the README; check the repository for the current list.

  • execute_sas_code

    Execute SAS code snippets and retrieve execution results (log and listing output), plus a link to the HTML results…

  • list_compute_contexts

    List available compute contexts

  • reset_compute_session

    Delete the cached compute session for a context, discarding its SAS state and forcing a fresh session on the next call

  • catalog_search

    Search the catalog for assets (tables, columns, reports, …) using the SAS catalog search grammar (free text, facets…

  • catalog_search_helper

    Discover how to query the catalog — list the available facets, or the valid values for one facet — so you can build…

  • catalog_find_instance

    Resolve the catalog instance for a source-asset resourceuri, bridging a search hit to the profiling and download tools…

  • catalog_run_adhoc_analysis

    Submit an ad-hoc profiling job for a table. NLP enrichment (language, sentiment, semantic IDs) is on by default,…

  • catalog_get_adhoc_analysis

    Poll a profiling job and cross-check the target instance, reporting profileready once results have landed on the asset…

  • catalog_download_table_profile

    Download a table's data dictionary and column profile as CSV, identified by either instanceid or resourceuri.

  • catalog_list_agents

    List the catalog's discovery agents (the crawlers that populate metadata).

  • catalog_run_agent

    Start a discovery agent run (asynchronous) to crawl its data source and refresh catalog metadata.

  • catalog_get_agent_history

    Inspect an agent's run history — status and how much metadata each run enumerated/added/updated/removed.

  • list_cas_servers

    List available CAS servers

  • list_caslibs

    List CAS libraries on a server

  • list_castables

    List tables in a CAS library

  • list_source_tables

    List source tables not yet loaded into memory (candidates for promotion)

  • get_castable_info

    Get table metadata (row count, columns, size)

  • get_castable_columns

    Get column names, types, labels, formats

  • get_castable_data

    Fetch sample rows from a CAS table

  • query_data

    Run a FedSQL SELECT against CAS or compute data and get the rows back — one SQL surface over both storage tiers.

  • list_compute_libraries

    List the SAS libraries (librefs) assigned in a compute context

  • list_compute_tables

    List the tables in a SAS library within a compute context

  • list_compute_columns

    List the columns of a table in a SAS library

  • get_compute_table_data

    Fetch a page of rows from a table in a SAS library, values formatted as SAS displays them — the compute-tier…

  • upload_data

    Upload a data file into a CAS table — read server-side so the data never passes through the model's context — from…

  • upload_inline_data

    Create a small CAS table from inline csv/tsv text passed as a string (a lookup/mapping table the model builds on the…

  • promote_table_to_memory

    Load a source table into memory at global scope (idempotent)

  • list_files

    List files in the Viya Files Service

  • upload_file

    Upload a file to the Viya Files Service, optionally into a Content folder (parentfolderuri).

  • download_file

    Download file content

  • list_reports

    List Visual Analytics reports

  • get_report

    Get report metadata and definition

  • export_report

    export a report (or specific report objects) in any format the VA service supports — package (zip), pdf, png, svg,…

  • describe_report_objects

    Discover what a report can contain — the eight report operations and every addable object (bar chart, list table, geo…

  • create_report

    Create a Visual Analytics report and return its id. Optionally pass an operations array to build the whole report in…

  • apply_report_operations

    The authoring workhorse — apply an ordered batch of native VA operations (addData, addPage, addObject, updateObject,…

  • get_report_outline

    Read a report's structure back — pages → objects with the handles the other tools need (object name for…

  • copy_report

    Copy a report to a new one (optionally renaming/refoldering). Pairs with a changeData operation for the…

  • delete_report

    Delete a report and its content.

  • submit_batch_job

    Submit a SAS job for async execution

About SAS Viya

A Model Context Protocol (MCP) server for executing SAS code, training AutoML projects, scoring models and so much more for SAS Viya environments.

  • sas-aiml
  • sas-osp

FAQ

SAS Viya FAQ

Still curious? Email info@appsgit.com.

What is SAS Viya?

SAS Viya is an MCP server that adds developer tools to AI assistants such as Claude Desktop, Claude Code and Cursor. Execute SAS code and query Compute, CAS, and model APIs on SAS Viya via OAuth… It has 62 GitHub stars, is released under the Apache-2.0 license and runs locally with docker run -i --rm -e VIYA_ENDPOINT ghcr.io/sassoftware/sas-mcp-server:1.18.0. The source code is at github.com/sassoftware/sas-mcp-server.

How do I install the SAS Viya MCP server?

Add the command docker run -i --rm -e VIYA_ENDPOINT ghcr.io/sassoftware/sas-mcp-server:1.18.0 to your MCP client: put it in claude_desktop_config.json for Claude Desktop, run claude mcp add for Claude Code, or add it to .cursor/mcp.json (Cursor) or .vscode/mcp.json (VS Code). The snippets on this page are ready to paste.

Is SAS Viya free?

The server is open source under the Apache-2.0 license, so running it is free. It does not declare any required API key.

Is SAS Viya actively maintained?

The most recent commit was on Sep 29, 2026. The latest release is v1.18.0, published Sep 29, 2026. appsgit only lists MCP servers with a commit in the last six months and re-checks every server daily.