Skip to main content
Glama
Mipiti
by Mipiti

Import Threat Model Archive

import_threat_model_archive

Import a JSON audit archive into a target workspace to clone or move a threat model between workspaces. Creates a new unverified model without overwriting existing ones.

Instructions

Import a JSON audit archive (from export_report (scope="model", format="archive")) into a target workspace.

Mutating: creates a NEW threat model in the target workspace. Requires write access to that workspace. A fresh model_id is assigned on every import, so the same envelope can be imported any number of times without collisions; title collisions in the target workspace auto-suffix (imported YYYY-MM-DD). Non-destructive — never overwrites or touches an existing model.

Use to move or clone a model between workspaces or across instances; the envelope round-trips through export_report (scope="model", format="archive") first.

The archive carries the model's current state, and the import creates it as version 1 of a new model: its controls, live assertions, decisions in force and open findings. Earlier versions, activity and chat are not carried.

The restored model arrives UNVERIFIED. The tier verdicts on its assertions, the attested flag on a verification result, and the facts a verification run reported are the origin's record of what it claimed — kept with the model as that record, and not credited here: a verdict belongs to the run that produced it and the judge that decided it, and this workspace has neither. Verification is earned here by running it against code this workspace can reach, so plan for a restored model to read unverified until it has. The same holds for the judgements of its mitigation groups: the import queues none, and its objectives read awaiting judgement until someone asks for them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
envelopeYesThe full archive dict returned by ``export_report (scope="model", format="archive")``.
workspace_idYesTarget workspace to import into.
server_versionYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.68.2
    • changedInput schema / properties / envelope / description
      Previous value: -"The full archive dict returned by\n``export_threat_model_archive``."New value: +"The full archive dict returned by\n``export_report (scope=\"model\", format=\"archive\")``."
  2. Changed1 schema field changedv0.66.0
    • changedInput schema / properties / envelope / description
      Previous value: -"The full archive dict returned by\n`export_threat_model_archive`."New value: +"The full archive dict returned by\n``export_threat_model_archive``."
  3. Addedv0.62.2
  4. Removedv0.62.1
  5. First observedv0.57.0

TDQS

A4.6/5.0
Behavior5/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 so thoroughly: it declares the tool mutating, states the write-access requirement, explains that a fresh model_id is assigned so re-imports never collide, describes title auto-suffixing, and asserts non-destructiveness (never overwrites an existing model). It goes further by enumerating what the archive carries versus what it drops, and by warning that the restored model arrives unverified with origin verdicts kept only as a record.

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?

The critical facts (mutating, creates new model, requires write access, non-destructive) are front-loaded before the longer provenance and verification caveats. The prose is dense and multi-paragraph, with some restatement of the envelope/export_report relationship, but given the tool's complexity nearly every sentence conveys distinct behavior.

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?

An output schema exists, so return values need no explanation, and the description still covers everything an agent needs: prerequisites, identity/collision semantics, scope of what is restored, and the important caveat that verdicts and mitigation-group judgements do not carry over. Nothing material is missing for a 3-parameter tool with a nested envelope.

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 description coverage is 67% (envelope and workspace_id documented; server_version bare), so the description must add some value and does: it clarifies that the envelope is the archive produced by export_report and spells out what that archive contains. It adds little for server_version, but overall it enriches the two meaningful parameters beyond the schema.

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 first sentence states a specific verb (Import) and resource (a JSON audit archive) plus its destination (target workspace), and the second sentence specifies the exact effect: creating a NEW threat model. This is clearly distinguishable from siblings like import_controls, import_functional_tests, and import_compliance_framework, which handle different artifact types.

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

Usage Guidelines4/5

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

It explicitly names the use case ('move or clone a model between workspaces or across instances') and the required counterpart tool ('round-trips through export_report (scope="model", format="archive") first'), which tells the agent where the envelope comes from. It does not, however, state any when-not-to-use conditions or contrast with the other import_* siblings.

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

Deploy Server

Other Tools