Skip to main content
Glama

Calculate EU AI Act Penalties

euaiact_calculate_penalty
Read-onlyIdempotent

Calculate the maximum fine for EU AI Act violations per Art. 99, factoring in annual turnover, SME, and small mid-cap status to show possible lower fines.

Instructions

Calculates the maximum possible fine for an EU AI Act violation based on violation type, global annual turnover, SME status and SMC (small mid-cap) status. Implements the Art. 99 penalty framework including the SME/startup lower-of rule (Art. 99(6), tiers 99(3)-(5)) and the narrower SMC rule (Art. 99(6a), tiers 99(4)-(5) only; no SMC cap on Art. 5 fines and none under Art. 101). Returns a comparative block so the agent can show the SME reduction to the user.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
is_smcNoWhether the entity is a small mid-cap (SMC): Art. 99(6a) applies the lower-of rule ONLY to the Art. 99(4) and 99(5) tiers, not to Art. 99(3) prohibited-practice fines and not to Art. 101
is_smeNoWhether the entity is an SME or startup (eligible for lower fines under Art. 99(6), covering paragraphs 3, 4 and 5)
violation_typeYesType of AI Act violation: 'prohibited' (Art. 5), 'high_risk' (Art. 99(4) operator/notified-body/transparency obligations), 'gpai' (Art. 101 general-purpose AI model provider infringements), or 'false_info' (Art. 99(5) misleading notified bodies or national competent authorities; GPAI-provider false information falls under Art. 101)
annual_turnover_eurYesGlobal annual turnover in EUR (a non-negative, finite number)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
is_smcYes
is_smeYes
max_fineYes
comparativeNo
tier_detailsYes
violation_typeYes
annual_turnover_eurYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed6 schema fields changedv1.5.0
    • changedInput schema / properties / annual_turnover_eur / description
      Previous value: -"Global annual turnover in EUR"New value: +"Global annual turnover in EUR (a non-negative, finite number)"
    • addedInput schema / properties / annual_turnover_eur / minimum
      Added value: +0
    • addedInput schema / properties / is_smc
      Added value: +{
      +  "default": false,
      +  "description": "Whether the entity is a small mid-cap (SMC): Art. 99(6a) applies the lower-of rule ONLY to the Art. 99(4) and 99(5) tiers, not to Art. 99(3) prohibited-practice fines and not to Art. 101",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / is_sme / description
      Previous value: -"Whether the entity is an SME or startup (eligible for lower fines under Art. 99(6))"New value: +"Whether the entity is an SME or startup (eligible for lower fines under Art. 99(6), covering paragraphs 3, 4 and 5)"
    • addedOutput schema / properties / is_smc
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "violation_type",
      -  "is_sme",
      -  "annual_turnover_eur",
      -  "max_fine",
      -  "tier_details"
      -]New value: +[
      +  "violation_type",
      +  "is_sme",
      +  "is_smc",
      +  "annual_turnover_eur",
      +  "max_fine",
      +  "tier_details"
      +]
  2. Changed2 schema fields changedv1.3.0
    • changedInput schema / properties / violation_type / description
      Previous value: -"Type of AI Act violation: 'prohibited' (Art. 5), 'high_risk' (Annex III obligations), or 'false_info' (misleading regulators)"New value: +"Type of AI Act violation: 'prohibited' (Art. 5), 'high_risk' (Art. 99(4) operator/notified-body/transparency obligations), 'gpai' (Art. 101 general-purpose AI model provider infringements), or 'false_info' (Art. 99(5) misleading notified bodies or national competent authorities; GPAI-provider false information falls under Art. 101)"
    • changedInput schema / properties / violation_type / enum
      Previous value: -[
      -  "prohibited",
      -  "high_risk",
      -  "false_info"
      -]New value: +[
      +  "prohibited",
      +  "high_risk",
      +  "gpai",
      +  "false_info"
      +]
  3. First observedv1.1.5

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description adds meaningful behavioral detail: input to Art. 99 penalty framework, the SME lower-of rule, the narrower SMC rule, the exclusion of SMC caps for Art. 5 fines, and the comparative-return block. It also does not contradict the annotations.

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?

The description is front-loaded with a complete one-sentence summary, followed by a dense but useful legal-behavior sentence and one return-value sentence. There is no filler, repetition, or unnecessary detail.

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?

For a legal-calculation tool with four parameters, the description covers the calculation inputs, the exact provisions implemented, the important exceptions, and the output purpose. It is sufficiently complete for an agent to select and invoke the tool correctly, especially given the rich schema and output-schema context.

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?

Input schema already covers 100% of parameters with solid descriptions and an enum, so the baseline is 3. The tool description adds value by explaining how these parameters combine under specific legal provisions, especially SME/SMC treatment and the returned comparative result, above the schema-level definitions.

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 first sentence states a specific action and resource: 'Calculates the maximum possible fine for an EU AI Act violation' and names the exact inputs. This clearly distinguishes the tool from sibling tools about classification, deadlines, obligations, and article lookup.

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

Usage Guidelines4/5

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

The description makes the intended use-case obvious: penalty calculation for EU AI Act violations using turnover and SME/SMC status. It does not contain explicit 'when not to use' wording or name alternatives, but none of the sibling tools compete for the same job, so the context is clear.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lexbeam-software/eu-ai-act-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server