Skip to main content
Glama

Ansvar: EU Compliance & Legal Intelligence

Scope Workflow

scope_workflow
Read-only

Scope a compliance workflow down to ONE concrete workflow id before spending a run. This answers what the catalog cannot: which of the registry's ids fits THIS user's system, jurisdiction and framework. Call it with whatever you already know — every argument is optional — and it returns either the next scoping question with its allowed options (put that question to the user, then call again with their answer) or the single workflow_type to start, why that one, whether this caller may run it, and what a higher tier adds. Unmetered and visible at every tier: scoping never spends a run, and the recommendation is the same id whatever the caller pays, so a free caller sees what the product does before buying it. Deterministic — questions, options and the recommendation are projections of the workflow registry, never a guess. Every answer carries the registry snapshot it was computed from (fetched_at, age_seconds): the snapshot refreshes on an interval, so re-scope rather than replay an id across a registry change, and treat list_workflow_types as the authority when the two disagree. Typical opening: the user says 'Using Ansvar, we need a NIS2 gap analysis for our Dutch plant' — call scope_workflow(objective='gap_analysis', framework='nis2', jurisdictions=['NL']), then pass the id it returns to start_workflow. When the user asks which laws or regulations apply to their product, service or entity ('Using Ansvar, which laws apply to our EV charger in Sweden?'), the objective is 'regulatory_applicability_register'. Ambiguity comes back as the next question, never as a list of maybes, and every question's options are the complete set this tool accepts — for a framework it does not list, call list_workflow_types and start_workflow directly. A missing or stale registry snapshot fails explicitly; no static catalog is served as if it were live.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
frameworkNoControl-set key the assessment is against, such as 'nis2', 'dora', 'cra' or 'eu_ai_act'. Pass 'none' when the user is not assessing against a framework. Take the value from the framework question's options rather than guessing a spelling — the key and the id suffix differ (gap_analysis_ai_act binds eu_ai_act).
objectiveNoWhat the user needs produced, as a workflow family value from a previous scope_workflow question's options — for example 'gap_analysis', 'threat_model', 'dpia', 'risk_assessment', or 'regulatory_applicability_register' for which laws apply to a product, service or entity. Leave empty on the first call and this tool asks for it.
system_kindNoWhich kind of system is under assessment, as the exact value from a system_kind question's options — that question is how an IT product, an OT plant and a drone operation are told apart when framework and jurisdiction cannot separate them.
jurisdictionsNoISO-2 codes the assessment covers, such as ['NL'] or ['SE', 'EU']. Workflows with no jurisdictional variant stay eligible — they are the generic form. Pass ['unscoped'] to ask for that generic form on purpose.
documents_availableNoWhether the user has documents (policies, SoA, supplier contracts) to ground the assessment in. Recorded and reported back; it does not change which workflow is recommended, because the registry publishes no per-workflow document requirement to decide it on.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / objective / description
      Previous value: -"What the user needs produced, as a workflow family value from a previous scope_workflow question's options — for example 'gap_analysis', 'threat_model', 'dpia', 'risk_assessment'. Leave empty on the first call and this tool asks for it."New value: +"What the user needs produced, as a workflow family value from a previous scope_workflow question's options — for example 'gap_analysis', 'threat_model', 'dpia', 'risk_assessment', or 'regulatory_applicability_register' for which laws apply to a product, service or entity. Leave empty on the first call and this tool asks for it."
  2. Added

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint/destructiveHint=false/openWorldHint=false), the description discloses unmetered cost, tier-invariant recommendations, determinism as a projection of the registry, snapshot provenance fields (fetched_at, age_seconds), instruction to re-scope rather than replay across a registry change, and explicit failure on a missing or stale snapshot with no static catalog substitution. This is unusually rich behavioral context for a read-only tool.

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?

Front-loaded with the core purpose and the sibling routing before the detail, and structured as what/why/how/guarantees. It is long (~300 words) with some near-redundancy between 'Unmetered and visible at every tier: scoping never spends a run' and 'the recommendation is the same id whatever the caller pays', which costs it a point.

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?

Even though an output schema exists (so return values need not be explained), the description still names the return shape (next question with options, or the single workflow_type plus rationale and tier note), covers failure modes and staleness, and closes the ambiguity question ('ambiguity comes back as the next question, never as a list of maybes'). Nothing an agent needs to call it correctly 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 baseline is 3, but the description adds genuinely new meaning: the iterative call pattern ('call it with whatever you already know — every argument is optional', empty objective on first call triggers a question), and semantics for documents_available ('does not change which workflow is recommended'). It also maps natural language to the objective value ('which laws apply ... EV charger in Sweden' -> 'regulatory_applicability_register').

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 opening states a specific verb and resource with scope: 'Scope a compliance workflow down to ONE concrete workflow id before spending a run', and immediately positions it against siblings ('this answers what the catalog cannot', 'treat list_workflow_types as the authority when the two disagree', 'pass the id it returns to start_workflow'). An agent can distinguish it from list_workflow_types and start_workflow without opening a schema.

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?

Explicit when-to-use with worked examples ('the user says Using Ansvar, we need a NIS2 gap analysis for our Dutch plant'), an explicit when-not plus the alternative to take ('for a framework it does not list, call list_workflow_types and start_workflow directly'), and the iterative protocol ('put that question to the user, then call again with their answer'). Nothing about routing is left to 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.