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