Skip to main content
Glama
Mipiti
by Mipiti

set_threat_model_parent

Set or clear a threat model's parent to control inheritance on the composition tree, wiring children under shared-services ancestors or re-rooting after re-org. Enforces cycle and depth limits, then returns the updated model.

Instructions

Set (or clear) a model's parent on the recursive composition tree.

The composition substrate (Layer 0) builds an ancestor chain from each model's parent_id so child models inherit topology, control objectives, and other entities from their ancestors. Use this tool when wiring a child model under a platform / system / shared-services ancestor, or when re-rooting a model after a re-org.

Pass parent_id=None to clear the parent (the model becomes a tree root). The server rejects cycles (you cannot make a descendant your parent) and over-deep chains (depth bounded by the platform's configured maximum tree depth) with HTTP 400. Bumps the model version on success.

Returns the updated threat model.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
model_idYesID of the threat model whose parent is being set.
parent_idYesID of the new parent model, or ``None`` to clear.
server_versionYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

With no annotations provided, the description carries the full burden. It discloses key behaviors: the ancestor chain construction, inheritance semantics, cycle rejection (HTTP 400), depth limits, version bumping, and return of updated model. This goes far beyond a basic action statement.

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?

The description is well-structured and front-loaded with the core action. Every sentence adds value: context, usage, edge cases, error handling, and side effects. It is concise without being terse, and organized into logical paragraphs.

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

Completeness5/5

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

Given the tool's complexity and the absence of annotations, the description covers purpose, usage, behavioral nuance, error conditions, and return value. The presence of an output schema means the described return is sufficient. No significant gaps remain.

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?

The description adds meaning to parent_id by explaining that None clears the parent and that cycles/depth violations are rejected. However, server_version is completely undocumented in the schema and not mentioned in the description, leaving a gap at 67% schema coverage. The parent_id semantics are enhanced, but not all parameters are addressed.

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 opens with a specific verb and resource: 'Set (or clear) a model's parent on the recursive composition tree.' This clearly distinguishes the tool from siblings like delete_threat_model or rename_threat_model, and the purpose is unambiguous.

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?

The description explicitly states when to use the tool: 'Use this tool when wiring a child model under a platform / system / shared-services ancestor, or when re-rooting a model after a re-org.' It also explains the clear-parent case with parent_id=None, giving concrete usage guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mipiti/mipiti-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server