Skip to content

Energieausweis Express

de.energieausweis-express/energieausweisenergieausweis-express.destreamable-httpv1.0.0Scanned

Prepare a German Energieausweis (energy certificate); an Energieberater checks and signs it.

11 tools: 1 do something that can't be undone, 5 change things and 5 only read.

Tools: 0 delete, 1 irreversible, 5 write, 5 read.
  • Reads private data · 0
  • Reads text others write · 2
  • Can send data out · 0
  • No findings

Anlyon alternative

6 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

11 tools

Can't be undone 1Claude Code: ask
  • request_confirmationSends the customer one email with a link to their prepared order on our website.Reads text others writeNo findings

    Why it is in this group

    • The name "request_confirmation" says "request": a word for a change.
    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Sends the customer one email with a link to their prepared order on our website. This does NOT order or charge anything: the customer checks the data there, adds what is missing (usually photos of the street side and the heating) and orders and pays on our page themselves. Before calling it, ask the user for permission and tell them the price review_order returned and that they will get an email, e.g. 'Soll ich das für <Preis> bei Energieausweis Express vorbereiten? Sie bekommen dann eine E-Mail, prüfen alles und bestellen selbst.' Needs the customer's name, the email address they gave for this order, and who orders. One email per order plus one resend (e.g. to a corrected address); the link is valid for 7 days. Afterwards tell the user to look for the email with the subject 'Ihr Energieausweis ist vorbereitet – bitte prüfen und bestellen', also in the spam folder.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
Changes things 5Claude Code: ask
  • add_documentUploads a file to a draft order: an energy bill or Heizkostenabrechnung (rechnung) or a photo (street side, heating, type plate).No findings

    Why it is in this group

    • The name "add_document" says "add": a word for a change.
    Description, as the server wrote it
    Uploads a file to a draft order: an energy bill or Heizkostenabrechnung (rechnung) or a photo (street side, heating, type plate). JPG, PNG, WebP or PDF as base64, at most 10 MB, 20 files per order. Bills are read and compared with the entered consumption after the customer has ordered; the Energieberater checks the photos. Usually the customer takes the photos on our page after the confirmation email. Orders nothing.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
  • answer_inquiryAnswers the open question (Rückfrage) about an ordered certificate with the customer's answers: values keyed by the item keys get_status listed, files the question asks for, and an…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Answers the open question (Rückfrage) about an ordered certificate with the customer's answers: values keyed by the item keys get_status listed, files the question asks for, and an explanation. Ask the customer first and send only what they confirmed.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
  • check_eligibilityChecks whether Energieausweis Express can issue a Verbrauchsausweis (consumption-based energy certificate) for a residential building in Germany, before any order exists.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Checks whether Energieausweis Express can issue a Verbrauchsausweis (consumption-based energy certificate) for a residential building in Germany, before any order exists. Returns yes or no with the reason in German (including the rule for houses with a Bauantrag before 1 November 1977 and the change on 1 January 2027), the all-inclusive price, the delivery time and what is needed. Changes nothing.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
  • start_orderStarts a draft order for the building the user confirmed (building_ref from find_building).No findings

    Why it is in this group

    • The name "start_order" says "start": a word for a change.
    Description, as the server wrote it
    Starts a draft order for the building the user confirmed (building_ref from find_building). Orders and charges nothing. Returns order_id and order_token, which every later tool needs; the token opens only this order, so keep it private and never show it to anyone. Also returns what our 3D building model and the cadastre already say about the building (estimates the customer can correct) and the open points.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
  • update_orderEnters or corrects data of a draft order: facts about the building, the heating, and the consumption periods as printed on the bills, in the bill's unit (kWh; m3 of gas, with the b…No findings

    Why it is in this group

    • The name "update_order" says "update": a word for a change.
    Description, as the server wrote it
    Enters or corrects data of a draft order: facts about the building, the heating, and the consumption periods as printed on the bills, in the bill's unit (kWh; m3 of gas, with the bill's Brennwert and Zustandszahl; litres of oil; kg of pellets; we convert). The consumption is always the whole building's, also when the customer owns one flat: from a Heizkostenabrechnung take the Gesamtverbrauch der Liegenschaft, never the customer's own share. Send only what you know: fields left out stay as they are, and consumption.periods replaces all periods. Synonyms such as 'Gas' or 'heat pump' are accepted. Values are marked as entered by an assistant; the customer sees and confirms them before ordering. Returns the order as it is now and the open points. Orders nothing.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: false
Only reads 5Show 5 read-only tools
  • find_buildingFinds the building at a German address in our 3D building data.No findings

    Why it is in this group

    • The name "find_building" says "find": a word for reading.
    Description, as the server wrote it
    Finds the building at a German address in our 3D building data. Returns the building at the address first, then nearby buildings, each with a building_ref for start_order and a short German description (type, storeys, footprint). If several addresses match, returns them instead: ask the user which one is meant. Where the address may be one of several buildings (semi-detached or terraced houses, several buildings on one plot), ask the user which is theirs. Changes nothing.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
  • get_certificateReturns download links for the issued certificate and its invoice (PDF).No findings

    Why it is in this group

    • The name "get_certificate" says "get": a word for reading.
    Description, as the server wrote it
    Returns download links for the issued certificate and its invoice (PDF). The links work for one hour and open nothing else, so they can be shown to the user; call again for fresh ones. The customer also got both by email. Changes nothing.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
  • get_listing_factsReturns what a property listing must state about the energy certificate (§ 87 GEG): type of certificate, Endenergieverbrauch, main energy carrier of the heating, year built and Eff…No findings

    Why it is in this group

    • The name "get_listing_facts" says "get": a word for reading.
    Description, as the server wrote it
    Returns what a property listing must state about the energy certificate (§ 87 GEG): type of certificate, Endenergieverbrauch, main energy carrier of the heating, year built and Effizienzklasse, as ready-to-paste German text. Only once the certificate is issued. Changes nothing.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
  • get_statusShows where the order stands, in plain German words: prepared, ordered, being checked by the Energieberater, waiting for an answer to a Rückfrage (with its questions), issued.No findings

    Why it is in this group

    • The name "get_status" says "get": a word for reading.
    Description, as the server wrote it
    Shows where the order stands, in plain German words: prepared, ordered, being checked by the Energieberater, waiting for an answer to a Rückfrage (with its questions), issued. Changes nothing.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
  • review_orderShows the order's data and what it still needs before the customer can order: the open points (which field to send, and in German why), whether a Verbrauchsausweis is possible, the…Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "show": a word for reading.

    What it can reach

    • untrusted-inputThe name "review_order" says "review": it reads comments, which other people can write.
    Description, as the server wrote it
    Shows the order's data and what it still needs before the customer can order: the open points (which field to send, and in German why), whether a Verbrauchsausweis is possible, the price, and a preliminary result once the consumption is complete. Changes nothing.

    Annotations the server declares

    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data or outbound.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write2
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

No check matched anything in these tool definitions. That is not a safety guarantee.

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http energieausweis https://energieausweis-express.de/mcp
claude mcp add --transport http energieausweis https://energieausweis-express.de/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__energieausweis__find_building",
      "mcp__energieausweis__get_certificate",
      "mcp__energieausweis__get_listing_facts",
      "mcp__energieausweis__get_status",
      "mcp__energieausweis__review_order"
    ],
    "ask": [
      "mcp__energieausweis__add_document",
      "mcp__energieausweis__answer_inquiry",
      "mcp__energieausweis__check_eligibility",
      "mcp__energieausweis__request_confirmation",
      "mcp__energieausweis__start_order",
      "mcp__energieausweis__update_order"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as energieausweis. Review it before you use it.

Capability tags behind 2 rules
  • mcp__energieausweis__request_confirmation untrusted-input
  • mcp__energieausweis__review_order untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/de.energieausweis-express/energieausweis/verify?hash=e23ad614d658b0ca252b0b92b9d709c60eb75c9aff72ebdf3a0cf0faafa780b8" | jq -e '.changed == false'

Pinned hash e23ad614d658, from Oct 31, 2026, 07:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/de.energieausweis-express/energieausweis/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for de.energieausweis-express/energieausweis
[![anlyon.dev](https://anlyon.dev/badge/de.energieausweis-express/energieausweis.svg)](https://anlyon.dev/servers/de.energieausweis-express/energieausweis)

Source: MCP Registry. Synced Oct 31, 2026, 07:17 UTC.