Skip to content

MCP servers / EU Energy Label Preflight

EU Energy Label Preflight

Look up supplier-declared EPREL records and energy-label data before a product claim is made.

Jithox · EU capability · global access · Product compliance · Available

What a call costs

€0.25 per accepted call, from your shared workspace balance. Your first 25 accepted calls over 14 days are free and shared across every Jithox MCP server. A failure, a refusal, a rate limit or an unavailable source costs €0.00. Introductory usage price. Subject to review as real usage data becomes available.

Overview

Who it is for: Manufacturers, marketplaces and agents anywhere preparing products for the European market — an Asian manufacturer checking EPREL evidence has exactly this question.

Endpoint
https://energy.mcp.jithox.com/mcp
Protocol
2025-06-18
Authentication
OAuth 2.1 with PKCE (S256). Its own OAuth resource.
Source
The official EPREL public API. Every field is marked supplier-declared and not independently verified by Jithox.

Tool explorer

Every tool this server prices, with its input schema, its output shape and an example. This explorer is read-only documentation: nothing on this page calls the server, so reading it executes nothing and costs nothing.

search_eprel_products

Find candidate public records by model, registration number or brand and group.

When to use it: When you know something about the product but not its record id.

Required input
Optional input
modelIdentifier, supplierOrBrand, productGroup, registrationNumber
Output fields
state, matches[], queriedSource, declaredNotVerified, sources[]
Price
€0.25 per accepted call

Example input

{ "modelIdentifier": "WM14N201NL", "productGroup": "washingmachines2019" }

Example output

{ "state": "exact_public_record",
  "matches": [{ "publicRecordId": "123456", "modelIdentifier": "WM14N201NL" }],
  "declaredNotVerified": true }
Charges you
exact_public_record, possible_match, multiple_matches, no_match_in_queried_source
Costs €0.00
insufficient_identifiers, plus every error

get_eprel_product_record

Structure one public record, listing missing fields rather than inventing them.

When to use it: Once you have a record id and need its declared fields.

Required input
Optional input
publicRecordId
Output fields
state, record, missingFields[], declaredNotVerified, sources[]
Price
€0.25 per accepted call

Example input

{ "publicRecordId": "123456" }

Example output

{ "state": "exact_public_record",
  "record": { "energyClass": "A", "supplier": "Example GmbH" },
  "missingFields": ["noiseEmission"], "declaredNotVerified": true }
Charges you
exact_public_record, no_match_in_queried_source
Costs €0.00
unavailable, plus every error

get_eprel_energy_label_data

Declared label and product-sheet data, marked as supplier-declared.

When to use it: When you need the label values behind a claim.

Required input
Optional input
publicRecordId
Output fields
state, energyClass, labelFields, declaredNotVerified, sources[]
Price
€0.25 per accepted call

Example input

{ "publicRecordId": "123456" }

Example output

{ "state": "exact_public_record",
  "energyClass": "A",
  "labelFields": { "annualEnergyConsumption": "48 kWh/100 cycles" },
  "declaredNotVerified": true }
Charges you
exact_public_record, no_match_in_queried_source
Costs €0.00
unavailable, plus every error

compare_eprel_product_metrics

A value table over metrics that two compatible records actually share.

When to use it: To compare like with like — cross-group comparisons fail safely instead of misleading.

Required input
Optional input
publicRecordIds
Output fields
state, sharedMetrics[], table, incompatibilityReason
Price
€0.25 per accepted call

Example input

{ "publicRecordIds": ["123456", "123457"] }

Example output

{ "state": "compared",
  "sharedMetrics": ["energyClass", "annualEnergyConsumption"],
  "table": [{ "metric": "energyClass", "123456": "A", "123457": "B" }] }
Charges you
compared, incompatible_comparison
Costs €0.00
insufficient_identifiers, plus every error

prepare_energy_label_preflight_receipt

An Ed25519 receipt over the lookups, sources and decision states.

When to use it: When you need attestable evidence of what was checked, not of an outcome.

Required input
bundle, createdAt
Optional input
Output fields
state, receipt, keyId, algorithm, validUntil
Price
€0.25 per accepted call

Example input

{ "bundle": { "publicRecordId": "123456" },
  "createdAt": "2026-08-03T09:12:04Z" }

Example output

{ "state": "prepared",
  "algorithm": "Ed25519",
  "keyId": "energy-2026-07",
  "validUntil": "2026-09-02T09:12:04Z" }
Charges you
prepared, partial, needs_review
Costs €0.00
every error

How charging works

  • Authorize — your credential, its scope and the product are checked.
  • Reserve — the price is held against your trial or balance before anything runs.
  • Execute — the tool does its work.
  • Capture or release — an accepted, usable answer captures; anything else releases the hold in full.
  • Receipt — an accepted call produces a signed receipt you can verify offline.

Failed calls cost €0.00. Errors, refusals, rate limits, kill switches and upstream outages never charge you and never consume a free call.

Shared usage and balance

One workspace has one free trial and one prepaid balance. Both are shared across every available Jithox MCP server — you do not buy a balance per server, and a credential never holds money of its own.

Free trial

25 accepted calls

14 days, shared across the available MCP servers. No card. The trial starts at your first call, not at sign-up.

Balance

One prepaid EUR balance

For all available Jithox MCP servers. Spend it wherever you like. No subscription and no automatic top-up.

How the balance works

One workspace → one shared trial → one shared EUR balance → several authorized MCP servers → paid calls → receipts.

  • You do not buy a balance per MCP server — one balance covers all of them.
  • Prices differ per server, so the same balance buys a different number of calls on each. The price list shows how many.
  • A credential holds no money. Rotating or replacing one leaves your balance and your free calls exactly as they were.
  • Future paid Jithox MCP servers draw on this same balance; they do not create a second one.
  • Tax is calculated separately and is never spendable balance.
  • There is no automatic top-up and no automatic subscription — funds are added only when you choose to add them.

Connect

  • Create an account and a workspace.
  • Create a credential — it is shown once.
  • Point your MCP client at the endpoint below.
  • Approve the consent screen with your access key.
  • initialize, then tools/list.
  • Call a tool and read the receipt in _meta.
# Remote MCP server (Streamable HTTP)
https://energy.mcp.jithox.com/mcp

# Your client discovers OAuth automatically:
https://energy.mcp.jithox.com/.well-known/oauth-protected-resource

# Placeholders — never commit real values
YOUR_CLIENT_ID
YOUR_CREDENTIAL

Example call

POST https://energy.mcp.jithox.com/mcp
{"jsonrpc":"2.0","id":1,"method":"tools/call",
 "params":{"name":"search_eprel_products","arguments":{ /* see required input above */ }}}

The response carries a decision state, the evidence behind it, and _meta.receipt. If the call is accepted and chargeable, €0.25 is captured from your balance — otherwise the hold is released.

Errors

CodeMeaning
401Authentication required — re-run the OAuth flow.
403Insufficient scope, or a token for a different server.
402Free calls used up and the balance cannot cover this call. Nothing ran, nothing was charged.
429Rate limited. Honour retry-after; nothing was charged.
503The product or its source is unavailable. This does NOT mean the server crashed — it means we will not answer without a source we trust.

Limits and disclaimers

  • Supplier-declared data only — Jithox verifies nothing about the product itself.
  • Not a conformity or market-access determination.
  • A no-match is never 'not registered'; an outage is never a verdict.