Skip to main content
Glama

Rekvira: EU regulation pinpoints for compliance AI

Look up obligations by role

lookup_obligations
Read-onlyIdempotent

Sign-in required: call connect(email) and connect_verify first (free, one email) unless this connection is already signed in. Articles whose official title names a role as an obligation addressee (e.g. role='deployer', optional system_class='high-risk'). Heading index, not annotated metadata — then read_unit the article. role accepts the word a title uses (deployer, provider, importer, operator, authorised representative, controller, processor, joint controller, data subject, or supervisory authority on gdpr). notified body on eu-ai-act returns Arts 34/45. Read also_named (Arts 31 through 38) for related titles without 'obligation'. When result_count is 0, read also_named before concluding none match (e.g. Arts 22/54 on eu-ai-act authorised representative; Arts 63/94 on eu-ai-act operator; Arts 29/39 on eu-ai-act conformity assessment body; Arts 76/77/85 on eu-ai-act market surveillance authority; Art 100 on eu-ai-act union institution; Arts 53/55/88 on eu-ai-act GPAI provider / general-purpose AI provider / provider of general-purpose AI models; Arts 13/14/21/22 on cra manufacturer / manufacturer of products with digital elements; when also_named is empty read heading_note and use search_regulation; Arts 24/26/27/29/79 on gdpr controller; Arts 27/28/29/79 on gdpr processor; Art 26 on gdpr joint controller; Arts 12/13/14/15/34/80 on gdpr data subject; Arts 31/33/51/53/54/56/60/62/77/78 on gdpr supervisory authority; Art 32 on nis2 essential entity; Arts 3/33/34 on nis2 important entity; Arts 23/31 on dora provider; Art 31 on dora ict third-party service provider; on dora financial entity or operator also_named is empty — read heading_note and use search_regulation for body mentions (Arts 28/30 for ICT third-party context); Art 18 on cra authorised representative). Then read_unit each article — the index is not a complete duty set.

Input Schema

NameRequiredDescriptionDefault
roleNoAddressee in the article title, e.g. deployer
limitNoMost rows to return (default 10 on searches, max 50)
queryNoAlias for role when agents pass search-style query= instead of role=
max_charsNoCap on the response size in characters (default 8000)
regulationNoRegulation id from list_regulations (required)
system_classNoOptional class in the same title, e.g. high-risk

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / limit
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Most rows to return (default 10 on searches, max 50)",
      +  "title": "Limit"
      +}
    • addedInput schema / properties / max_chars
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Cap on the response size in characters (default 8000)",
      +  "title": "Max Chars"
      +}
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower, and the description still adds real context: sign-in is required via connect/connect_verify first, the result is a heading index rather than annotated metadata, and result_count=0 is not proof of no match. It stops short of describing pagination or the exact shape of returned rows.

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

Conciseness2/5

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

The description is a single dense paragraph ending in an enormous run-on enumeration of article numbers across gdpr, eu-ai-act, cra, nis2 and dora that is very hard for an agent to parse and largely redundant with the step-by-step guidance that precedes it. The important routing rules are buried mid-paragraph instead of being front-loaded.

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?

There is no output schema, so the description carries the return-value burden and does name the relevant fields (result_count, also_named, heading_note), plus the auth prerequisite and a fallback path when nothing matches. It is operationally complete for a 6-parameter lookup, with only row-level shape left implicit.

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 goes further by enumerating accepted role words per regulation (deployer, provider, importer, controller, supervisory authority, notified body on eu-ai-act, etc.) and by clarifying the search-style query alias that agents pass by mistake. system_class is described as an optional class in the same title with the 'high-risk' example.

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?

The second sentence states a specific verb+resource: it returns articles whose official title names a role as an obligation addressee, backed by a concrete example (role='deployer', optional system_class='high-risk'). It is distinguishable from siblings like search_regulation and read_unit, which are named as complements rather than substitutes. The opening auth sentence dilutes the front-loading but does not obscure the purpose.

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 rules: read also_named when result_count is 0, fall back to heading_note plus search_regulation when also_named is empty, then read_unit each article because the index is not a complete duty set. It also names alternatives (search_regulation) with the exact condition that selects them, and gives a prerequisite path (connect/connect_verify).

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