# Energieausweis Express (remote · energieausweis-express.de)

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

- Trust score: 74/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `energieausweis-express.de`: 74/100 (this document), [markdown](https://verifymcp.io/servers/de-energieausweis-express-energieausweis/energieausweis-express.md), [page](https://verifymcp.io/servers/de-energieausweis-express-energieausweis/energieausweis-express)

## Channel facts

- Endpoint: `https://energieausweis-express.de/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 66/100
  - AI-judged instruction clarity (excellent).
  - 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.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 17/100
  - Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 91% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### 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.

### Claude

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

### Cursor

```json
{
  "mcpServers": {
    "de-energieausweis-express-energieausweis": {
      "url": "https://energieausweis-express.de/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "de-energieausweis-express-energieausweis": {
      "type": "http",
      "url": "https://energieausweis-express.de/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.de-energieausweis-express-energieausweis]
url = "https://energieausweis-express.de/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "de-energieausweis-express-energieausweis": {
      "type": "remote",
      "url": "https://energieausweis-express.de/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add de-energieausweis-express-energieausweis --url 'https://energieausweis-express.de/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  de-energieausweis-express-energieausweis:
    url: "https://energieausweis-express.de/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "de-energieausweis-express-energieausweis": {
      "Transport": "http",
      "Url": "https://energieausweis-express.de/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add de-energieausweis-express-energieausweis -t streamable-http -u 'https://energieausweis-express.de/mcp'
```

### Other

```json
{
  "mcpServers": {
    "de-energieausweis-express-energieausweis": {
      "type": "http",
      "url": "https://energieausweis-express.de/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 74, +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.

### 2026-11-02 (score 73, +1)

- [cosmetic] “answer_inquiry” reworded the description of “documents”
- [cosmetic] “answer_inquiry” reworded the description of “values”

### 2026-11-01 (score 72, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-31 (score 72)

First indexed and scored.

## MCP tools (11)

### `add_document` (~245 tokens)

Upload a bill or photo

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.

Input parameters:

- `content_base64` (string, required): the file, base64-encoded: JPG, PNG, WebP or PDF, at most 10 MB
- `filename` (string): the file's name, for your reference
- `kind` (string, required): 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, required): the order_id start_order returned
- `order_token` (string, required): the order_token start_order returned; it opens only this order, keep it private

Output parameters:

- `check` (string)
- `document_id` (string)
- `kind` (string)
- `mime` (string)
- `size_bytes` (integer)

### `answer_inquiry` (~209 tokens)

Answer the Energieberater's question

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.

Input parameters:

- `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, required): the order_id start_order returned
- `order_token` (string, required): 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;…

Output parameters:

- `certificate_ready` (boolean)
- `delivery` (string)
- `open_inquiry` (null|object)
- `order_number` (string)
- `ordered` (boolean)
- `status` (string)
- `status_text` (string)

### `check_eligibility` (~245 tokens)

Check eligibility and price

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.

Input parameters:

- `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

Output parameters:

- `delivery` (string)
- `includes` (null|array)
- `needed` (null|array)
- `note` (string)
- `price` (string)
- `price_cents` (integer)
- `reason` (string)
- `verbrauchsausweis_possible` (boolean)

### `find_building` (~138 tokens)

Find the building

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.

Input parameters:

- `address` (string, required): street, house number, postcode and city, e.g. 'Buschkamp 12, 48161 Münster'

Output parameters:

- `address` (string)
- `addresses` (null|array)
- `buildings` (null|array)
- `next_step` (string)

### `get_certificate` (~96 tokens)

Download the certificate

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.

Input parameters:

- `order_id` (string, required): the order_id start_order returned
- `order_token` (string, required): the order_token start_order returned; it opens only this order, keep it private

Output parameters:

- `certificate_url` (string)
- `invoice_url` (string)
- `links_valid_until` (string)
- `registration_number` (string)
- `valid_until` (string)

### `get_listing_facts` (~105 tokens)

Facts for a property listing

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.

Input parameters:

- `order_id` (string, required): the order_id start_order returned
- `order_token` (string, required): the order_token start_order returned; it opens only this order, keep it private

Output parameters:

- `certificate_type` (string)
- `efficiency_class` (string)
- `energy_carriers` (string)
- `final_energy` (string)
- `one_line` (string): the same in one line, for listing portals
- `registration_number` (string)
- `text` (string): the mandatory facts, one per line, ready to paste into the listing
- `valid_until` (string)
- `year_built` (string)

### `get_status` (~86 tokens)

Order status

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.

Input parameters:

- `order_id` (string, required): the order_id start_order returned
- `order_token` (string, required): the order_token start_order returned; it opens only this order, keep it private

Output parameters:

- `certificate_ready` (boolean)
- `delivery` (string)
- `open_inquiry` (null|object)
- `order_number` (string)
- `ordered` (boolean)
- `status` (string)
- `status_text` (string)

### `request_confirmation` (~327 tokens)

Email the customer to check and order

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.

Input parameters:

- `email` (string, required): 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, required): the customer's name
- `order_id` (string, required): the order_id start_order returned
- `order_token` (string, required): the order_token start_order returned; it opens only this order, keep it private
- `orderer` (string, required): who orders: eigentuemer (the owner), makler (estate agent), verwaltung (property management) or sonstige (someone else on the owner's behalf)

Output parameters:

- `customer_still_adds` (null|array)
- `link_valid_until` (string)
- `message_for_customer` (string)
- `next_step` (string)
- `ordered` (boolean): always false: the customer orders on our page
- `resends_left` (integer)
- `sent_to` (string)

### `review_order` (~100 tokens)

Review open points and price

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.

Input parameters:

- `order_id` (string, required): the order_id start_order returned
- `order_token` (string, required): the order_token start_order returned; it opens only this order, keep it private

Output parameters:

- `delivery` (string)
- `hints` (null|array): what looks odd without blocking, in German; check the values with the user
- `next_step` (string)
- `note` (string)
- `open_points` (null|array)
- `order` (object)
- `preliminary_result` (null|object)
- `price` (string)
- `price_cents` (integer)
- `ready_for_confirmation` (boolean)
- `reason` (string)
- `verbrauchsausweis_possible` (boolean)

### `start_order` (~114 tokens)

Start a draft order

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.

Input parameters:

- `building_ref` (string, required): the building_ref find_building returned for the building the user confirmed

Output parameters:

- `next_step` (string)
- `open_points` (null|array)
- `order` (object)
- `order_id` (string)
- `order_number` (string)
- `order_token` (string): opens only this order; keep it private

### `update_order` (~247 tokens)

Enter order data

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.

Input parameters:

- `consumption` (null|object)
- `facts` (null|object)
- `heating` (null|object)
- `order_id` (string, required): the order_id start_order returned
- `order_token` (string, required): the order_token start_order returned; it opens only this order, keep it private

Output parameters:

- `hints` (null|array): what looks odd without blocking, in German; check the values with the user
- `open_points` (null|array)
- `order` (object)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/de-energieausweis-express-energieausweis/energieausweis-express#diagnostics

## Score history

- 2026-11-05: 74
- 2026-11-04: 74
- 2026-11-03: 73
- 2026-11-02: 73
- 2026-11-01: 72
- 2026-10-31: 72

## Common questions

### 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.

## Links

- Remote endpoint: https://energieausweis-express.de/mcp
- Website: https://energieausweis-express.de/ki-assistent
- Changelog RSS feed: https://verifymcp.io/servers/de-energieausweis-express-energieausweis/energieausweis-express.xml
- Changelog JSON feed: https://verifymcp.io/servers/de-energieausweis-express-energieausweis/energieausweis-express.json
- HTML version of this page: https://verifymcp.io/servers/de-energieausweis-express-energieausweis/energieausweis-express
