Skip to main content
Glama

get_capability

Retrieves a single OSCAL Capability by UUID as JSON, returning null if none exists. Use when working with Component Definitions that contain capabilities.

Instructions

Get one Capability by UUID as OSCAL JSON, or null when no Capability has that UUID. Use when working with Component Definitions that contain capabilities.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "uuid": "<uuid>"
    },
    "name": "get_capability"
  }
}

Input Schema

NameRequiredDescriptionDefault
uuidYesUUID of the Capability, from list_capabilities.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.7.1
    • removedInput schema / properties / uuid / default
      Removed value: -""
    • addedInput schema / properties / uuid / description
      Added value: +"UUID of the Capability, from list_capabilities."
    • addedInput schema / required
      Added value: +[
      +  "uuid"
      +]
  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?

No annotations are provided, so the description carries the full burden. It usefully discloses the null-on-miss behavior and the output format, but says nothing about permissions, error cases, or whether the result is a read-only snapshot; the 'get' verb implies a read, so the gap is moderate rather than severe.

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?

Two short sentences, front-loaded with the operation and return type, with the null case and usage context attached. Nothing is redundant or padded.

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?

With an output schema present, a single fully documented parameter, and no annotations, the description covers the essentials: what it fetches, the identifier source, and the miss behavior. Only explicit sibling routing and permission/error context are absent.

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% and the uuid parameter already documents itself as 'UUID of the Capability, from list_capabilities.' The description only restates 'by UUID' and adds no syntax, format, or sourcing detail beyond the schema, so baseline 3 applies.

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 ('Get one Capability by UUID') plus the exact return shape (OSCAL JSON). The word 'one' implicitly contrasts with the sibling list_capabilities and list_oscal_resources, but it never names the alternative explicitly.

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?

'Use when working with Component Definitions that contain capabilities' gives loose context but no real when/when-not criteria or explicit routing to list_capabilities for enumeration. An agent can infer usage but must guess at the boundary.

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