Skip to main content
Glama

Ansvar: EU Compliance & Legal Intelligence

Start Workflow

start_workflow

Begin a structured workflow selected from the live workflow registry. The registry covers threat and privacy modeling; enterprise, automotive, robot, rail, OT and UAS risk/TARA; DPIA and FRIA; regulatory, medical-device, drone and machinery gap analysis; tender review and audit; document review; SORA authorisation; vulnerability prioritisation; and deferral dossiers. Call list_workflow_types first: it is the authoritative source of exact ids, deliverables, required slots, variants, and availability for this caller. When a fresh registry snapshot is available, this tool's workflow_type input schema carries a caller-authorized enum; otherwise it remains a string rather than silently falling back to a stale catalog. The workflow engine guides the process step by step with quality gates. Each step's questions_for_user is advisory — answerable from context or uploaded documents; only steps returning requires_user_input=true carry the server-enforced human-input gate. Which types you can start is tier-fenced: free and solo include ten types (1 and 2 runs a month) — threat_model, gap_analysis with its gap_analysis_nis2, gap_analysis_dora, gap_analysis_cra, gap_analysis_ai_act, gap_analysis_zero_trust and gap_analysis_vulnerability_management variants, dpia and the CMMC Level 1 self-assessment cmmc_l1_self, each reported as JSON or as an html or pdf — at those tiers the framework argument accepts only nis2, dora, cra or eu_ai_act, the base gap_analysis needs one of them, and gap_analysis_zero_trust and gap_analysis_vulnerability_management take none (each binds its own control set); Premium adds the rest of the interview-grounded catalog — LINDDUN, the TARA families, FRIA and the jurisdictional DPIA and gap variants, SORA, the drone and OT types, machinery conformity, enterprise risk, adversary tabletop and the scoped threat delta — with 5 runs a month; document review, the tender family and the DORA ICT-contract and register-of-information variants require Team or Company. MiCA CASP and AMLR readiness are Premium workflows. A CMMC POA&M closeout (32 CFR 170.21) is started with the same CMMC type as the initial run and closeout_of set to its workflow_id. A start SPENDS a run from the monthly allowance, and on free and solo a cancel does not hand an unused one back — name the workflow_type you intend to the user and get their OK before calling this, and check get_my_capabilities for what is left.

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": {
      "workflow_type": "<workflow_type>"
    },
    "name": "start_workflow"
  }
}

Input Schema

NameRequiredDescriptionDefault
frameworkNoRegulatory framework the run is scoped to, such as 'nis2', 'dora', 'cra', or 'eu_ai_act'. Free and solo accept only those four, the base gap_analysis type requires one of them, and gap_analysis_zero_trust and gap_analysis_vulnerability_management take none (each binds its own control set). Empty leaves the workflow's own default in place.
closeout_ofNoCMMC self-assessment types only (cmmc_self_assessment, cmmc_l1_self, cmmc_l2_self): the workflow_id (a UUID) of your own earlier initial run of the same level that ended in a conditional status with a recorded status date. The new run is the 180-day POA&M closeout assessment under 32 CFR 170.21 and spends a run like any other start. The workflow service refuses a run that is not yours, not conditional, or has no recorded status date. Empty starts an initial assessment.
jurisdictionsNoISO-2 codes of the jurisdictions the assessment covers, such as ['SE', 'EU']. Empty leaves the workflow to ask for scope in a later step.
parent_run_idNosupplier_assurance_review only: the workflow_id of a completed run of the same type in your organisation that this run follows, for example after new evidence arrives once a decision is recorded. The parent run and its report are never changed. Empty starts an ordinary run.
workflow_typeYesExact workflow type id from list_workflow_types, such as 'threat_model' or 'gap_analysis_nis2'. When a fresh registry snapshot is available this argument carries an enum of the ids this caller may start; otherwise call list_workflow_types rather than guessing an id from an example. Starting a workflow spends a run from the monthly allowance.
succession_reasonNoRequired with parent_run_id: why this run follows its parent, for example 'new SOC 2 report after the decision'.
baseline_report_idNoReport id of an earlier run of the same workflow whose gaps this run is compared against (gap-analysis maturity cycles). Copy the report_id from generate_report. The workflow service requires the same organisation and framework and validates compatibility. Empty starts a run without a baseline.
entity_descriptionNoPlain-language description of the organisation or system being assessed, used to ground the workflow's first steps — for example 'a Swedish payments SaaS processing card data for EU merchants'.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / baseline_report_id
      Added value: +{
      +  "default": "",
      +  "description": "Report id of an earlier run of the same workflow whose gaps this run is compared against (gap-analysis maturity cycles). Copy the report_id from generate_report. The workflow service requires the same organisation and framework and validates compatibility. Empty starts a run without a baseline.",
      +  "title": "Baseline Report Id",
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / properties / framework / description
      Previous value: -"Regulatory framework the run is scoped to, such as 'nis2', 'dora', 'cra', or 'eu_ai_act'. Free and solo accept only those four, and the base gap_analysis type requires one of them. Empty leaves the workflow's own default in place."New value: +"Regulatory framework the run is scoped to, such as 'nis2', 'dora', 'cra', or 'eu_ai_act'. Free and solo accept only those four, the base gap_analysis type requires one of them, and gap_analysis_zero_trust and gap_analysis_vulnerability_management take none (each binds its own control set). Empty leaves the workflow's own default in place."
    • changedInput schema / properties / workflow_type / enum
      Previous value: -[
      -  "cmmc_l1_self",
      -  "dpia",
      -  "gap_analysis",
      -  "gap_analysis_ai_act",
      -  "gap_analysis_cra",
      -  "gap_analysis_dora",
      -  "gap_analysis_nis2",
      -  "threat_model"
      -]New value: +[
      +  "cmmc_l1_self",
      +  "dpia",
      +  "gap_analysis",
      +  "gap_analysis_ai_act",
      +  "gap_analysis_cra",
      +  "gap_analysis_dora",
      +  "gap_analysis_nis2",
      +  "gap_analysis_vulnerability_management",
      +  "gap_analysis_zero_trust",
      +  "threat_model"
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / workflow_type / enum
      Previous value: -[
      -  "dpia",
      -  "gap_analysis",
      -  "gap_analysis_ai_act",
      -  "gap_analysis_cra",
      -  "gap_analysis_dora",
      -  "gap_analysis_nis2",
      -  "threat_model"
      -]New value: +[
      +  "cmmc_l1_self",
      +  "dpia",
      +  "gap_analysis",
      +  "gap_analysis_ai_act",
      +  "gap_analysis_cra",
      +  "gap_analysis_dora",
      +  "gap_analysis_nis2",
      +  "threat_model"
      +]
  4. Changed1 schema field changed
    • addedInput schema / properties / closeout_of
      Added value: +{
      +  "default": "",
      +  "description": "CMMC self-assessment types only (cmmc_self_assessment, cmmc_l1_self, cmmc_l2_self): the workflow_id (a UUID) of your own earlier initial run of the same level that ended in a conditional status with a recorded status date. The new run is the 180-day POA&M closeout assessment under 32 CFR 170.21 and spends a run like any other start. The workflow service refuses a run that is not yours, not conditional, or has no recorded status date. Empty starts an initial assessment.",
      +  "title": "Closeout Of",
      +  "type": "string"
      +}
  5. Changed2 schema fields changed
    • addedInput schema / properties / parent_run_id
      Added value: +{
      +  "default": "",
      +  "description": "supplier_assurance_review only: the workflow_id of a completed run of the same type in your organisation that this run follows, for example after new evidence arrives once a decision is recorded. The parent run and its report are never changed. Empty starts an ordinary run.",
      +  "title": "Parent Run Id",
      +  "type": "string"
      +}
    • addedInput schema / properties / succession_reason
      Added value: +{
      +  "default": "",
      +  "description": "Required with parent_run_id: why this run follows its parent, for example 'new SOC 2 report after the decision'.",
      +  "title": "Succession Reason",
      +  "type": "string"
      +}
  6. Changed4 schema fields changed
    • addedInput schema / properties / entity_description / description
      Added value: +"Plain-language description of the organisation or system being assessed, used to ground the workflow's first steps — for example 'a Swedish payments SaaS processing card data for EU merchants'."
    • addedInput schema / properties / framework / description
      Added value: +"Regulatory framework the run is scoped to, such as 'nis2', 'dora', 'cra', or 'eu_ai_act'. Free and solo accept only those four, and the base gap_analysis type requires one of them. Empty leaves the workflow's own default in place."
    • addedInput schema / properties / jurisdictions / description
      Added value: +"ISO-2 codes of the jurisdictions the assessment covers, such as ['SE', 'EU']. Empty leaves the workflow to ask for scope in a later step."
    • addedInput schema / properties / workflow_type / description
      Added value: +"Exact workflow type id from list_workflow_types, such as 'threat_model' or 'gap_analysis_nis2'. When a fresh registry snapshot is available this argument carries an enum of the ids this caller may start; otherwise call list_workflow_types rather than guessing an id from an example. Starting a workflow spends a run from the monthly allowance."
  7. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, destructiveHint=false and openWorldHint=false; the description goes well beyond by disclosing that a start SPENDS a run from a monthly allowance, that cancelling on free/solo does not refund it, the exact tier-fencing per plan and run count, and the requires_user_input gate semantics per step. These are consequential traits no structured field carries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The critical guidance (call list_workflow_types first, confirm with the user, runs are spent) is front-loaded, which is good. However the middle is a very dense single-paragraph enumeration of every workflow type and tier carve-out that is largely redundant with the enum and schema descriptions, making it harder to scan than it needs to be.

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?

For a high-stakes, quota-spending mutation with 8 parameters, the description covers the prerequisites, the cost, the tier restrictions, the confirmation requirement, and points to the two sibling tools needed for correct invocation. An output schema exists, so return values need not be explained, and nothing an agent needs to call this safely is missing.

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 100%, so the baseline is 3, but the description adds tier-conditioned meaning the schema does not convey — e.g. that at free/solo the framework argument accepts only nis2/dora/cra/eu_ai_act, that base gap_analysis requires one, and that zero_trust/vulnerability_management take none. It also explains the CMMC POA&M closeout pattern for closeout_of. A slight deduction because some of this duplicates the enum/parameter descriptions in the schema rather than adding new semantics.

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+resource ('Begin a structured workflow selected from the live workflow registry') and then enumerates the actual catalog domains (threat modeling, TARA, DPIA/FRIA, gap analysis, SORA, tender review). This distinguishes it cleanly from list_workflows, list_workflow_types, scope_workflow and resume_workflow, which are about discovering, scoping or continuing rather than starting a run.

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?

It explicitly routes the agent: 'Call list_workflow_types first: it is the authoritative source of exact ids', and 'check get_my_capabilities for what is left'. It also states a precondition for calling at all — 'name the workflow_type you intend to the user and get their OK before calling this' — which is a genuine when-to-use/when-not gate rather than an inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.