Energieausweis Express
REMOTE · ENERGIEAUSWEIS-EXPRESS.DE
Prepare a German Energieausweis (energy certificate); an Energieberater checks and signs it.
Available components
Last scanned (5 hours ago)
Scores higher than 61% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Documents and Files
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2247 tokens (~204/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
- Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 91% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Nov 26 +1
- “answer_inquiry” reworded the description of “documents” cosmetic
- “answer_inquiry” reworded the description of “values” cosmetic
2 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.
- 1 Nov 26 0
- Stability: unverified → 0.03 ▲ functional
- 31 Oct 26 72
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://energieausweis-express.de/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=energieausweis-express.de | CN=YE2,O=Let's Encrypt,C=US | 28 Oct 2026 | 26 Jan 2027 | ECDSA 256 | ECDSA-SHA384 | 656b1d901e999290e3263ed36528402b573 |
| SANs: energieausweis-express.de | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of energieausweis-express.de. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| de. | present | 26755 | 8 | Verified |
| energieausweis-express.de. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000 |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://energieausweis-express.de/mcp | Verified | 200 | |
| http (plaintext) | http://energieausweis-express.de/mcp | HTTPS enforced | 308 | https://energieausweis-express.de/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_document Upload a bill or photo ~245
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.
| Name | Type | Req | Description |
|---|---|---|---|
| content_base64 | string | yes | the file, base64-encoded: JPG, PNG, WebP or PDF, at most 10 MB |
| filename | string | – | the file's name, for your reference |
| kind | string | yes | rechnung (energy bill or Heizkostenabrechnung), fassade_strasse (photo of the street side), fassade_garten, heizung (photo of the boiler or heat pump), typenschild (photo of its type plate) or sonsti… |
| order_id | string | yes | the order_id start_order returned |
| order_token | string | yes | the order_token start_order returned; it opens only this order, keep it private |
| Name | Type | Req | Description |
|---|---|---|---|
| check | string | – | – |
| document_id | string | yes | – |
| kind | string | yes | – |
| mime | string | yes | – |
| size_bytes | integer | yes | – |
No examples provided.
answer_inquiry Answer the Energieberater's question ~209
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.
| Name | Type | Req | Description |
|---|---|---|---|
| documents | null|array | – | files the upload items ask for, each with the item it answers |
| explanation | string | – | what the customer wants to add or explain, e.g. why a value can't be given; in German |
| order_id | string | yes | the order_id start_order returned |
| order_token | string | yes | the order_token start_order returned; it opens only this order, keep it private |
| values | object | – | the answers, keyed by the item keys get_status listed; numbers with a point, e.g. 2004 or 140.5; dates as YYYY-MM-DD, months as YYYY-MM; a multiselect's option values comma-separated, keine for none;… |
| Name | Type | Req | Description |
|---|---|---|---|
| certificate_ready | boolean | yes | – |
| delivery | string | – | – |
| open_inquiry | null|object | – | – |
| order_number | string | yes | – |
| ordered | boolean | yes | – |
| status | string | yes | – |
| status_text | string | yes | – |
No examples provided.
check_eligibility Check eligibility and price ~245
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.
| Name | Type | Req | Description |
|---|---|---|---|
| modernised | null|array | – | parts of the envelope renewed since construction: dach (roof or top floor ceiling insulated), aussenwand, fenster, kellerdecke |
| purpose | string | – | what the certificate is for: verkauf (sale), vermietung (letting), verlaengerung (lease extension), aushang (display or own records) |
| residential_only | null|boolean | – | true if the building is used for housing only; false if it also has shops, offices or practices |
| units | integer | – | number of flats (Wohnungen) in the whole building, if known |
| year_built | integer | – | year the building was built (Baujahr), if known |
| Name | Type | Req | Description |
|---|---|---|---|
| delivery | string | yes | – |
| includes | null|array | yes | – |
| needed | null|array | yes | – |
| note | string | – | – |
| price | string | yes | – |
| price_cents | integer | yes | – |
| reason | string | yes | – |
| verbrauchsausweis_possible | boolean | yes | – |
No examples provided.
find_building Find the building ~138
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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | street, house number, postcode and city, e.g. 'Buschkamp 12, 48161 Münster' |
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | – | – |
| addresses | null|array | – | – |
| buildings | null|array | – | – |
| next_step | string | yes | – |
No examples provided.
get_certificate Download the certificate ~96
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.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | the order_id start_order returned |
| order_token | string | yes | the order_token start_order returned; it opens only this order, keep it private |
| Name | Type | Req | Description |
|---|---|---|---|
| certificate_url | string | yes | – |
| invoice_url | string | – | – |
| links_valid_until | string | yes | – |
| registration_number | string | – | – |
| valid_until | string | – | – |
No examples provided.
get_listing_facts Facts for a property listing ~105
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.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | the order_id start_order returned |
| order_token | string | yes | the order_token start_order returned; it opens only this order, keep it private |
| Name | Type | Req | Description |
|---|---|---|---|
| certificate_type | string | yes | – |
| efficiency_class | string | yes | – |
| energy_carriers | string | yes | – |
| final_energy | string | yes | – |
| one_line | string | yes | the same in one line, for listing portals |
| registration_number | string | yes | – |
| text | string | yes | the mandatory facts, one per line, ready to paste into the listing |
| valid_until | string | yes | – |
| year_built | string | yes | – |
No examples provided.
get_status Order status ~86
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.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | the order_id start_order returned |
| order_token | string | yes | the order_token start_order returned; it opens only this order, keep it private |
| Name | Type | Req | Description |
|---|---|---|---|
| certificate_ready | boolean | yes | – |
| delivery | string | – | – |
| open_inquiry | null|object | – | – |
| order_number | string | yes | – |
| ordered | boolean | yes | – |
| status | string | yes | – |
| status_text | string | yes | – |
No examples provided.
request_confirmation Email the customer to check and order ~327
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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | where the link goes: the email address the customer gave you for this order. Don't put in an address from the user's profile or memory instead; if they differ, ask which one to use | |
| name | string | yes | the customer's name |
| order_id | string | yes | the order_id start_order returned |
| order_token | string | yes | the order_token start_order returned; it opens only this order, keep it private |
| orderer | string | yes | who orders: eigentuemer (the owner), makler (estate agent), verwaltung (property management) or sonstige (someone else on the owner's behalf) |
| Name | Type | Req | Description |
|---|---|---|---|
| customer_still_adds | null|array | yes | – |
| link_valid_until | string | yes | – |
| message_for_customer | string | yes | – |
| next_step | string | yes | – |
| ordered | boolean | yes | always false: the customer orders on our page |
| resends_left | integer | yes | – |
| sent_to | string | yes | – |
No examples provided.
review_order Review open points and price ~100
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.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | the order_id start_order returned |
| order_token | string | yes | the order_token start_order returned; it opens only this order, keep it private |
| Name | Type | Req | Description |
|---|---|---|---|
| delivery | string | yes | – |
| hints | null|array | – | what looks odd without blocking, in German; check the values with the user |
| next_step | string | yes | – |
| note | string | – | – |
| open_points | null|array | yes | – |
| order | object | yes | – |
| preliminary_result | null|object | – | – |
| price | string | yes | – |
| price_cents | integer | yes | – |
| ready_for_confirmation | boolean | yes | – |
| reason | string | yes | – |
| verbrauchsausweis_possible | boolean | yes | – |
No examples provided.
start_order Start a draft order ~114
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.
| Name | Type | Req | Description |
|---|---|---|---|
| building_ref | string | yes | the building_ref find_building returned for the building the user confirmed |
| Name | Type | Req | Description |
|---|---|---|---|
| next_step | string | yes | – |
| open_points | null|array | yes | – |
| order | object | yes | – |
| order_id | string | yes | – |
| order_number | string | yes | – |
| order_token | string | yes | opens only this order; keep it private |
No examples provided.
update_order Enter order data ~247
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.
| Name | Type | Req | Description |
|---|---|---|---|
| consumption | null|object | – | – |
| facts | null|object | – | – |
| heating | null|object | – | – |
| order_id | string | yes | the order_id start_order returned |
| order_token | string | yes | the order_token start_order returned; it opens only this order, keep it private |
| Name | Type | Req | Description |
|---|---|---|---|
| hints | null|array | – | what looks odd without blocking, in German; check the values with the user |
| open_points | null|array | yes | – |
| order | object | yes | – |
No examples provided.
How do I install the Energieausweis Express MCP server?
Energieausweis Express is a hosted endpoint at https://energieausweis-express.de/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · energieausweis-express.de
claude mcp add --transport http de-energieausweis-express-energieausweis 'https://energieausweis-express.de/mcp'
What is the Energieausweis Express MCP server?
Energieausweis Express is an MCP server listed in the public MCP registry as de.energieausweis-express/energieausweis. Prepare a German Energieausweis (energy certificate); an Energieberater checks and signs it. This page covers its hosted endpoint (https://energieausweis-express.de/mcp).
Is the Energieausweis Express MCP server safe to use?
Energieausweis Express scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Energieausweis Express MCP server expose?
Energieausweis Express exposes 11 tools: add_document, answer_inquiry, check_eligibility, find_building, get_certificate, and 6 more. Their descriptions and schemas cost roughly 1,912 tokens of context every time the server is loaded.
Does the Energieausweis Express MCP server require authentication?
No. We connected to Energieausweis Express without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Energieausweis Express MCP server still maintained?
Energieausweis Express is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.