Skip to main content
Glama

list_profile_imports

List imports in loaded OSCAL Profiles with paged results and positional IDs, then retrieve each import's OSCAL JSON for compliance review.

Instructions

List imports in loaded OSCAL Profiles, with positional IDs (import-0, import-1). Get an import's OSCAL JSON with get_child_element. Results are paged.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_profile_imports"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum items per page, 1-100.
offsetNoZero-based index of the first item.
parent_doc_uuidNoUUID of one parent document to scope results to. Omit for all documents.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.7.1
    • addedInput schema / properties / limit / description
      Added value: +"Maximum items per page, 1-100."
    • addedInput schema / properties / offset / description
      Added value: +"Zero-based index of the first item."
    • addedInput schema / properties / parent_doc_uuid / description
      Added value: +"UUID of one parent document to scope results to. Omit for all documents."
  2. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It does disclose two valuable traits: results are paged, and each import carries a positional ID scheme (import-0, import-1). However it says nothing about permissions, ordering guarantees, or what a returned item contains beyond its ID. Useful but partial disclosure for an unannotated tool.

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?

Three short sentences, front-loaded with the core action, each contributing distinct information: what is listed, the ID convention, the follow-up tool, and the paging behavior. No padding.

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 simple list tool with no output schema and no annotations, the description covers retrieval, the ID format used to address results, the follow-up mechanism, and pagination. What's missing is only what a returned import looks like structurally, which is minor given the ID convention hints at it.

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% — limit, offset, and parent_doc_uuid are all fully documented with ranges and defaults. The description adds no parameter-level detail beyond noting paging, so baseline 3 is appropriate; the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'List imports in loaded OSCAL Profiles.' The sub-resource ('imports' within a profile) is naturally distinguishable from siblings like list_profiles or query_profile which operate at the profile level. It does not explicitly name a competing sibling, so a 4 rather than 5.

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

Usage Guidelines3/5

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

It does route the agent to a follow-up tool ('Get an import's OSCAL JSON with get_child_element'), which is useful next-step guidance. But it never states when to use this versus query_profile or list_profiles, nor that a profile must already be loaded for this to work. Usage is implied rather than explicit.

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