Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

dVeracity Semantic API

von d-veracityVersion 0.8.3i★ –iComputer oder Cloud
Name in der Registrycom.dveracity/semantic-mcp

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

Validate emissions data against Open Footprint, check EU CBAM records, query verified methane data

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Computer oder Cloud
  • Transport: stdio, Streamable HTTP
  • Kategorie: Sonstiges
  • Das musst du eintragen: DVERACITY_API_KEY

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 3 von 3 bestanden
  • Läuft auf dem Server des Entwicklers: Was du fragst, läuft über dessen Server.
  • Kann 23 Dinge (Tools) semantic_query, semantic_templates, credits_balance, list_standards …
  • Das trägst du selbst ein: DVERACITY_API_KEY, DVERACITY_API_URL, DVERACITY_KERI_AID, DVERACITY_KERI_PRESENTATION

Als geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.

Du brauchst

  • Läuft in der CloudNichts zu installieren; die Verbindung läuft übers Internet
  • npmNode.js installiert (für den Befehl npx)

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Funktioniert in Claude im Web, auf dem Desktop und auf dem Handy:

  1. Öffne Settings → Connectors
  2. Tippe auf Add custom connector
  3. Füge die Adresse unten ein und tippe auf Add
  4. Wenn eine Anmeldung verlangt wird, melde dich beim Dienst des Entwicklers an
SettingsConnectors1+ Add2https://…3
https://api.dveracity.com/mcp

Oder führ ihn auf deinem Computer aus

Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein

{
  "mcpServers": {
    "semantic": {
      "command": "npx",
      "args": [
        "-y",
        "@dveracity/semantic-mcp"
      ],
      "env": {
        "DVERACITY_API_KEY": "your-value",
        "DVERACITY_API_URL": "your-value",
        "DVERACITY_KERI_AID": "your-value",
        "DVERACITY_KERI_PRESENTATION": "your-value"
      }
    }
  }
}

Führe das in deinem Terminal aus

claude mcp add --transport http semantic https://api.dveracity.com/mcp

Oder führ ihn auf deinem Computer aus

claude mcp add semantic --env DVERACITY_API_KEY=your-value --env DVERACITY_API_URL=your-value --env DVERACITY_KERI_AID=your-value --env DVERACITY_KERI_PRESENTATION=your-value -- npx -y @dveracity/semantic-mcp

Trag die leeren Werte ein, bevor du ihn startest.

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "semantic": {
      "url": "https://api.dveracity.com/mcp"
    }
  }
}

Oder führ ihn auf deinem Computer aus

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "semantic": {
      "command": "npx",
      "args": [
        "-y",
        "@dveracity/semantic-mcp"
      ],
      "env": {
        "DVERACITY_API_KEY": "your-value",
        "DVERACITY_API_URL": "your-value",
        "DVERACITY_KERI_AID": "your-value",
        "DVERACITY_KERI_PRESENTATION": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "semantic": {
      "type": "http",
      "url": "https://api.dveracity.com/mcp"
    }
  }
}

Oder führ ihn auf deinem Computer aus

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "semantic": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@dveracity/semantic-mcp"
      ],
      "env": {
        "DVERACITY_API_KEY": "your-value",
        "DVERACITY_API_URL": "your-value",
        "DVERACITY_KERI_AID": "your-value",
        "DVERACITY_KERI_PRESENTATION": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

ChatGPT verbindet sich nur mit Servern im Internet:

  1. Öffne ChatGPT im Web → Settings → Connectors (Apps)
  2. Tippe auf Create oder Add (bei manchen Tarifen musst du zuerst Developer mode unter Advanced einschalten)
  3. Füge die Adresse unten ein, gib ihr einen Namen und speichere
  4. Wenn eine Anmeldung verlangt wird, melde dich beim Dienst des Entwicklers an
SettingsConnectors1+ Create2https://…3
https://api.dveracity.com/mcp

Menünamen können sich je nach Tarif und mit der Zeit leicht unterscheiden.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Werte, die du selbst einträgst

  • DVERACITY_API_KEY geheim erforderlich env
    dVeracity API key (dvrc_...). Required for the stdio package; metered calls are billed to it. Not used by the remote endpoint, which authenticates with OAuth.
  • DVERACITY_API_URL env
    Optional. Override the API base URL; defaults to production.
  • DVERACITY_KERI_AID env
    Optional. Agent AID enabling vLEI-verified identity mode.
  • DVERACITY_KERI_PRESENTATION env
    Optional. Path to the CESR presentation used with the agent AID.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Tool-Namen und -Beschreibungen genau so, wie der Server sie am 6. Nov. 2026 gemeldet hat. Geschrieben hat sie der Entwickler, nicht wir; wir zeigen sie als reinen Text.

  • semantic_query

    Use this when a user asks a specific question about verified oil-and-gas emissions data, for example methane emissions for a site, company or period (PPDM, OGMP 2.0). Call semantic_templates first to see what the data can answer. Do not use for general climate questions. On payme

  • semantic_templates

    Use this when you want to see which kinds of questions the verified emissions data can answer, before calling semantic_query.

  • credits_balance

    Deprecated: use billing_status, which also shows plan and free allowance. Removal planned for 0.9.

  • list_standards

    Use this when you need to see which sustainability data standards and versions validate_data can check, before calling it.

  • validate_data

    Use this when a user wants a payload checked against a standard other than Open Footprint; call list_standards first to see which are supported. For Open Footprint payloads use ofp_validate. Only masterData or referenceData; call list_standards first.

  • keri_identity

    Use this when an organisation needs to confirm which verified legal entity and agent identity dVeracity is attributing calls to. Only relevant when vLEI identity is configured.

  • ofp_models

    Use this when a user is building an app, database or integration on the Open Footprint standard and needs to know what the model covers. Start here before any other ofp_ tool. The response summary carries the served counts.

  • ofp_search_entities

    Use this when you need the Open Footprint entity for a concept such as "Scope 3 emissions", "facility" or "product footprint". Do not use for emission factors or calculations. Matches entity names, descriptions and field names; use ofp_entity for the full definition.

  • ofp_entity

    Use this when you need one entity's fields, types, keys and relationships, for example to design a table or an API payload. Pass domain when known: ambiguous names fail rather than guessing (ofp_models reports ambiguousNameCount).

  • ofp_sectors

    Use this when a user asks which industries Open Footprint covers or whether a sector has a reference implementation. implemented means a reference implementation exists; planned or placeholder means nothing is published.

  • ofp_sector

    Use this when you need one sector's classification, status and reference artifacts.

  • ofp_policies

    Use this when a user asks which validation rules apply to a sector's emissions records. Do not use for regulations; use compliance_policies. inputs lists the e-ledger fields each policy reads (e.g. co2e_kg, direction), not canonical Open Footprint names. published:false means no

  • compliance_policies

    Use this when a user needs data checked against a regulation, for example EU CBAM, to find the approved policy to run. Do not use for Open Footprint sector rules; use ofp_policies. Returns only APPROVED policies; drafts and rejected never appear. An empty list means none publishe

  • compliance_policy

    Use this when you need the full rules, provenance and coverage of one approved regulatory policy. Returns Rego only when the source was retained; otherwise rego_unavailable: source_not_retained. A policy without Rego is not loaded into the engine; enforcement says whether its str

  • compliance_evaluate

    Use this when a user wants an import record or an annual EU CBAM declaration (Reg. (EU) 2023/956) checked against an approved policy before filing. Do not use for carbon-footprint calculations or for regulations compliance_policies does not list. Runs the policy's regulation-deri

  • compliance_evaluation

    Use this when a user wants to retrieve or audit a previous regulatory evaluation by its id. Only the caller who ran it can read it; another account's id answers not found. Requires compliance:read.

  • compliance_policy_register

    Use this when a user asks which provisions of a regulation an evaluation actually checks and which it does not. Shows which provisions are encoded and which are not: a pass on the encoded checks is not compliance with excluded provisions. Requires the compliance:read scope.

  • ofp_validate

    Use this when a user wants an emissions or footprint record (JSON) checked against the Open Footprint model or a sector's guardrails before storing, exchanging or reporting it. Do not use for general data-quality questions without a payload. Checks structure, declared constraints

  • ofp_semantics

    Use this when mapping fields from SAP, another ERP or a supplier feed onto Open Footprint. A high fieldCount is a generic fallback; pass maxFieldCount (10 is a good start) for codes specific enough to align on.

  • ofp_semantic_code

    Use this when you have a source-system field and need to find where it belongs in the Open Footprint model. Codes carried by more than ten fields are generic classifications; aligning to one asserts less than it appears.

  • ofp_model_provenance

    Use this when a user asks which version of the Open Footprint standard they are designing against.

  • billing_plans

    Use this when you need to know what each dVeracity plan includes or what the free allowance covers. Show dVeracity plans, what each plan includes and the free-tier allowance.

  • billing_status

    Use this when a call was refused for credits or plan, to tell the user exactly what is missing. Use it after a 402 to tell your human exactly what is missing.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 6. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde über die Domain dveracity.com bestätigt (die Registry prüft, wem die Domain gehört)

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • ✓ Bestanden

    Endpunkt antwortet

    Antwort in 311 ms (HTTP 200)

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Keine Anmeldung nötig

  • ✓ Bestanden

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Wir haben 23 Tool-Beschreibungen gelesen und keine versteckten Anweisungen an die KI gefunden

Im Vergleich mit anderen in Sonstigesi

  • Mehr Sterne als 0 % der anderen 32497 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 90 % der anderen 32497 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 32497 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist dVeracity Semantic API sicher?

Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Das musst du eintragen: DVERACITY_API_KEY

Läuft er auf meinem Computer oder in der Cloud?

Beides geht: Installiere ihn auf deinem Computer oder verbinde dich mit der Cloud-Version.

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.8.3) kam vor 4 Tagen in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Zoo MCP

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Spec Driven Development

von formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Läuft auf deinem Computer★ 440MITAktualisiert vor 14 Monaten
Installieren

Remote Desktop Commander

von desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Läuft in der Cloud★ 211Aktualisiert gestern
Installieren

Zoo MCP

von KittyCAD

An MCP server that provides access to the Zoo API for various CAD operations and tools.

Läuft auf deinem ComputerAktualisiert heute
Installieren

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

dVeracity Semantic MCP server

Gives any MCP-capable AI agent (Claude Code, Cursor, custom agents) metered access to the dVeracity Semantic API — natural-language queries over the verified-emissions knowledge graph (Open Footprint / PPDM / OGMP-methane) — and VaaS standards validation.

Prerequisites

  1. A free Explorer account (OAuth) or a paid plan: https://dveracity.com/pricing — Explorer includes API-key management and a monthly metered-call allowance.
  2. An API key (dvrc_…): POST /api/v1/api-keys (or the dashboard)
  3. API credits for calls beyond the free allowance: POST /api/v1/vaas/credits/purchase (or ask the agent to use billing_purchase)

The machine-readable service contract lives at GET /api/v1/semantic/manifest (public, no auth).

Install

From this directory: npm install

Claude Code
claude mcp add dveracity \

-e DVERACITY_API_KEY=dvrc_yourkey \ -- node /path/to/dVE/mcp/semantic-mcp/index.js

Generic MCP JSON config (Cursor, etc.)
{

"mcpServers": { "dveracity": { "command": "node", "args": ["/path/to/dVE/mcp/semantic-mcp/index.js"], "env": { "DVERACITY_API_KEY": "dvrc_yourkey" } } } }

Optional: DVERACITY_API_URL overrides the API base URL (defaults to prod).

KERI mode — verified agent identity (optional)

If the agent holds a dVeracity Agent Authorization credential (an ACDC issued by its Legal Entity, chained to the Legal Entity's vLEI — see elm/docs/VLEI_AGENT_TOKENS_DESIGN.md), set:

DVERACITY_KERI_AID=<the agent's AID (credential issuee)>

DVERACITY_KERI_PRESENTATION=/path/to/agent-credential.cesr # self-contained CESR

The server then authenticates the agent by verifiable presentation (challenge → exchange → 1-hour session, refreshed transparently) and attaches X-Keri-Session to every call: the API key keeps carrying billing, the KERI session adds verified identity — every metered call is attributed to the agent AID and Legal Entity LEI in dVeracity's audit trail. The keri_identity tool (free) shows the active identity. Scope denials (a credential that doesn't carry e.g. semantic:query) surface as actionable errors naming the carried scopes. Signify-based nonce signing is a planned enhancement.

Tools

ToolCostWhat it does
semantic_querycreditsNatural-language question over the verified-emissions knowledge graph
semantic_templatesfreeCatalog of supported query templates
credits_balancefreeRemaining credit balance
list_standardsfreeStandards VaaS can validate against
validate_datacreditsValidate a payload against a supported standard
keri_identityfreeThis agent's verified vLEI identity, when KERI mode is configured

Every tool definition carries _meta.pricing: { "unit": "credit", "amount": , "usd": }, with amount 0 for a free tool. A plan-gated tool also carries "plan_required": " " — 0 credits on compliance_policies or compliance_evaluate means "included in the VaaS plan", not "free for any account".

Billing
ToolCostWhat it does
billing_plansfreePlans, credit packs, per-credit price and the free allowance (anonymous on the hosted endpoint)
billing_statusfreeThis account's plan, balance and remaining free allowance
billing_purchasefreeOne-time credit checkout: returns a checkoutUrl for a human, plus a paymentLink when the deployment configures one
billing_subscribefreeMembership checkout: returns checkoutUrl only; recurring charges need human approval
Open Footprint canonical model

Design-time tools for building an application on the Open Footprint standard. Reading the model is free; only the check at the end is metered.

ToolCostWhat it does
ofp_modelsfreeThe model domains (nine as of openfootprint b60a24e), and which database dialects have published DDL
ofp_search_entitiesfreeSearch the canonical entities (262 entries as of b60a24e) by name, description or field
ofp_entityfreeOne entity in full: fields, types, keys, relationships, physical table
ofp_sectorsfreeIndustry sectors, each with a status
ofp_sectorfreeOne sector, with its reference artifacts
ofp_policiesfreeA sector's Rego guardrails, or an explicit "none published"
compliance_policiespaid planApproved regulatory compliance policies (rules extracted from a regulation, admin-approved); never drafts
compliance_policypaid planOne approved policy: Rego, extracted rules, inputs, provenance
compliance_policy_registerpaid planThe published release register: every provision, its legal reference, review status and why it is or is not enforced
compliance_evaluatepaid planExecute one named approved policy against a record: four-valued decision, per-check results, missing inputs, remediation, coverage. Stores an audit record
compliance_evaluationpaid planRead back one stored evaluation — the caller's own only
ofp_validatecreditsCheck a payload against the model and, optionally, sector guardrails
ofp_semanticsfreeO-DEF semantic codes, for aligning another system's fields onto the model
ofp_semantic_codefreeWhich canonical fields carry one code — the reverse lookup a connector needs
ofp_model_provenancefreeWhich snapshot of the standard this deployment serves

Two behaviours are deliberate and worth knowing before you build against them.

Ambiguous entity names fail rather than resolve. dozens of entity names (the ofp_models summary reports the count as ambiguousNameCount) are defined in more than one domain — Country is in four. ofp_entity without a domain returns an error listing the candidates instead of picking one. Pass domain whenever you know it.

Semantic codes vary in usefulness. Most canonical fields carry an O-DEF code, but a code shared by many fields is a generic classification, and aligning to one asserts almost nothing. The ofp_models summary reports the real shape under precision — preciseFieldThreshold (the fieldCount at or below which a code is precise rather than generic), fieldsOnPreciseCodes and preciseShareOfAnnotated — and those follow the vendored snapshot rather than this document. Every code is returned with its fieldCount: check it before aligning to one, and pass maxFieldCount at that threshold to ofp_semantics to see only the precise ones.

"Nothing published" is an answer, not an error. Most sectors are named in the taxonomy but have no reference implementation, and only seven publish policy guardrails. ofp_policies on such a sector returns published: false with a reason, and ofp_validate reports policy.ran: false. Both mean *no rules are published*, never *there are no constraints* — a payload checked for structure alone is not a compliant one, and should not be described as one.

A fourth outcome, unevaluable, means the sector's rules ran but every rule that came back false reads an input the payload does not carry (policy.missingInputs, e.g. co2e_kg, direction, counterparty_industry). Those are e-ledger record fields, not canonical Open Footprint field names — ofp_policies lists them per policy under inputs. Unevaluable is neither a pass nor a breach, and valid is null.

What ofp_validate checks, and what it does not

The response is a contract, not a verdict. Every call reports the check catalogue in two lists: checked (what ran) and checks_not_run (what did not, each with a reason and usually a detail). Read both before describing a payload as anything.

CheckStatusReason reported when it does not run
schema — presence, primary key, types, declared constraintsrunsentity_has_no_fields
value_rangeruns where the model declares a bound: a quantity outside the declared minimum or maximum is rejected. Which fields declare a bound moves with the vendored snapshot, so it fires on some entities and not others — read checked and schema.coverage.constraintsDeclared per callno_range_declared, no_numeric_fields
unit_coherencenot runnot_implemented
calculation_reproducibilityruns where the record carries all three of a quantity, an emission factor value and a stated CO2e result: quantity × factor = result is reproduced within 1%, and a record that contradicts itself is rejectedno_calculation_inputs, calculation_inputs_incomplete, ambiguous_calculation_inputs, calculation_inputs_unparseable
temporal_consistencyruns: a validity period whose end precedes its start is rejectedno_validity_pair, validity_pair_incomplete, validity_values_unparseable
enum_membershipruns where the vocabulary publishes its members: a well-formed key for a referent that does not exist is rejectedno_members_published, no_reference_field_supplied, reference_ids_unparseable
referential_integritynot run: keys are pattern- and member-checked, never resolved against live recordsno_data_plane
factor_provenancenot runnot_implemented
materialitynot runnot_implemented
sector_policyruns when a sector with published guardrails covers the record typeno_sector_supplied, no_policy_published, policy_source_missing, policy_package_unparseable, not_applicable, unevaluable

Any check can also report schema_not_run, which means the structural check it builds on could not run at all.

calculation_reproducibility is self-referential and nothing more. It resolves its three inputs from the model — the field carrying the emission-measure role, a … Factor Value (never a … Factor ID, which is a reference to a factor rather than a number to multiply by) and a … CO2e … result — or, for a record in the vocabulary the guardrails read, from quantity_value / emission_factor_value / co2e_kg. A slot the record fills more than once is ambiguous_calculation_inputs and the check declines rather than picks. The 1% tolerance is the one CalculationAccuracy in the verification engine and calc_tolerance in the ISO 14064 quantification policy use, so the identity has one tolerance on every surface. What it catches is a record whose own numbers do not multiply out. It does not say the factor is the right one for this source and period (factor_provenance, still not run) or that the quantity came from the meter it claims (the data plane, still not run) — a reproduced calculation is a self-consistent record, not a verified one.

  • schemaValid is the structural verdict (null if the structural check could not run).
  • assuranceLevel names the depth earned: schema-only, schema-and-value, schema-value-and-policy or full. Each level needs every check beneath it, so guardrails without a value check is still schema-only. The ladder is gated on value_range — a bound the model itself declares — so a record that reproduced its own arithmetic without one still reads schema-only; checked is where that shows up, and it is the more precise of the two.
  • Every violation and warning carries severity (error | warning). Rule ids are stable: required_field_missing, pattern_mismatch, format_mismatch, type_mismatch, primary_key_missing, enum_violation, value_range (with bound: minimum | maximum), temporal_consistency, enum_membership, calculation_reproducibility (with expected, received, tolerance and the three inputs it read), … unknown_field is a per-field warning and stays one.
  • unknown_field w

Nur der Anfang wird gezeigt; den Rest findest du im Repo

PopNx fragen