Świadectwo Energetyczne 24
Agent zamówień świadectw energetycznych — dane, wycena, dokumenty, płatność.
我该使用它吗
质量与安全性
发现(4)
- LOW在 get_certificate_information 中
- LOW在 calculate_certificate_price 中
- LOW在 get_certificate_order_requirements 中
- LOW在 create_document_upload_url 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"zamowienia": {
"url": "https://swiadectwo-energetyczne24.pl/api/mcp"
}
}
}远程端点
https://swiadectwo-energetyczne24.pl/api/mcpstreamable-http它能做什么
工具清单
工具(11)
🟢get_certificate_options(property_type)
Oferta: typy nieruchomości, dla których wystawiamy świadectwo (z ceną bazową brutto PLN), płatne dodatki (Express 8H, wersja papierowa), obsługiwane typy dokumentów i listy dozwolonych wartości (ogrzewanie, CWU, wentylacja, okna, drzwi). Wywołaj jako pierwsze, jeśli użytkownik nie określił typu nieruchomości. Ceny tu są cennikowe — cenę konkretnego zamówienia liczy calculate_certificate_price. Wartości enum podawaj później DOKŁADNIE tak, jak tu wyglądają.
输入模式
{
"type": "object",
"properties": {
"property_type": {
"type": "string",
"enum": [
"mieszkanie",
"dom",
"lokal-uzytkowy",
"budynek-nieogrzewany"
],
"description": "Zawęź listę typów nieruchomości do jednego typu."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_certificate_information(topics)
Fakty o usłudze pochodzące z naszego systemu: dla jakich nieruchomości wystawiamy świadectwo, przebieg procesu, czasy realizacji, wymagane dokumenty, podstawa prawna, FAQ i kontakt. Używaj tego zamiast odpowiadać z własnej wiedzy.
输入模式
{
"type": "object",
"properties": {
"topics": {
"type": "array",
"items": {
"type": "string",
"enum": [
"overview",
"property_types",
"pricing",
"process",
"lead_time",
"documents",
"legal",
"faq",
"contact"
]
},
"maxItems": 9,
"description": "Zawęź odpowiedź do wybranych tematów. Domyślnie zwracane są wszystkie."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_certificate_order(property_type, customer, address, property, options, ...)
Tworzy zamówienie świadectwa charakterystyki energetycznej. NIE musisz mieć wszystkich danych — podaj, co już wiesz; odpowiedź zawiera brakujące pola i pytanie, które zadać jako następne. Zwrócony access_token jest jedynym kluczem do tego zamówienia: zapamiętaj go i przekazuj do pozostałych narzędzi. Zamówienie nie jest opłacone dopóki użytkownik nie przejdzie przez link z get_payment_link.
输入模式
{
"type": "object",
"properties": {
"property_type": {
"type": "string",
"enum": [
"mieszkanie",
"dom",
"lokal-uzytkowy",
"budynek-nieogrzewany"
],
"description": "Typ nieruchomości. mieszkanie = apartment, dom = house, lokal-uzytkowy = commercial unit, budynek-nieogrzewany = unheated building up to 70 m² (summer cabin, outbuilding, workshop) with no heating or air conditioning."
},
"customer": {
"type": "object",
"properties": {
"first_name": {
"type": "string",
"maxLength": 100
},
"last_name": {
"type": "string",
"maxLength": 100
},
"email": {
"type": "string",
"maxLength": 200
},
"phone": {
"type": "string",
"maxLength": 40
}
},
"additionalProperties": false,
"description": "Dane kontaktowe klienta."
},
"address": {
"type": "object",
"properties": {
"street": {
"type": "string",
"maxLength": 200
},
"building_number": {
"type": "string",
"maxLength": 30
},
"apartment_number": {
"type": "string",
"maxLength": 30
},
"postal_code": {
"type": "string",
"maxLength": 10
},
"city": {
"type": "string",
"maxLength": 120
}
},
"additionalProperties": false,
"description": "Adres nieruchomości."
},
"property": {
"type": "object",
"properties": {
"area_m2": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 10000
},
"height_m": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 20
},
"year_built": {
"type": "integer",
"minimum": 1800,
"maximum": 2100
}
},
"additionalProperties": false,
"description": "Podstawowe parametry: powierzchnia użytkowa, wysokość pomieszczeń, rok oddania do użytkowania."
},
"options": {
"type": "object",
"properties": {
"express_24h": {
"type": "boolean",
"description": "Dodatek Express 8H – realizacja w 8 godzin roboczych (nazwa pola historyczna)."
},
"paper_version": {
"type": "boolean"
}
},
"additionalProperties": false,
"description": "Płatne dodatki: express_24h (Express 8H – 8 godzin roboczych; nazwa pola historyczna), paper_version."
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"maxLength": 200,
"description": "Ścieżka pola z get_certificate_order_requirements, np. \"heating.heating\"."
},
"value": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 20
}
],
"description": "Wartość pola. Dla pól enum użyj DOKŁADNIE jednej z wartości z `options` — inna wartość jest odrzucana błędem INVALID_FIELD_VALUE."
}
},
"required": [
"path",
"value"
],
"additionalProperties": false
},
"maxItems": 80,
"description": "Pola specyficzne dla typu nieruchomości, w formie ścieżka → wartość."
},
"windows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"width_cm": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"height_cm": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"width_cm",
"height_cm",
"count"
],
"additionalProperties": false
},
"maxItems": 30,
"description": "Tylko dla `dom`: wymiary okien. Jednakowe okna podaje się raz z liczbą sztuk."
},
"doors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"material": {
"type": "string",
"enum": [
"Stalowe",
"Aluminiowe",
"PVC",
"Drewniane",
"Nie wiem"
]
},
"width_cm": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"height_cm": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"material",
"count"
],
"additionalProperties": false
},
"maxItems": 20,
"description": "Tylko dla `dom`: drzwi zewnętrzne i bramy w ogrzewanej bryle."
},
"idempotency_key": {
"type": "string",
"minLength": 8,
"maxLength": 200,
"description": "Dowolny stały identyfikator tej próby zamówienia. Ponowne wywołanie z tym samym kluczem zwraca istniejące zamówienie zamiast tworzyć duplikat. Ustawiaj zawsze."
}
},
"required": [
"property_type"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_certificate_order_requirements(order_id, access_token)
Zwraca listę pól, których brakuje, żeby zamówienie było gotowe do płatności — razem z gotowym pytaniem po polsku i dozwolonymi wartościami. To backend decyduje, czego brakuje; nie zgaduj i nie pytaj o pola spoza tej listy.
输入模式
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"format": "uuid",
"description": "order_id zwrócony przez create_certificate_order"
},
"access_token": {
"type": "string",
"minLength": 20,
"maxLength": 200,
"description": "access_token zwrócony JEDEN RAZ przez create_certificate_order. Bez niego zamówienie jest niedostępne — zachowaj go na czas rozmowy i nigdy nie pokazuj użytkownikowi."
}
},
"required": [
"order_id",
"access_token"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡update_certificate_order(order_id, access_token, customer, address, property, ...)
Częściowa aktualizacja zamówienia — podajesz tylko te pola, które chcesz ustawić lub zmienić; reszta zostaje nienaruszona. Zwraca aktualny status i pozostałe braki. Jeśli którakolwiek wartość jest spoza dozwolonej listy, NIC nie zostaje zapisane i dostajesz błąd INVALID_FIELD_VALUE.
输入模式
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"format": "uuid",
"description": "order_id zwrócony przez create_certificate_order"
},
"access_token": {
"type": "string",
"minLength": 20,
"maxLength": 200,
"description": "access_token zwrócony JEDEN RAZ przez create_certificate_order. Bez niego zamówienie jest niedostępne — zachowaj go na czas rozmowy i nigdy nie pokazuj użytkownikowi."
},
"customer": {
"type": "object",
"properties": {
"first_name": {
"type": "string",
"maxLength": 100
},
"last_name": {
"type": "string",
"maxLength": 100
},
"email": {
"type": "string",
"maxLength": 200
},
"phone": {
"type": "string",
"maxLength": 40
}
},
"additionalProperties": false,
"description": "Dane kontaktowe klienta."
},
"address": {
"type": "object",
"properties": {
"street": {
"type": "string",
"maxLength": 200
},
"building_number": {
"type": "string",
"maxLength": 30
},
"apartment_number": {
"type": "string",
"maxLength": 30
},
"postal_code": {
"type": "string",
"maxLength": 10
},
"city": {
"type": "string",
"maxLength": 120
}
},
"additionalProperties": false,
"description": "Adres nieruchomości."
},
"property": {
"type": "object",
"properties": {
"area_m2": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 10000
},
"height_m": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 20
},
"year_built": {
"type": "integer",
"minimum": 1800,
"maximum": 2100
}
},
"additionalProperties": false,
"description": "Podstawowe parametry: powierzchnia użytkowa, wysokość pomieszczeń, rok oddania do użytkowania."
},
"options": {
"type": "object",
"properties": {
"express_24h": {
"type": "boolean",
"description": "Dodatek Express 8H – realizacja w 8 godzin roboczych (nazwa pola historyczna)."
},
"paper_version": {
"type": "boolean"
}
},
"additionalProperties": false,
"description": "Płatne dodatki: express_24h (Express 8H – 8 godzin roboczych; nazwa pola historyczna), paper_version."
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"maxLength": 200,
"description": "Ścieżka pola z get_certificate_order_requirements, np. \"heating.heating\"."
},
"value": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 20
}
],
"description": "Wartość pola. Dla pól enum użyj DOKŁADNIE jednej z wartości z `options` — inna wartość jest odrzucana błędem INVALID_FIELD_VALUE."
}
},
"required": [
"path",
"value"
],
"additionalProperties": false
},
"maxItems": 80,
"description": "Pola specyficzne dla typu nieruchomości, w formie ścieżka → wartość."
},
"windows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"width_cm": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"height_cm": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"width_cm",
"height_cm",
"count"
],
"additionalProperties": false
},
"maxItems": 30,
"description": "Tylko dla `dom`: wymiary okien. Jednakowe okna podaje się raz z liczbą sztuk."
},
"doors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"material": {
"type": "string",
"enum": [
"Stalowe",
"Aluminiowe",
"PVC",
"Drewniane",
"Nie wiem"
]
},
"width_cm": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"height_cm": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"material",
"count"
],
"additionalProperties": false
},
"maxItems": 20,
"description": "Tylko dla `dom`: drzwi zewnętrzne i bramy w ogrzewanej bryle."
}
},
"required": [
"order_id",
"access_token"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_certificate_order(order_id, access_token)
Pełny stan zamówienia: zebrane wartości pól, dołączone dokumenty, cena, status i braki. Używaj, gdy musisz odczytać, co już zapisano; do samego postępu realizacji wystarczy get_certificate_order_status. Dane osobowe zwracamy tylko posiadaczowi access_token.
输入模式
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"format": "uuid",
"description": "order_id zwrócony przez create_certificate_order"
},
"access_token": {
"type": "string",
"minLength": 20,
"maxLength": 200,
"description": "access_token zwrócony JEDEN RAZ przez create_certificate_order. Bez niego zamówienie jest niedostępne — zachowaj go na czas rozmowy i nigdy nie pokazuj użytkownikowi."
}
},
"required": [
"order_id",
"access_token"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_certificate_order_status(order_id, access_token)
Skrócony status zamówienia — bez danych osobowych i bez wartości pól. Używaj do informowania użytkownika o postępie realizacji (płatność, przygotowanie świadectwa, wysyłka).
输入模式
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"format": "uuid",
"description": "order_id zwrócony przez create_certificate_order"
},
"access_token": {
"type": "string",
"minLength": 20,
"maxLength": 200,
"description": "access_token zwrócony JEDEN RAZ przez create_certificate_order. Bez niego zamówienie jest niedostępne — zachowaj go na czas rozmowy i nigdy nie pokazuj użytkownikowi."
}
},
"required": [
"order_id",
"access_token"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢calculate_certificate_price(order_id, access_token, property_type, options, discount_code)
Wiążąca cena wyliczona przez nasz backend. Podaj order_id + access_token dla ceny konkretnego zamówienia albo samo property_type dla wyceny orientacyjnej. NIGDY nie licz ceny samodzielnie i nie podawaj kwot z pamięci.
输入模式
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"format": "uuid",
"description": "order_id zwrócony przez create_certificate_order"
},
"access_token": {
"type": "string",
"minLength": 20,
"maxLength": 200,
"description": "access_token zwrócony JEDEN RAZ przez create_certificate_order. Bez niego zamówienie jest niedostępne — zachowaj go na czas rozmowy i nigdy nie pokazuj użytkownikowi."
},
"property_type": {
"type": "string",
"enum": [
"mieszkanie",
"dom",
"lokal-uzytkowy",
"budynek-nieogrzewany"
],
"description": "Wymagane, gdy nie podajesz order_id."
},
"options": {
"type": "object",
"properties": {
"express_24h": {
"type": "boolean",
"description": "Dodatek Express 8H – realizacja w 8 godzin roboczych (nazwa pola historyczna)."
},
"paper_version": {
"type": "boolean"
}
},
"additionalProperties": false
},
"discount_code": {
"type": "string",
"maxLength": 40,
"description": "Kod rabatowy podany przez użytkownika. Sam go nie wymyślaj ani nie proponuj."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_payment_link(order_id, access_token)
Zwraca bezpieczny link do strony płatności dla kompletnego zamówienia. Na tej stronie użytkownik widzi podsumowanie i cenę, może dodać zdjęcie budynku (jeśli go jeszcze nie ma — da się je też dosłać po płatności), akceptuje regulamin i płaci u operatora płatności. WYWOŁUJ WYŁĄCZNIE po tym, jak pokażesz użytkownikowi cenę i dostaniesz od niego wyraźną zgodę. MCP nigdy nie przyjmuje danych karty.
输入模式
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"format": "uuid",
"description": "order_id zwrócony przez create_certificate_order"
},
"access_token": {
"type": "string",
"minLength": 20,
"maxLength": 200,
"description": "access_token zwrócony JEDEN RAZ przez create_certificate_order. Bez niego zamówienie jest niedostępne — zachowaj go na czas rozmowy i nigdy nie pokazuj użytkownikowi."
}
},
"required": [
"order_id",
"access_token"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_document_upload_url(order_id, access_token, document_type, filename, mime, ...)
Zwraca jednorazowy URL do wgrania pliku (metodą PUT) i file_id, którym potem dołączysz plik przez add_property_document. MCP nigdy nie pobiera plików z Internetu — bajty wysyła ten, kto je ma.
输入模式
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"format": "uuid",
"description": "order_id zwrócony przez create_certificate_order"
},
"access_token": {
"type": "string",
"minLength": 20,
"maxLength": 200,
"description": "access_token zwrócony JEDEN RAZ przez create_certificate_order. Bez niego zamówienie jest niedostępne — zachowaj go na czas rozmowy i nigdy nie pokazuj użytkownikowi."
},
"document_type": {
"type": "string",
"enum": [
"property_photo",
"floor_plan",
"building_project",
"technical_project",
"energy_document",
"other"
]
},
"filename": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"mime": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "image/jpeg, image/png, image/webp lub application/pdf (HEIC nie przyjmujemy)"
},
"size_bytes": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"required": [
"order_id",
"access_token",
"document_type",
"filename",
"mime",
"size_bytes"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡add_property_document(order_id, access_token, document_type, file_id, filename)
Dołącza wgrany wcześniej plik do zamówienia. file_id musi pochodzić z create_document_upload_url dla TEGO zamówienia. Zdjęcie budynku (property_photo) jest potrzebne do wystawienia świadectwa, ale nie blokuje płatności — jeśli go nie dodasz, użytkownik doda je na stronie płatności albo dośle później na stronie zamówienia.
输入模式
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"format": "uuid",
"description": "order_id zwrócony przez create_certificate_order"
},
"access_token": {
"type": "string",
"minLength": 20,
"maxLength": 200,
"description": "access_token zwrócony JEDEN RAZ przez create_certificate_order. Bez niego zamówienie jest niedostępne — zachowaj go na czas rozmowy i nigdy nie pokazuj użytkownikowi."
},
"document_type": {
"type": "string",
"enum": [
"property_photo",
"floor_plan",
"building_project",
"technical_project",
"energy_document",
"other"
]
},
"file_id": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "file_id zwrócony przez create_document_upload_url"
},
"filename": {
"type": "string",
"minLength": 1,
"maxLength": 255
}
},
"required": [
"order_id",
"access_token",
"document_type",
"file_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}社区
证据