Świadectwo Energetyczne 24

Agent zamówień świadectw energetycznych — dane, wycena, dokumenty, płatność.

我该使用它吗

质量与安全性

A
描述质量
91%
模式完整度
95%
命名质量
98%
投毒风险
100%
权限匹配度
90%
协议合规性
100%

发现(4)

  • LOWTool 'get_certificate_information' description lacks action verb在 get_certificate_information 中
  • LOWTool 'calculate_certificate_price' description lacks action verb在 calculate_certificate_price 中
  • LOWTool 'get_certificate_order_requirements' name length outside 3-30 range在 get_certificate_order_requirements 中
  • LOWTool 'create_document_upload_url' suggests web access but openWorldHint=false在 create_document_upload_url 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~4,773token 数(工具定义)
~3.4 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 3.73%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 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#"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本11 个工具
已验证未记录版本18 个工具
已验证未记录版本18 个工具