ampel

AmpelOracle — 50-tool compliance traffic-light: Go/Caution/Stop signals for ESG, MiCA, AML.

Should I use this

Quality & Safety

A
Description quality
91%
Schema completeness
82%
Naming quality
84%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (7)

  • LOWTool 'gap_report' description lacks action verbin gap_report
  • LOWTool 'evidence_summary' description lacks action verbin evidence_summary
  • LOWTool 'create_entity' description lacks action verbin create_entity
  • LOWTool 'bridge_report' description lacks action verbin bridge_report
  • LOWTool 'azure_ad_check' description lacks action verbin azure_ad_check
  • LOWTool 'health_check' description lacks action verbin health_check
  • LOWTool 'bus_status' description lacks action verbin bus_status

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~4,357Tokens (tool definitions)
~648 BTypical response size
Significant attention impact (3.40% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "ampel": {
      "url": "https://tooloracle.io/ampel/mcp/"
    }
  }
}

Remote endpoints

https://tooloracle.io/ampel/mcp/streamable-http

What it can do

Tool inventory

Tools (50)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢readiness_check(entity_id)

Full DORA readiness score + Ampel per article. Returns GREEN/YELLOW/RED/GREY for all 26 articles, score 0-100, days until deadline.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID (optional)"
    }
  },
  "additionalProperties": false
}
🟢article_status(article, entity_id)

Detailed Ampel for a specific DORA article. Each check with GREEN/YELLOW/RED conditions and evidence.

Input Schema

{
  "type": "object",
  "properties": {
    "article": {
      "type": "string",
      "description": "e.g. Art. 28"
    },
    "entity_id": {
      "type": "string",
      "description": "Entity ID"
    }
  },
  "additionalProperties": false
}
⚪gap_report(entity_id)

DORA compliance gaps. RED/GREY/YELLOW items with priority and required actions.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID (optional)"
    }
  },
  "additionalProperties": false
}
⚪evidence_summary(entity_id)

All evidence artefacts for an entity with hashes and expiry dates.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID (optional)"
    }
  },
  "additionalProperties": false
}
⚪collect_art10(entity_id)

Collect live Art. 10 evidence from NVD, CISA KEV, CERT-Bund. Auto-assesses.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID (optional)"
    }
  },
  "additionalProperties": false
}
🟢entity_list

List all registered regulated entities.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡create_entity(name, entity_type, lei, jurisdiction)

Register a new regulated entity.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Entity name"
    },
    "entity_type": {
      "type": "string",
      "description": "Type"
    },
    "lei": {
      "type": "string"
    },
    "jurisdiction": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
⚪audit_trail(entity_id, limit)

Chain-linked audit log with integrity check.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "description": "Max entries"
    }
  },
  "additionalProperties": false
}
⚪generate_report(entity_id, format)

Generate data-driven DORA Ampel PDF report. Score, gap analysis, provider register, audit trail integrity.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID (optional)"
    },
    "format": {
      "type": "string",
      "description": "json (meta) or pdf (download)",
      "default": "json"
    }
  },
  "additionalProperties": false
}
🟢freshness_check(entity_id)

Run freshness watchdog. Expires stale evidence, downgrades GREEN->YELLOW->GREY if evidence too old.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID (optional, checks all)"
    }
  },
  "additionalProperties": false
}
⚪bridge_report(entity_id)

Bridge gap analysis: classifies gaps by DATA/EVIDENCE/POLICY/WORKFLOW with closure path, owner, effort level.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID (optional)"
    }
  },
  "additionalProperties": false
}
⚪register_provider(provider_name, provider_type, criticality, headquarters, lei, ...)

Register an ICT third-party provider for DORA Art. 28 Register of Information. Stores provider data and creates evidence.

Input Schema

{
  "type": "object",
  "properties": {
    "provider_name": {
      "type": "string",
      "description": "Provider name e.g. Amazon Web Services EMEA SARL"
    },
    "provider_type": {
      "type": "string",
      "description": "cloud_infrastructure, saas_application, core_banking, cybersecurity, etc."
    },
    "criticality": {
      "type": "string",
      "description": "critical, important, standard"
    },
    "headquarters": {
      "type": "string",
      "description": "Country e.g. Luxembourg, Germany"
    },
    "lei": {
      "type": "string",
      "description": "Legal Entity Identifier"
    },
    "services": {
      "type": "string",
      "description": "Services provided"
    },
    "data_location": {
      "type": "string",
      "description": "Where data is stored e.g. EU (Frankfurt)"
    },
    "contract_start": {
      "type": "string"
    },
    "contract_end": {
      "type": "string"
    },
    "annual_cost_eur": {
      "type": "number"
    },
    "substitutability": {
      "type": "string"
    },
    "certifications": {
      "type": "string"
    },
    "entity_id": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
🟢check_contract(provider_id, standard_clauses, cif_clauses, is_cif, exit_strategy, ...)

Check DORA Art. 30 contract clauses for a provider. Returns PASS/WARN/BLOCK with missing clauses and bridge classification.

Input Schema

{
  "type": "object",
  "properties": {
    "provider_id": {
      "type": "string",
      "description": "Provider ID"
    },
    "standard_clauses": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Present standard clauses: service_description, data_location, data_protection, service_availability_sla, incident_notification, audit_right, termination_notice, cooperation_with_authorities"
    },
    "cif_clauses": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "CIF clauses if applicable"
    },
    "is_cif": {
      "type": "boolean",
      "description": "Is this a CIF (Critical/Important Function) provider?"
    },
    "exit_strategy": {
      "type": "boolean",
      "description": "Exit strategy documented?"
    },
    "entity_id": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
⚪assess_all(entity_id)

Re-run full assessment for an entity. Recomputes Ampel statuses from all available evidence.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID (optional)"
    }
  },
  "additionalProperties": false
}
⚪onboard_entity(entity_id)

Full entity onboarding: creates initial RED assessments for all 39 checks, collects auto-evidence from live sources, re-assesses, and returns readiness score.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID to onboard"
    }
  },
  "additionalProperties": false
}
⚪bridge_resolve(check_id, entity_id, expiry_days)

Start bridge resolution workflow. Generates templates (Risk Acceptance, Contract Renegotiation, Concentration Policy, Exit Strategy), tracks approval process. Call bridge_approve to sign off.

Input Schema

{
  "type": "object",
  "properties": {
    "check_id": {
      "type": "string",
      "description": "Check to resolve: art30_c1, art30_c2, art30_c3, art8_c3, art31_c1"
    },
    "entity_id": {
      "type": "string",
      "description": "Entity ID (optional)"
    },
    "expiry_days": {
      "type": "integer",
      "description": "Days until resolution expires (default 30)"
    }
  },
  "additionalProperties": false
}
⚪bridge_approve(resolution_id, approved_by, reject, rejection_reason)

Approve or reject a bridge resolution. On approval: creates signed evidence, upgrades Ampel to GREEN, logs to audit chain.

Input Schema

{
  "type": "object",
  "properties": {
    "resolution_id": {
      "type": "string",
      "description": "Resolution ID from bridge_resolve"
    },
    "approved_by": {
      "type": "string",
      "description": "Name + role of approver (e.g. Dr. Mueller, CISO)"
    },
    "reject": {
      "type": "boolean",
      "description": "Set true to reject instead of approve"
    },
    "rejection_reason": {
      "type": "string",
      "description": "Reason for rejection (if rejecting)"
    }
  },
  "additionalProperties": false
}
🟢bridge_status(entity_id)

Check status of all bridge resolution workflows for an entity. Shows open, pending, closed, rejected.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID (optional)"
    }
  },
  "additionalProperties": false
}
⚪reg_watchdog(days_back)

AI Regulatory Watchdog: scrapes EBA/ESMA/BaFin/CERT-Bund for DORA updates. Returns alerts with affected articles and severity. Run daily via cron or on-demand.

Input Schema

{
  "type": "object",
  "properties": {
    "days_back": {
      "type": "integer",
      "description": "Check items from last N days (default: 7)"
    }
  },
  "additionalProperties": false
}
🟢azure_ad_check(force_refresh)

Live Azure AD integration: MFA registration %, risky users, conditional access policies. DORA Art. 9 evidence. Requires Azure AD config in integrations_config.json.

Input Schema

{
  "type": "object",
  "properties": {
    "force_refresh": {
      "type": "boolean",
      "description": "Force fresh API call (default true)"
    }
  },
  "additionalProperties": false
}
🟡servicenow_sync(days_back)

ServiceNow incident + change management sync. DORA Art. 17/21 evidence. Returns 30-day incident stats, classification, resolution rates.

Input Schema

{
  "type": "object",
  "properties": {
    "days_back": {
      "type": "integer",
      "description": "Days to look back (default 30)"
    }
  },
  "additionalProperties": false
}
🟢llm_clause_check(contract_text, provider_name)

LLM-based DORA Art. 30 contract analysis. Paste contract text, get clause-by-clause PRESENT/PARTIAL/MISSING for all 15 mandatory clauses. Uses Claude API.

Input Schema

{
  "type": "object",
  "properties": {
    "contract_text": {
      "type": "string",
      "description": "Contract text (plain text from PDF). Paste key sections."
    },
    "provider_name": {
      "type": "string",
      "description": "Provider name e.g. Salesforce"
    }
  },
  "additionalProperties": false
}
⚪cross_oracle_assess(entity_id, checks)

Enterprise cross-oracle assessment. Runs 18 checks across CyberShield (NIS2/ISO 27001), SupplyChainOracle (LkSG/CSRD), HealthGuard (MDR/GDPR), CFOCoPilot (XRechnung), TaxOracle (DAC6), LegalTechOracle (DORA contracts). Auto-stores evidence and updates Ampel status.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity to assess"
    },
    "checks": {
      "type": "string",
      "description": "Comma-separated check IDs or omit for all"
    }
  },
  "additionalProperties": false
}
🟢health_check

Server + DB status.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
⚪ping

Quick connectivity test.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
⚪bus_status(entity_id)

Oracle Event Bus status: events, cross-refs, connected oracles.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID for cross-refs"
    }
  },
  "additionalProperties": false
}
🟢escalation_status(entity_id)

Get findings, SLA breaches, escalation status per entity.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID (empty=all)"
    }
  },
  "additionalProperties": false
}
🟡run_escalation

Trigger escalation engine: auto-create findings, check SLA, escalate.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
⚪whatif_provider(entity_id, provider_name)

Simulate provider failure: which articles/checks are affected, score impact, risk level.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID"
    },
    "provider_name": {
      "type": "string",
      "description": "Provider name (e.g. AWS, Finastra)"
    }
  },
  "additionalProperties": false
}
🟢whatif_stale(entity_id, check_id, days)

Simulate stale evidence: what happens if a check stays stale for N days.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID"
    },
    "check_id": {
      "type": "string",
      "description": "Check ID"
    },
    "days": {
      "type": "integer",
      "description": "Days stale (default 30)"
    }
  },
  "additionalProperties": false
}
⚪board_summary(entity_id)

Executive board summary: overall score, top 5 risks, overdue findings, SLA breaches, concentration risk, evidence health, owner workload. Designed for management/board reporting.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID"
    }
  },
  "additionalProperties": false
}
🟡update_finding(finding_id, action, owner, remediation_plan, accepted_by, ...)

Update finding lifecycle: claim, set remediation plan, request re-test, close, or accept risk. Status flow: open -> in_progress -> retest_pending -> closed | risk_accepted.

Input Schema

{
  "type": "object",
  "properties": {
    "finding_id": {
      "type": "string",
      "description": "Finding ID"
    },
    "action": {
      "type": "string",
      "description": "claim | plan | request_retest | close | accept_risk"
    },
    "owner": {
      "type": "string",
      "description": "New owner (for claim)"
    },
    "remediation_plan": {
      "type": "string",
      "description": "Remediation plan text (for plan)"
    },
    "accepted_by": {
      "type": "string",
      "description": "Name (for accept_risk)"
    },
    "expiry_days": {
      "type": "integer",
      "description": "Risk acceptance expiry days (default 90)"
    },
    "reason": {
      "type": "string",
      "description": "Close reason (for close)"
    },
    "actor": {
      "type": "string",
      "description": "Who is performing this action"
    }
  },
  "additionalProperties": false
}
⚪retest_finding(finding_id)

Re-test a finding: collect fresh evidence, reassess check, auto-close if GREEN. Full closed-loop.

Input Schema

{
  "type": "object",
  "properties": {
    "finding_id": {
      "type": "string",
      "description": "Finding ID to re-test"
    }
  },
  "additionalProperties": false
}
⚪score_trend(entity_id)

Score trend over time: weekly deltas, trajectory, peer benchmark. Shows improvement or decline.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID"
    }
  },
  "additionalProperties": false
}
⚪dependency_graph(entity_id)

Full provider dependency graph: providers, systems, checks, blast radius, SPOF detection.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID"
    }
  },
  "additionalProperties": false
}
⚪incident_flow(entity_id, action, title, description, severity, ...)

DORA incident lifecycle: log, classify, notify (BaFin), close. Each step creates signed evidence.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID"
    },
    "action": {
      "type": "string",
      "description": "log | classify | notify | close"
    },
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "severity": {
      "type": "string"
    },
    "incident_id": {
      "type": "string"
    },
    "classification": {
      "type": "string"
    },
    "report_type": {
      "type": "string"
    },
    "root_cause": {
      "type": "string"
    },
    "lessons_learned": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
⚪evidence_pack(entity_id, article, check_id)

Export evidence pack for article/check/entity. Pruefer-ready: evidence, assessments, findings, audit trail, signatures.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID"
    },
    "article": {
      "type": "string",
      "description": "DORA article e.g. Art. 10"
    },
    "check_id": {
      "type": "string",
      "description": "Specific check ID"
    }
  },
  "additionalProperties": false
}
⚪provider_country_risk(entity_id)

Enrich provider dependencies with OECD economic risk: GDP, unemployment, CLI per provider country. DORA Art. 28-31 relevant.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID"
    }
  },
  "additionalProperties": false
}
🟡contract_upload(entity_id, provider_name, contract_text, file_name, document_type)

Upload contract text for DORA Art. 30 analysis. Creates document record with SHA-256 hash, version tracking, audit trail.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID"
    },
    "provider_name": {
      "type": "string",
      "description": "Provider name"
    },
    "contract_text": {
      "type": "string",
      "description": "Contract text (extracted from PDF)"
    },
    "file_name": {
      "type": "string",
      "description": "Original file name"
    },
    "document_type": {
      "type": "string",
      "description": "ict_outsourcing_agreement | dpa | sla | master_service_agreement"
    }
  },
  "additionalProperties": false
}
🟢contract_analyze(document_id)

Analyze contract against 15 DORA Art. 30 mandatory clauses. Returns compliance status per clause with confidence score, extracted text, gap reasoning, suggested fix.

Input Schema

{
  "type": "object",
  "properties": {
    "document_id": {
      "type": "string",
      "description": "Document ID from contract_upload"
    }
  },
  "additionalProperties": false
}
⚪contract_status(entity_id)

Overview of all analyzed contracts per entity. Shows clause gaps, review status, document versions.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID"
    }
  },
  "additionalProperties": false
}
🟢cross_regulation_check(entity_id)

Tag findings with cross-regulation impact (DORA + MiCA + AMLR). Shows which DORA findings also affect MiCA insider info or AMLR screening.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string",
      "description": "Entity ID"
    }
  },
  "additionalProperties": false
}
🟢regulation_impact(dora_article)

Show cross-regulation impacts for a specific DORA article. Maps DORA → MiCA + AMLR.

Input Schema

{
  "type": "object",
  "properties": {
    "dora_article": {
      "type": "string",
      "description": "DORA article ID (e.g. dora_art28)"
    }
  },
  "additionalProperties": false
}
⚪bafin_report_draft(entity_id, incident_id, report_type, title, description, ...)

Generate ITS 2024/1772 compliant BaFin incident report draft. All mandatory fields per DORA Art. 19/20. Preview mode — requires board approval.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string"
    },
    "incident_id": {
      "type": "string"
    },
    "report_type": {
      "type": "string",
      "description": "initial | intermediate | final"
    },
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "classification": {
      "type": "string",
      "description": "major | significant | minor"
    },
    "affected_services": {
      "type": "string"
    },
    "affected_clients": {
      "type": "string"
    },
    "root_cause": {
      "type": "string"
    },
    "remediation": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
🟡bafin_approve_send(entity_id, report_id, approver_name, approver_role)

Approve BaFin report for submission (4-eyes principle). Creates signed approval evidence.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string"
    },
    "report_id": {
      "type": "string"
    },
    "approver_name": {
      "type": "string"
    },
    "approver_role": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
⚪cve_asset_map(entity_id, cve_id, vendor)

Map CVE/vulnerability to internal ICT providers and systems. Auto-creates findings for critical matches. DORA Art. 10.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string"
    },
    "cve_id": {
      "type": "string",
      "description": "CVE identifier"
    },
    "vendor": {
      "type": "string",
      "description": "Vendor/software name to check"
    }
  },
  "additionalProperties": false
}
⚪policy_draft(entity_id, dora_article)

Generate DORA policy/framework document draft for a specific article. 8 templates available (Art. 5,6,8,10,11,17,28,30). Uses entity data for customization.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_id": {
      "type": "string"
    },
    "dora_article": {
      "type": "string",
      "description": "dora_art5|dora_art6|dora_art8|dora_art10|dora_art11|dora_art17|dora_art28|dora_art30"
    }
  },
  "additionalProperties": false
}
🟡create_trial(entity_name, entity_type, jurisdiction, providers)

Create temporary trial entity (48h) for self-service DORA assessment. No login needed.

Input Schema

{
  "type": "object",
  "properties": {
    "entity_name": {
      "type": "string",
      "description": "Institute name"
    },
    "entity_type": {
      "type": "string",
      "description": "credit_institution|payment_institution|insurance_undertaking|asset_management|credit_institution_casp"
    },
    "jurisdiction": {
      "type": "string",
      "description": "DE|AT|FR|etc"
    },
    "providers": {
      "type": "string",
      "description": "Comma-separated provider names: AWS,SWIFT,Finastra",
      "enum": [
        "AWS",
        "SWIFT"
      ]
    }
  },
  "additionalProperties": false
}
⚪run_trial_assessment(trial_id, entity_id)

Run complete DORA+MiCA assessment for trial entity. Returns score, gaps, automation potential.

Input Schema

{
  "type": "object",
  "properties": {
    "trial_id": {
      "type": "string"
    },
    "entity_id": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
⚪generate_trial_report(trial_id, entity_id)

Generate watermarked trial report with score, gaps, and CTA.

Input Schema

{
  "type": "object",
  "properties": {
    "trial_id": {
      "type": "string"
    },
    "entity_id": {
      "type": "string"
    }
  },
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded50 tools
verifiedversion not recorded50 tools
verifiedversion not recorded50 tools
verifiedversion not recorded50 tools
verifiedversion not recorded50 tools
verifiedversion not recorded50 tools