Skip to main content
Glama

Get runtime behavior and lifecycle contracts

get_behavior
Read-only

Retrieve the public behavior API for Sekura Design System components, including TypeScript declarations, selectors, events, and cleanup. Filter by component ID or exported API name; omit ID for all.

Instructions

Complete public behavior API, including exact TypeScript declarations and supporting types. Filter by component id or exported API name; omit id for the full catalogue. Includes automatic selectors, manual initialization, cleanup, events and application responsibilities.

Input Schema

NameRequiredDescriptionDefault
idNo

Output Schema

NameRequiredDescriptionDefault
idYes
apiYes
eventsYes
runtimeNo
versionYes
componentsYes
migrationToolYes
schemaVersionYes
initializationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv3.2.1
    • addedOutput schema / properties / runtime
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "autoSelectors": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "capabilities": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "controllers": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "identity": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "attribute": {
      +              "type": "string"
      +            },
      +            "description": {
      +              "type": "string"
      +            },
      +            "requiredFor": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "attribute",
      +            "requiredFor",
      +            "description"
      +          ],
      +          "type": "object"
      +        },
      +        "manualOnly": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "notes": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "purposes": {
      +          "items": {
      +            "enum": [
      +              "navigation",
      +              "commands",
      +              "disclosure",
      +              "selection"
      +            ],
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "requirements": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "autoMarker": {
      +                "type": "string"
      +              },
      +              "controller": {
      +                "type": "string"
      +              },
      +              "description": {
      +                "type": "string"
      +              },
      +              "manualOnly": {
      +                "type": "boolean"
      +              },
      +              "when": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "attribute": {
      +                    "type": "string"
      +                  },
      +                  "className": {
      +                    "type": "string"
      +                  },
      +                  "value": {
      +                    "type": "string"
      +                  }
      +                },
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "controller",
      +              "when",
      +              "description"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "stateOwnership": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "application": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "controller": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "controller",
      +            "application"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "controllers",
      +        "autoSelectors",
      +        "manualOnly",
      +        "notes"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
  2. Addedv3.0.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful scope context about what content is included (events, cleanup, responsibilities), but says nothing about response size, pagination, or truncation for what may be a large declaration dump.

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?

Two sentences, front-loaded with what the tool returns before the filtering mechanics. The trailing content enumeration is slightly run-on but every clause adds identifying detail rather than 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?

An output schema exists, so return values need not be explained, and annotations cover the read-only nature. The description supplies scope and filtering behavior adequately, with the only real gap being lack of differentiation from sibling content tools.

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?

Schema coverage is 0% and the schema only says id is a non-empty string. The description compensates by explaining that id accepts either a component id or an exported API name, and that omitting it returns the full catalogue — real meaning the schema does not supply.

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+resource ('public behavior API') and enumerates the content it returns (TypeScript declarations, automatic selectors, manual initialization, cleanup, events, application responsibilities). This is concrete and differentiable, but it never names which sibling it should be preferred over (e.g. get_component_code or get_component), leaving the boundary implicit.

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?

'Filter by component id or exported API name; omit id for the full catalogue' gives clear usage of the id, but there is no when-to-use guidance versus the many sibling tools that also return component material. Usage is implied rather than contrasted with alternatives.

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