Skip to main content
Glama
CSOAI-ORG

EU AI Act Compliance MCP

get_timeline

Obtain EU AI Act implementation timelines and enforcement dates to support compliance assessment and gap analysis.

Instructions

Get key EU AI Act implementation dates and deadlines.

Returns all major enforcement milestones from entry into force through full implementation, including which articles/requirements become applicable at each date.

Args: caller: Identifier for rate limiting. tier: "free" (10 calls/day) or "pro" (unlimited, $29/mo).

Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.

When to use: Use this tool when you need to assess, audit, or verify compliance requirements. Ideal for gap analysis, readiness checks, and generating compliance documentation.

When NOT to use: Do not use as a substitute for qualified legal counsel. This tool provides technical compliance guidance, not legal advice.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
callerNoanonymous
api_keyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Implementation Reference

  • The get_timeline tool handler function. Decorated with @mcp.tool(), it returns all major EU AI Act enforcement milestones from entry into force through full implementation. Uses auth and rate limiting, then iterates over the EU_AI_ACT_TIMELINE data to compute status (IN EFFECT, EFFECTIVE TODAY, UPCOMING) based on days remaining.
    # ---------------------------------------------------------------------------
    # Tool 5: get_timeline
    # ---------------------------------------------------------------------------
    @mcp.tool()
    def get_timeline(
        caller: str = "anonymous",
        api_key: str = "") -> str:
        """Get key EU AI Act implementation dates and deadlines.
    
        Returns all major enforcement milestones from entry into force through
        full implementation, including which articles/requirements become
        applicable at each date.
    
        Args:
            caller: Identifier for rate limiting.
            tier: "free" (10 calls/day) or "pro" (unlimited, $29/mo).
    
        Behavior:
            This tool is read-only and stateless — it produces analysis output
            without modifying any external systems, databases, or files.
            Safe to call repeatedly with identical inputs (idempotent).
            Free tier: 10/day rate limit. Pro tier: unlimited.
            No authentication required for basic usage.
    
        When to use:
            Use this tool when you need to assess, audit, or verify compliance
            requirements. Ideal for gap analysis, readiness checks, and generating
            compliance documentation.
    
        When NOT to use:
            Do not use as a substitute for qualified legal counsel. This tool
            provides technical compliance guidance, not legal advice.
        """
        allowed, msg, tier = check_access(api_key)
        if not allowed:
            return {"error": msg, "upgrade_url": "https://meok.ai/pricing"}
        limit_err = _check_rate_limit(caller, tier)
        if limit_err:
            return {"error": "rate_limited", "message": limit_err}
    
        today = datetime.now().date()
        timeline_with_status = []
        for entry in EU_AI_ACT_TIMELINE:
            deadline = datetime.strptime(entry["date"], "%Y-%m-%d").date()
            days_diff = (deadline - today).days
            if days_diff < 0:
                status = f"IN EFFECT (since {entry['date']}, {abs(days_diff)} days ago)"
            elif days_diff == 0:
                status = "EFFECTIVE TODAY"
            else:
                status = f"UPCOMING in {days_diff} days ({days_diff // 30} months)"
    
            timeline_with_status.append({
                "date": entry["date"],
                "event": entry["event"],
                "article_reference": entry["article"],
                "status": status,
            })
    
        result = {
            "regulation": "Regulation (EU) 2024/1689 (EU AI Act)",
            "official_journal": "OJ L, 2024/1689, 12.7.2024",
            "assessment_date": today.isoformat(),
            "timeline": timeline_with_status,
            "key_resources": {
                "eur_lex": "https://eur-lex.europa.eu/eli/reg/2024/1689",
                "ai_office": "https://digital-strategy.ec.europa.eu/en/policies/european-approach-artificial-intelligence",
                "ai_pact": "https://digital-strategy.ec.europa.eu/en/policies/ai-pact",
            },
            "notes": [
                "The EU AI Act (Regulation (EU) 2024/1689) was published in the Official Journal on 12 July 2024.",
                "It entered into force on 1 August 2024 (20 days after publication, per Article 113).",
                "Implementation follows a phased approach over 36 months.",
                "The AI Pact encourages voluntary early adoption of AI Act requirements.",
                "Delegated and implementing acts will further specify requirements — monitor the AI Office for updates.",
            ],
            "meok_labs": "https://meok.ai",
        }
    
        return result
  • EU_AI_ACT_TIMELINE data: the list of key dates/events that get_timeline uses as its data source. Contains 6 milestone entries from 2024-08-01 through 2030-08-02 with article references.
    EU_AI_ACT_TIMELINE = [
        {"date": "2024-08-01", "event": "EU AI Act entered into force (Regulation (EU) 2024/1689 published in Official Journal)", "article": "Article 113"},
        {"date": "2025-02-02", "event": "Prohibited AI practices (Article 5) become enforceable; AI literacy obligations (Article 4) apply", "article": "Articles 4, 5"},
        {"date": "2025-08-02", "event": "Rules for General-Purpose AI (GPAI) models apply (Chapter V); notified bodies designated; governance framework operational", "article": "Articles 51-56, Chapter VII"},
        {"date": "2026-08-02", "event": "Full enforcement of all provisions for high-risk AI systems (including Annex III); obligations on providers, deployers, importers, distributors", "article": "Articles 6-49, Annex III"},
        {"date": "2027-08-02", "event": "Obligations for high-risk AI systems that are safety components of products under Union harmonisation legislation (Annex I)", "article": "Annex I, Article 6(1)"},
        {"date": "2030-08-02", "event": "Existing high-risk AI systems used by public authorities must comply (transitional provision)", "article": "Article 111(2)"},
    ]
  • server.py:1389-1392 (registration)
    Registration of get_timeline as an MCP tool via the @mcp.tool() decorator on line 1389.
    @mcp.tool()
    def get_timeline(
        caller: str = "anonymous",
        api_key: str = "") -> str:
  • The tool's docstring serves as the schema/description. Defines parameters (caller, api_key), behavior (read-only, stateless, idempotent), and usage instructions.
    api_key: str = "") -> str:
    """Get key EU AI Act implementation dates and deadlines.
    
    Returns all major enforcement milestones from entry into force through
    full implementation, including which articles/requirements become
    applicable at each date.
    
    Args:
        caller: Identifier for rate limiting.
        tier: "free" (10 calls/day) or "pro" (unlimited, $29/mo).
    
    Behavior:
        This tool is read-only and stateless — it produces analysis output
        without modifying any external systems, databases, or files.
        Safe to call repeatedly with identical inputs (idempotent).
        Free tier: 10/day rate limit. Pro tier: unlimited.
        No authentication required for basic usage.
    
    When to use:
        Use this tool when you need to assess, audit, or verify compliance
        requirements. Ideal for gap analysis, readiness checks, and generating
        compliance documentation.
    
    When NOT to use:
        Do not use as a substitute for qualified legal counsel. This tool
        provides technical compliance guidance, not legal advice.
Behavior5/5

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

The description thoroughly details behavior: read-only, stateless, idempotent, rate limits (free vs pro tier), and no authentication required. Since no annotations are provided, the description fully informs the agent of these crucial operational traits.

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

Conciseness3/5

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

The description is well-structured with clear sections and no redundant information. However, it includes a parameter mismatch (tier vs api_key) that could be streamlined, and the length is justified but the inconsistency hurts clarity.

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?

Given the existence of an output schema, the description covers purpose, usage, behavior, and parameters nearly completely. The only significant gap is the parameter mismatch, which prevents a perfect score.

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

Parameters2/5

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

The description explains the 'caller' parameter and introduces a 'tier' parameter not present in the schema (the schema has 'api_key'). This adds meaning for one parameter but creates confusion with an undocumented parameter, partially compensating for the 0% schema coverage but with inconsistency.

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 EU AI Act implementation dates and deadlines, specifying it returns major enforcement milestones and which articles/requirements apply. This distinctively identifies the resource and action, differentiating it from sibling tools like check_compliance or assess_penalties.

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 provides explicit 'When to use' and 'When NOT to use' sections, noting appropriate use cases (gap analysis, readiness checks) and warning against legal substitution. While it doesn't directly contrast with each sibling, the guidance is sufficiently clear for general usage.

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

Install Server

Other Tools

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/CSOAI-ORG/eu-ai-act-compliance-mcp'

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