Skip to main content
Glama

get_obligations

Read-onlyIdempotent

List the obligations for a role under the EU AI Act, optionally filtered by risk tier.

Input Schema

NameRequiredDescriptionDefault
roleYes
limitNoMax obligations to return (default all, hard cap 25 per call)
fieldsNocompact omits provision_text
offsetNoSkip this many obligations (for paging)
risk_tierNoFilter by risk tier; "all" = no filter. Synonyms accepted.

Output Schema

NameRequiredDescriptionDefault
roleYes
countYes
totalNo
sourceNo
risk_tierNo
obligationsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / risk_tier / description
      Added value: +"Filter by risk tier; \"all\" = no filter. Synonyms accepted."
    • changedInput schema / properties / risk_tier / enum
      Previous value: -[
      -  "unacceptable",
      -  "high",
      -  "transparency",
      -  "minimal"
      -]New value: +[
      +  "unacceptable",
      +  "prohibited",
      +  "high",
      +  "high-risk",
      +  "high_risk",
      +  "transparency",
      +  "limited",
      +  "minimal",
      +  "all"
      +]
  2. Changed4 schema fields changed
    • addedInput schema / properties / fields
      Added value: +{
      +  "description": "compact omits provision_text",
      +  "enum": [
      +    "full",
      +    "compact"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / limit
      Added value: +{
      +  "description": "Max obligations to return (default all, hard cap 25 per call)",
      +  "type": "integer"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "description": "Skip this many obligations (for paging)",
      +  "type": "integer"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "count": {
      +      "type": "integer"
      +    },
      +    "obligations": {
      +      "items": {
      +        "properties": {
      +          "actor": {
      +            "type": "string"
      +          },
      +          "applies_from": {
      +            "type": "string"
      +          },
      +          "clause": {
      +            "type": "string"
      +          },
      +          "guidance_note": {
      +            "type": "string"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "matrix_permalink": {
      +            "type": "string"
      +          },
      +          "official_title": {
      +            "type": "string"
      +          },
      +          "permalink": {
      +            "type": "string"
      +          },
      +          "provision_text": {
      +            "type": "string"
      +          },
      +          "title": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "title",
      +          "clause",
      +          "applies_from",
      +          "permalink"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "risk_tier": {
      +      "type": "string"
      +    },
      +    "role": {
      +      "type": "string"
      +    },
      +    "source": {
      +      "type": "string"
      +    },
      +    "total": {
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "role",
      +    "count",
      +    "obligations"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only that filtering is optional and does not mention paging behavior or the result shape, which the output schema covers anyway.

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

Conciseness5/5

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

A single front-loaded sentence that states verb, resource, required scope, and the optional filter with zero filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema and rich annotations carry return values and safety, and the schema documents nearly all parameters. The description is sufficient for correct invocation, missing only explicit sibling routing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 80% schema coverage and enum-typed role, fields, and risk_tier, the schema already documents limit, offset, fields, and the risk-tier synonyms. The description adds only the notion that risk_tier is a filter and optional, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (List) plus resource (obligations) scoped to a role under the EU AI Act, with an optional risk-tier filter. This clearly distinguishes it from data-lookup siblings like get_article or get_annex, though it never names an alternative explicitly.

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

Usage Guidelines3/5

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

The phrase 'for a role' and 'optionally filtered by risk tier' imply when to reach for it, but there is no explicit when-to-use guidance, no exclusions, and no routing to assess_compliance or get_article for related tasks.

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.

Resources