Skip to main content
Glama

get_metaschema_source

Reads line ranges from bundled OSCAL Metaschema source files or lists files with line counts, so you can verify source-file and line references in OSCAL definitions and constraints.

Instructions

Read a line range of a bundled OSCAL Metaschema source file verbatim, or list the files with line counts when file is omitted. Use when checking a source-file and line from get_definition, get_allowed_values, get_constraints, or find_references_to. A response may hold fewer lines to fit the response budget; continue from end-line + 1 while has-more is true.

Input Schema

NameRequiredDescriptionDefault
fileNoBundle-relative path exactly as listed, e.g. "oscal_component_metaschema.xml". Omit to list the files.
line_countNoMaximum lines to return, 1-500.
start_lineNo1-based first line to return.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.1

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does real work: it discloses that reads are verbatim, that responses may be truncated to fit a response budget, and that continuation requires advancing to `end-line` + 1 while `has-more` is true. It doesn't state error behavior for a bad path or an out-of-range line, which keeps it short of a 5.

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?

Front-loaded with the primary action and the fallback listing mode, then the trigger, then the pagination caveat — a sensible ordering. It is slightly longer than strictly needed and has an awkward mid-sentence line break, but no sentence is filler.

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?

For a read-only, zero-required-parameter tool with no output schema and no annotations, the description covers purpose, trigger, and the continuation protocol involving `end-line` and `has-more`. Only the shape of the non-truncated response (what a 'file listing' entry looks like) is left implicit.

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 file, line_count, and start_line are already documented, including the 1-500 bound and the omit-to-list behavior. The description restates the dual-mode meaning of `file` but adds no format or edge-case detail beyond the schema, so the baseline 3 applies.

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 names a specific verb and resource (read a line range of a bundled OSCAL Metaschema source file) and explicitly covers the second mode (list files with line counts when `file` is omitted). An agent can distinguish this from siblings like get_oscal_schema or list_oscal_resources without opening the schema.

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 gives an explicit trigger: use when checking a `source-file` and `line` returned by get_definition, get_allowed_values, get_constraints, or find_references_to. That names the exact upstream tools whose output feeds this one, which is stronger than a generic when-to-use statement.

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