Skip to main content
Glama
SonnyLabs

EU AI Act Compliance MCP Server

by SonnyLabs

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SONNYLABS_API_TOKENNoYour SonnyLabs API token for security tools (optional, only needed for prompt injection and sensitive file access tools)
SONNYLABS_ANALYSIS_IDNoYour SonnyLabs analysis ID for security tools (optional, only needed for prompt injection and sensitive file access tools)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_ai_interaction_disclosureA

Get AI interaction disclosure text for EU AI Act Article 50(1) compliance.

This tool provides pre-written disclosure text that MUST be shown to users when they interact with an AI system (chatbots, voice assistants, etc.).

Args: language: Language code (en, es, fr, de, it). Default: "en" style: Disclosure style (simple, detailed, voice). Default: "simple"

Returns: Dictionary containing the disclosure text and metadata

Example: get_ai_interaction_disclosure(language="en", style="simple") Returns: {"disclosure": "You are chatting with an AI assistant.", ...}

get_emotion_recognition_disclosureA

Get emotion recognition disclosure text for EU AI Act Article 50(3) compliance.

This tool provides pre-written disclosure text that MUST be shown to users when an AI system uses emotion recognition technology.

Args: language: Language code (en, es, fr, de, it). Default: "en" style: Disclosure style (simple, detailed, privacy_notice). Default: "simple"

Returns: Dictionary containing the disclosure text and metadata

Example: get_emotion_recognition_disclosure(language="en", style="detailed")

get_deepfake_label_templatesA

Get all available deepfake and AI-generated content labels.

This tool returns the complete set of labels available for different content types. Use this to see what labels are available for images, videos, audio, and text.

Args: language: Language code (en, es, fr, de). Default: "en"

Returns: Dictionary containing all available labels organized by content type

Example: get_deepfake_label_templates(language="en") Returns all labels for English

label_news_textA

Add AI-generated content disclosure to news articles and public interest text.

This tool implements EU AI Act Article 50(4) compliance for AI-generated text published as news, journalism, or public interest content.

Args: text_content: The AI-generated or AI-assisted text content has_human_editor: Whether a human editor reviewed the content (exemption qualifier) editor_name: Name of the human editor (if applicable) language: Language code (en, es, fr, de). Default: "en"

Returns: Dictionary containing the labeled text with disclosure and compliance info

Example: label_news_text( text_content="AI generated article...", has_human_editor=True, editor_name="Jane Doe", language="en" )

watermark_textA

Add metadata watermark to AI-generated text for EU AI Act Article 50(2) compliance.

This tool adds machine-readable metadata to AI-generated text content, marking it as artificially generated. This is required for provider compliance with Article 50(2) for text content generation systems.

Args: text_content: The AI-generated text to watermark generator: Name of the AI system that generated it (e.g., "GPT-4", "Claude", "Custom AI") format_type: Output format (plain, markdown, html). Default: "plain"

Returns: Dictionary containing the watermarked text with embedded metadata

Example: watermark_text( text_content="This is AI-generated content...", generator="GPT-4", format_type="markdown" )

label_image_deepfakeA

Generate deepfake label for AI-generated or manipulated images per Article 50(4).

This tool provides the appropriate disclosure text and guidance for labeling images that have been artificially generated or manipulated. The label must be prominent, clear, and distinguishable.

Args: image_description: Brief description of the image for context is_artistic_work: Whether this is artistic/creative work (may qualify for exemption) is_satirical: Whether this is parody/satire (may qualify for exemption) language: Language code (en, es, fr, de). Default: "en"

Returns: Dictionary with label text, placement guidance, and compliance info

Example: label_image_deepfake( image_description="AI-generated portrait of a person", is_artistic_work=False, language="en" )

label_video_deepfakeA

Generate deepfake label for AI-generated or manipulated videos per Article 50(4).

This tool provides the appropriate disclosure text and guidance for labeling videos that have been artificially generated or manipulated. The label must be prominent, clear, and distinguishable throughout the video.

Args: video_description: Brief description of the video for context is_artistic_work: Whether this is artistic/creative work (may qualify for exemption) is_satirical: Whether this is parody/satire (may qualify for exemption) language: Language code (en, es, fr, de). Default: "en"

Returns: Dictionary with label text, placement guidance, and compliance info

Example: label_video_deepfake( video_description="AI-generated video of a speech", is_artistic_work=False, language="en" )

label_audio_deepfakeA

Generate deepfake label for AI-generated or manipulated audio per Article 50(4).

This tool provides disclosure text for audio content that has been artificially generated or manipulated. For audio, disclosure can be spoken, written in accompanying materials, or both.

Args: audio_description: Brief description of the audio for context is_artistic_work: Whether this is artistic/creative work (may qualify for exemption) language: Language code (en, es, fr, de). Default: "en"

Returns: Dictionary with label text (written and spoken), placement guidance, and compliance info

Example: label_audio_deepfake( audio_description="AI-generated voice recording", is_artistic_work=False, language="en" )

watermark_imageA

Generate watermarking metadata for AI-generated images per Article 50(2).

This tool provides C2PA-compliant metadata and instructions for watermarking AI-generated images. The watermark must be machine-readable and detectable.

Args: image_description: Brief description of the image generator: Name of AI system that generated it (e.g., "DALL-E", "Midjourney") format_type: Image format (png, jpg, webp). Default: "png"

Returns: Dictionary with watermarking metadata, instructions, and compliance info

Example: watermark_image( image_description="AI-generated landscape", generator="DALL-E", format_type="png" )

watermark_videoA

Generate watermarking metadata for AI-generated videos per Article 50(2).

This tool provides C2PA-compliant metadata and instructions for watermarking AI-generated videos. The watermark must be machine-readable and detectable.

Args: video_description: Brief description of the video generator: Name of AI system that generated it format_type: Video format (mp4, webm, mov). Default: "mp4"

Returns: Dictionary with watermarking metadata, instructions, and compliance info

watermark_audioA

Generate watermarking metadata for AI-generated audio per Article 50(2).

This tool provides metadata and instructions for watermarking AI-generated audio. Audio watermarks use fingerprinting and metadata embedding.

Args: audio_description: Brief description of the audio generator: Name of AI system that generated it format_type: Audio format (mp3, wav, opus). Default: "mp3"

Returns: Dictionary with watermarking metadata, instructions, and compliance info

classify_ai_system_riskA

Determine AI system risk level per EU AI Act classification framework.

Classifies system as: PROHIBITED, HIGH-RISK, LIMITED-RISK, or MINIMAL-RISK based on Articles 5, 6, and 50.

Args: system_description: Description of the AI system use_case: Primary use case (e.g., "employment", "healthcare", "chatbot") biometric_data: Uses biometric identification/categorization critical_infrastructure: Used in critical infrastructure education: Used in education/vocational training law_enforcement: Used for law enforcement predicts_criminal_behavior: Predicts criminal behavior from profiling social_scoring: Performs social scoring emotion_detection_workplace: Detects emotions in workplace/education generates_content: Generates synthetic content interacts_with_users: Interacts with natural persons

Returns: Risk classification with applicable obligations and deadlines

check_prohibited_practicesA

Check if AI system violates prohibited practices under Article 5.

These practices carry the HIGHEST penalties: €35M or 7% of global revenue.

Args: uses_subliminal_techniques: Manipulates behavior via subliminal techniques exploits_vulnerabilities: Exploits vulnerabilities of specific groups social_scoring: Social scoring by/for public authorities predicts_crime_from_profiling: Predicts criminal behavior from profiling scrapes_facial_images: Scrapes facial images from internet/CCTV detects_emotions_in_workplace: Emotion recognition in workplace/education biometric_categorization_sensitive_attributes: Infers race, politics, etc. from biometrics real_time_biometric_identification_public: Real-time biometric ID in public spaces

Returns: Violations found with penalties and recommendations

determine_eu_ai_act_roleA

Determine which EU AI Act role(s) apply to your organization.

Different roles have different obligations under the EU AI Act. Understanding your role is CRITICAL to knowing which requirements apply.

Args: company_description: Brief description of your company/organization company_location: Country/region where company is based develops_ai_system: You develop AI systems or commission their development uses_ai_system: You use AI systems in your operations sells_ai_system: You sell or offer AI systems imports_to_eu: You bring AI systems from outside EU into EU market distributes_in_eu: You distribute/resell AI systems in EU integrates_ai_into_product: You integrate AI into physical products represents_non_eu_provider: You represent a non-EU AI provider in the EU under_own_name_or_trademark: AI system bears your name/trademark substantial_modification: You substantially modify existing AI systems change_intended_purpose: You change the intended purpose of AI systems

Returns: Role determination with definitions and applicable obligations

scan_for_prompt_injectionA

Scans user input for prompt injection attacks using SonnyLabs.ai API.

Helps comply with EU AI Act Article 15 cybersecurity requirements. Detects attempts to manipulate AI behavior through prompt injection.

Args: user_input: The user input text to scan for threats sonnylabs_api_token: Your SonnyLabs API token (Bearer token) sonnylabs_analysis_id: Your SonnyLabs analysis ID tag: Optional identifier for this scan (default: "mcp_scan")

Returns: Dictionary with threat analysis and EU AI Act compliance info

check_sensitive_file_accessA

Checks if AI agent is attempting to access sensitive files using SonnyLabs.ai API.

Helps comply with EU AI Act Article 15 (Security) and Article 10 (Data governance). Prevents unauthorized access to confidential files and system resources.

Args: file_path: The file path being accessed by the AI agent agent_action: The action being performed (e.g., "read", "write", "execute") sonnylabs_api_token: Your SonnyLabs API token (Bearer token) sonnylabs_analysis_id: Your SonnyLabs analysis ID tag: Optional identifier for this check (default: "file_access_check")

Returns: Dictionary with file sensitivity analysis and access recommendations

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
get_disclosure_templates Provides pre-written disclosure text templates for EU AI Act Article 50 compliance. Contains: - AI interaction disclosures (Article 50(1)) - Emotion recognition disclosures (Article 50(3)) Available in multiple languages: en, es, fr, de, it
get_deepfake_labels Provides pre-written deepfake and AI-generated content labels for EU AI Act Article 50(4) compliance. Contains labels for: - Text content (news articles, public interest content) - Image deepfakes - Video deepfakes - Audio deepfakes Available in multiple languages: en, es, fr, de
get_article50_rules Provides the official EU AI Act Article 50 rules and requirements. Contains: - Complete Article 50 obligations (paragraphs 50(1), 50(2), 50(3), 50(4)) - Provider obligations (AI interaction, content watermarking) - Deployer obligations (emotion recognition, deepfake labeling) - Exceptions and exemptions - Compliance deadlines - Penalty information - Key definitions Use this resource to understand which obligations apply to your AI system.
get_watermark_config Provides watermarking configuration and technical standards for Article 50(2). Contains: - C2PA 2.1 specifications (Coalition for Content Provenance and Authenticity) - IPTC metadata standards - Content type configurations (image, video, audio, text) - Embedding settings and parameters - Verification methods - Implementation guide Use this resource to understand how to properly watermark AI-generated content with machine-readable, detectable metadata that complies with Article 50(2).

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/SonnyLabs/EU_AI_ACT_MCP'

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