Skip to main content
Glama

SACS.ai MCP — California School District Financial Data

sacs_get_csam_related

Read-onlyIdempotent

Retrieve related CSAM 2024 sections/content using its source-evidenced knowledge graph. Start with a procedure number, a chunk_id from sacs_search_csam, a returned node_id, or short heading/code/glossary keywords (exactly one selector). Defaults to explicit references in both directions. Choose relations contains/in_procedure for hierarchy, defines/mentions for code or glossary connections, within_range for numeric code membership, or next for source adjacency; depth 1–2. Every result explains its evidence path and returns at most one cited text/Markdown chunk; representative content is partial. Query node_id=csam:2024:manual with relations=[contains] to browse structure. Use include_content=false for topology-only pages. No database/model calls or paid entitlement required.

Input Schema

NameRequiredDescriptionDefault
depthNo
limitNo
queryNo
offsetNo
node_idNo
chunk_idNo
client_idNo
directionNoboth
procedureNo
relationsNo
node_kindsNo
include_contentNo

Output Schema

NameRequiredDescriptionDefault
okYes
dataNo
errorNo
request_idYes
limitationsNo
data_versionYes
contract_versionNosacs.mcp.v1
source_provenanceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond readOnly/idempotent/non-destructive annotations, the description discloses real behavioral traits: defaults to explicit references in both directions, depth capped at 1–2, each result explains its evidence path, and at most one cited text/Markdown chunk is returned with representative content being partial. That last point is a substantive limitation an agent would otherwise only discover after calling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and nearly every clause carries information — selectors, relation routing, depth bound, example, content toggle, no-entitlement note. The main weakness is that it is delivered as one dense run-on paragraph, so the selector rules and relation semantics do not visually separate; a light structural split would improve scanability without adding length.

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

Completeness4/5

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

An output schema exists, so return-value explanation is not required, yet the description still usefully pins down the one-chunk/partial-content behavior. It covers selector choice, relation semantics, depth, and content suppression — the decisions that determine correctness — but is silent on pagination (limit/offset), direction, and node_kinds filtering, which an agent may need for large or narrowed traversals.

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

Parameters4/5

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

With 0% schema description coverage across 12 parameters, the description carries the burden and does well on the highest-risk ones: it explains query/chunk_id/node_id/procedure as mutually exclusive selectors (a constraint the schema does not encode), defines the semantics of each relation enum value, and caps depth and explains include_content. It leaves limit, offset, direction (beyond the 'both directions' default), node_kinds, and client_id unaddressed, so it is strong but not complete for a 12-param surface.

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 uses a specific verb and resource — retrieving CSAM 2024 sections/content via a source-evidenced knowledge graph — and immediately distinguishes itself from the sibling `sacs_search_csam` by positioning that tool as a source of chunk_ids rather than a competitor. An agent can tell what this tool returns (related/connected nodes) versus what search returns (matches).

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?

It enumerates every valid entry selector (procedure number, chunk_id from sacs_search_csam, node_id, or keywords) and explicitly constrains them to "exactly one selector," then routes relation choice by intent: contains/in_procedure for hierarchy, defines/mentions for code/glossary, within_range for numeric membership, next for adjacency. The `include_content=false` hint and the manual-browse example give concrete when-to-use guidance, plus a clear disclosure that no model/database calls or paid entitlement are required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources