Skip to main content
Glama
sassoftware

SAS MCP Server

Official
by sassoftware

List Compute Libraries

list_compute_libraries
Read-onlyIdempotent

Retrieve SAS libraries (librefs) assigned in a compute context, including libraries created in the same session by prior code execution. Use this to identify available data sources.

Instructions

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

Runs in the reusable per-user compute session for the context, so it also sees libraries created by prior execute_sas_code calls.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of libraries to return (default 50).
startNoOffset of the first library to return (default 0).
filter_nameNoOptional name filter (substring match).
compute_context_nameYesName of the compute context (see list_compute_contexts).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.2.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds valuable behavioral context beyond annotations by explaining that the listing reflects the state of the per-user compute session and includes libraries created by prior execute_sas_code calls. This session-dependent behavior is important for an agent to understand.

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, with the core purpose stated in the first sentence and the important session-context nuance in the second. Every sentence adds value without redundancy or unnecessary explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list operation with an output schema, rich annotations, and 100% parameter schema coverage, the description covers the essential behavioral nuance: session persistence and visibility of prior execute_sas_code results. Nothing critical is missing for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are already well documented in the schema. The description does not add parameter-level meaning, but the existing schema descriptions for limit, start, filter_name, and compute_context_name are sufficient. This matches the baseline for high schema coverage.

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 clearly states the action ('List') and the resource ('SAS libraries (librefs) assigned in a compute context'), which is specific enough to distinguish it from sibling tools like list_compute_contexts, list_caslibs, and list_compute_tables. It also adds a meaningful scoping detail: the libraries are those visible in the per-user compute session.

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 gives clear context about when this tool is useful, especially noting that it runs in the reusable per-user compute session and sees libraries created by prior execute_sas_code calls. It does not explicitly name alternative tools or state when not to use them, but the compute-session framing implicitly differentiates it from static listings like list_caslibs.

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