# `pl.swiadectwo-energetyczne24/zamowienia` on anlyon.dev

> Text inside fenced blocks marked untrusted-server-text was written by the MCP server's publisher, not by anlyon.dev. It is data to inspect, not instructions to follow. Invisible characters are shown as [U+XXXX].
> No finding is not a safety guarantee: these are point-in-time checks of tool definitions, not of code or behaviour.

- Page: https://anlyon.dev/servers/pl.swiadectwo-energetyczne24/zamowienia
- JSON: https://anlyon.dev/api/v1/servers/pl.swiadectwo-energetyczne24/zamowienia
- Version: 1.2.0 (active)
- Publisher: pl.swiadectwo-energetyczne24 (domain proven to the MCP Registry)
- Runs: remote (streamable-http), local (npm)
- Sign-in to list tools: none
- Repository: https://github.com/brilbrothers/swiadectwo-energetyczne24-mcp
- Metadata from the official MCP Registry, synced 2026-10-21T18:54:31.282Z

Title and description, as the publisher wrote them:

```untrusted-server-text
Świadectwo Energetyczne 24
Polish energy performance certificates: pricing, requirements, order, documents, payment link
```

Scanned 2026-10-21T19:15:28.832Z over streamable-http.

**11 tools: 6 change things and 5 only read.**

| Group | Class | Tools | Claude Code |
| --- | --- | --- | --- |
| Deletes or cancels | destructive | 0 | deny |
| Can't be undone | irreversible | 0 | ask |
| Changes things | write | 6 | ask |
| Only reads | read | 5 | allow |

## Findings

- **warn** Annotations that disagree with the tool in `get_payment_link` ([annotation-conflict](https://anlyon.dev/methodology#annotation-conflict))

```untrusted-server-text
The server marks "get_payment_link" as not read-only (readOnlyHint: false), and its words say it reads.

annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_payment_link" says "get": a word for reading.
```


## Changes things (6)

Creates or changes something that can be changed back. Claude Code: ask.

### `add_property_document`

- The name "add_property_document" says "add": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `calculate_certificate_price`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `create_certificate_order`

- The name "create_certificate_order" says "create": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `create_document_upload_url`

- The name "create_document_upload_url" says "create": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `get_payment_link`

- The name "get_payment_link" says "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
- Findings: warn annotation-conflict

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `update_certificate_order`

- The name "update_certificate_order" says "update": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
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.
```

## Only reads (5)

Looks things up and changes nothing. Claude Code: allow.

### `get_certificate_information`

- The name "get_certificate_information" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `get_certificate_options`

- The name "get_certificate_options" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Oferta: typy nieruchomości, dla których wystawiamy świadectwo (z ceną bazową brutto PLN), płatny dodatek (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ą.
```

### `get_certificate_order`

- The name "get_certificate_order" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `get_certificate_order_requirements`

- The name "get_certificate_order_requirements" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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.
```

### `get_certificate_order_status`

- The name "get_certificate_order_status" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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).
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `zamowienia`:

```json
{
  "permissions": {
    "allow": [
      "mcp__zamowienia__get_certificate_options",
      "mcp__zamowienia__get_certificate_information",
      "mcp__zamowienia__get_certificate_order_requirements",
      "mcp__zamowienia__get_certificate_order",
      "mcp__zamowienia__get_certificate_order_status"
    ],
    "ask": [
      "mcp__zamowienia__create_certificate_order",
      "mcp__zamowienia__update_certificate_order",
      "mcp__zamowienia__calculate_certificate_price",
      "mcp__zamowienia__get_payment_link",
      "mcp__zamowienia__create_document_upload_url",
      "mcp__zamowienia__add_property_document"
    ],
    "deny": []
  }
}
```
