Skip to main content
Glama

Obligations by entity type

get_public_obligations
Read-onlyIdempotent

Retrieve baseline regulatory obligations for any Norwegian entity type (AS, ENK, ANS, DA, NUF) without naming a specific company. Get the universal obligation set to answer what an organisational form owes.

Instructions

Retrieve the universal obligation set for a Norwegian entity type — every regulatory obligation that applies by virtue of an entity BEING that organisational form, BEFORE per-company Tier-2 data is layered on. Use this to answer 'what does an AS owe?' or 'what are the baseline filings for an Enkeltpersonforetak?' without naming a specific company. Each obligation carries a tier_2_required boolean — true means the rule engine needs commercial data to know whether it applies to a SPECIFIC company, false means it applies unconditionally. Input: { entity_type } from the closed enum AS / ENK / ANS / DA / NUF (no 'OTHER' fallback). Failure modes: VALIDATION_FAILED, SCOPE_INSUFFICIENT (needs read:rulebook), UPSTREAM_TIMEOUT. For per-company evaluation that DOES layer on commercial data, call get_company_obligations; for a specific company's evaluated obligations, use get_company_obligations instead. Docs: https://www.apier.no/docs/guides/norwegian-company-obligations

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
entity_typeYesNorwegian organisational form (closed enum): AS / ENK / ANS / DA / NUF.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
_metaNo
resultYesThe universal obligation set for the entity type, before per-company Tier-2 data is layered on.
metadataYes
justificationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.1

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare readOnly, idempotent, and non-destructive behavior, but the description goes further by disclosing failure modes (VALIDATION_FAILED, SCOPE_INSUFFICIENT requiring read:rulebook, UPSTREAM_TIMEOUT) and explaining the tier_2_required boolean semantics. This adds significant context beyond the structured annotations.

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 well-front-loaded and packs substantial information, but the alternative-tool guidance is slightly redundant ('layers on commercial data' vs. 'evaluated obligations' for the same alternative). Otherwise, every sentence earns its place.

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?

With a single parameter, a rich output schema, annotations, explicit failure modes, and clear alternatives to sibling tools, the description fully equips an agent to understand the tool's purpose, limitations, and invocation. It also includes a documentation link for deeper reference.

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 schema already covers entity_type with a closed enum and description, but the description reinforces the absence of an 'OTHER' fallback and ties the parameter to concrete use cases, such as retrieving baseline filings for an Enkeltpersonforetak. This adds value 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 description clearly states the tool retrieves the universal obligation set for a Norwegian entity type, specifying the exact scope (pre-company Tier-2 data) and answering concrete questions like 'what does an AS owe?'. It distinguishes itself from sibling tools like get_company_obligations, which handle per-company evaluated obligations.

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 this tool ('without naming a specific company') and points to get_company_obligations for per-company evaluation. It also advises that entity_type is a closed enum with no fallback, clarifying correct input usage.

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