Skip to main content
Glama
sassoftware

SAS MCP Server

Official
by sassoftware

Get Compute Table Data

get_compute_table_data
Read-onlyIdempotent

Retrieve rows from a SAS library table with formatted column values as displayed in the compute session, including WORK tables from prior code. Use for browsing data pages.

Instructions

Fetch rows from a table in a SAS library, with column names.

The compute-tier counterpart of get_castable_data: a plain page of rows from libref.table as the session sees it, read through the compute session's data API rather than by running SQL. Values arrive formatted the way SAS displays them (dates as text, numbers with their format applied), which is what a person browsing a table expects; use query_data with target='compute' when you need raw numerics, a WHERE clause, or a join.

Runs in the reusable per-user compute session for the context, so WORK tables from earlier execute_sas_code calls are visible.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum rows to return (default 100).
startNoRow offset for paging (default 0).
table_nameYesThe table within the library.
library_nameYesThe libref, e.g. ``WORK`` or ``SASHELP``.
compute_context_nameYesName of the compute context (see list_compute_contexts).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.15.0

TDQS

A4.7/5.0
Behavior5/5

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

The annotations already declare readOnly, idempotent, and non-destructive, and the description enriches beyond that: it works through the compute session's data API (not SQL), formats values as SAS displays them, and exposes WORK tables from prior execute_sas_code calls. These are behavioral specifics that no annotation carries.

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 front-loaded with a concise one-line purpose, then two tightly written paragraphs that earn their place: one differentiates from siblings and states the trade-offs, the other clarifies session semantics. No filler or repeated schema content.

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 paginated fetch tool with a full input schema, the description is complete: it covers alternative tools, output format behavior ('dates as text, numbers with their format applied'), session visibility, and when to avoid this tool. No missing information an agent would need to invoke it 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 coverage is 100%, so the baseline applies: the input schema already documents all five parameters with descriptions and defaults. The description adds useful session-level context (e.g., what compute_context_name means for visibility of WORK tables), but does not systematically add per-parameter meaning beyond the schema.

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 opens with a specific verb and resource: 'Fetch rows from a table in a SAS library, with column names.' It immediately distinguishes itself from siblings: it is the compute-tier counterpart of get_castable_data and not query_data, clarifying exactly what this tool does differently.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is explicit: it contrasts with get_castable_data and names query_data with target='compute' as the right choice when raw numerics, a WHERE clause, or a join are needed. It also notes the session-aware nature ('as the session sees it'), which tells an agent precisely when this is the right fetch operation.

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