SAS MCP Server
A Model Context Protocol (MCP) server for executing SAS code on SAS Viya environments.
Features
Execute SAS code on SAS Viya compute contexts
OAuth2 authentication with PKCE flow
HTTP-based MCP server compatible with MCP clients
Getting Started
Prerequisites
Required
SAS Viya environment with compute service
Setup the Viya environment for MCP
See configuration.md
Optional
Docker: refer to docker setup
Installation
Clone the repository:
Install dependencies
NOTE: This will by default create a virtual environment called .venv in the project's root directory.
If for some reason the virtual environment is not created, please run uv venv and then re-run uv sync.
Usage
Configure environment variables:
Edit .env and set
Start the MCP server:
The server will be available at http://localhost:8134/mcp by default.
Available Tools
execute_sas_code: Execute SAS code snippets and retrieve execution results (log and listing output)
MCP Client Configuration
Add to your MCP client configuration (e.g., .vscode/mcp.json):
Example
Execute SAS code through the MCP tool:
For more details, configuration options, and deployment options, please refer to the
Contributing
Maintainers are accepting patches and contributions to this project. Please read CONTRIBUTING.md for details about submitting contributions to this project.
License & Attribution
Except for the the contents of the /static folder, this project is licensed under the Apache 2.0 License. Elements in the /static folder are owned by SAS and are not released under an open source license. SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.
Separate commercial licenses for SAS software (e.g., SAS Viya) are not included and are required to use these capabilities with SAS software.
All third-party trademarks referenced belong to their respective owners and are only used here for identification and reference purposes, and not to imply any affiliation or endorsement by the trademark owners.
This project requires the usage of the following:
Python, see the Python license here
FastMCP, under the Apache 2.0 License
uvicorn, under the BSD 3-Clause
starlette, under the BSD 3-Clause
httpx, under the MIT license
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables execution of SAS code on SAS Viya compute environments with OAuth2 authentication. Allows users to run SAS programs and retrieve execution results including logs and output through the Model Context Protocol.