EU AI Act Compliance MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SONNYLABS_API_TOKEN | No | Your SonnyLabs API token for security tools (optional, only needed for prompt injection and sensitive file access tools) | |
| SONNYLABS_ANALYSIS_ID | No | Your 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| 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). |
TDQS
Scored across 16 tools
Each tool targets a distinct compliance concern: retrieval of templates, disclosures for interaction/emotion, labeling vs watermarking for different content types, risk classification, prohibited practice checking, role determination, and security scanning. No two tools have overlapping purposes; the descriptions clearly differentiate human-readable labels from machine-readable watermarks and different compliance articles.
The tools follow a consistent verb_noun pattern: get_* for retrieval, label_* for disclosure generation, watermark_* for metadata generation, and specific verbs like classify, check, determine, scan. Minor deviation: label_news_text vs label_image_deepfake (news text vs deepfake modality), but overall the naming is predictable and systematic.
With 16 tools, the server covers a broad but well-defined domain of EU AI Act compliance. The count is slightly at the upper boundary but each tool serves a distinct content type or compliance article, so it doesn't feel bloated.
The server provides comprehensive coverage for the EU AI Act's transparency obligations (labels, watermarks), risk classification, prohibited practices, role determination, and security checks. Minor gaps exist (e.g., no dedicated GPAI obligations tool), but core compliance workflows are fully covered.