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. 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'. 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

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnlyHint=true annotation, the description discloses determinism, unmetered access, tier-independent recommendations, snapshot freshness (fetched_at, age_seconds), explicit failure on missing/stale snapshots, and the fact that no static catalog is served as live. This substantially exceeds the annotation baseline.

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 description is long but dense; the first sentence front-loads the purpose, and every subsequent clause adds needed operational detail. Slightly verbose for the format, but aptly sized for an interactive tool with snapshot, tier, and failure-mode nuances.

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 output schema presence and complexity, the description fully covers the iterative question/response cycle, final recommendation details, authorization visibility, snapshot metadata, and disagreement handling with list_workflow_types. Failure modes are also specified; no significant gap remains.

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. The description adds interactive usage context: all arguments optional, take values from previous question options, use ['unscoped'], and the typical invocation example. The schema already carries the detailed field descriptions, so the marginal value is useful but not transformative.

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 precise verb and resource: 'Scope a compliance workflow down to ONE concrete workflow id'. It clearly distinguishes itself from siblings by stating it answers what the catalog cannot and explicitly contrasts with list_workflow_types. The return behavior (question vs recommendation) is also specified.

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?

Provides explicit when-to-use and when-not-to-use guidance: call with any known info, use list_workflow_types and start_workflow directly for unlisted frameworks, and re-scope on registry changes. Includes a concrete typical opening example with parameters.

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.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, but a few pairs overlap: get_current_step vs get_progress, search_cve vs search_by_product, and describe_capabilities vs get_my_capabilities. The descriptions provide enough detail to differentiate them, but agents could still occasionally misselect.

Naming Consistency4/5

Names overwhelmingly follow a verb_noun snake_case pattern (get_*, list_*, search_*, start_*, etc.). Minor deviations like 'diff' and 'search' (single-word) and 'batch_search' (compound modifier) are predictable and don't disrupt the overall consistency.

Tool Count3/5

With 30 tools, the server is on the heavier side. The broad scope (legal intelligence, CVE data, full workflow engine) justifies many tools, but some are internal or niche (probe_corpus, recommend_subagents) and could be hidden. It's borderline between well-scoped and excessive.

Completeness4/5

The legal and CVE domains are well-covered: search, provision lookup, validation, diff, coverage, and detailed CVE enrichment. Workflow management is end-to-end. However, get_regulatory_deadlines is referenced by get_regulatory_intelligence_status but not exposed in the toolset, leaving a notable gap.