landfeedAPI · MCP · 2.0.0Agent Markdown

MCP tool: resolve

Znajdź działkę wskazaną przez użytkownika

Description (verbatim)

Rozpoznaj działki na podstawie q, id albo point. Niejednoznaczne dane zwracają kandydatów do wyboru. Parametr listing_url, dostępny po włączeniu funkcji, zastępuje pozostałe dane wejściowe i zawsze zwraca kandydatów z result=null. Nie kopiuj treści ogłoszenia ani nie wybieraj kandydata bez wiedzy użytkownika.

Cost and binding

x-request-cost: 1 request per call.

REST binding: GET /v1/resolve.

Inputs

Dokładnie jeden z parametrów q, id, point (lat i lng razem liczą się jako point). Wszystkie punkty odczytu API i wszystkie narzędzia obsługują te trzy warianty.

FieldRequiredSchema / constraintsDescription
idno{"maxLength": 100, "pattern": "^\\s*[0-9]{6}[._][0-9]\\.[0-9]{1,4}\\.[0-9A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u024F_./ -]{0,63}[0-9A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u024F_./-]\\s*$", "type": "string"}not specified in the source contract
latno{"maximum": 55.0, "minimum": 49.0, "type": "number"}not specified in the source contract
limitno{"maximum": 20, "minimum": 1, "type": "integer"}not specified in the source contract
listing_urlno{"format": "uri", "maxLength": 2048, "pattern": "^https://", "type": "string"}not specified in the source contract
lngno{"maximum": 24.5, "minimum": 14.0, "type": "number"}not specified in the source contract
pointno{"pattern": "^-?[0-9]{1,2}(\\.[0-9]+)?, ?-?[0-9]{1,3}(\\.[0-9]+)?$", "type": "string"}not specified in the source contract
qno{"maxLength": 300, "minLength": 1, "type": "string"}not specified in the source contract
{
  "inputSchema": {
    "allOf": [
      {
        "oneOf": [
          {
            "not": {
              "anyOf": [
                {
                  "required": [
                    "id"
                  ]
                },
                {
                  "required": [
                    "point"
                  ]
                },
                {
                  "required": [
                    "lat"
                  ]
                },
                {
                  "required": [
                    "lng"
                  ]
                },
                {
                  "required": [
                    "listing_url"
                  ]
                }
              ]
            },
            "required": [
              "q"
            ]
          },
          {
            "not": {
              "anyOf": [
                {
                  "required": [
                    "q"
                  ]
                },
                {
                  "required": [
                    "point"
                  ]
                },
                {
                  "required": [
                    "lat"
                  ]
                },
                {
                  "required": [
                    "lng"
                  ]
                },
                {
                  "required": [
                    "listing_url"
                  ]
                }
              ]
            },
            "required": [
              "id"
            ]
          },
          {
            "not": {
              "anyOf": [
                {
                  "required": [
                    "q"
                  ]
                },
                {
                  "required": [
                    "id"
                  ]
                },
                {
                  "required": [
                    "lat"
                  ]
                },
                {
                  "required": [
                    "lng"
                  ]
                },
                {
                  "required": [
                    "listing_url"
                  ]
                }
              ]
            },
            "required": [
              "point"
            ]
          },
          {
            "not": {
              "anyOf": [
                {
                  "required": [
                    "q"
                  ]
                },
                {
                  "required": [
                    "id"
                  ]
                },
                {
                  "required": [
                    "point"
                  ]
                },
                {
                  "required": [
                    "listing_url"
                  ]
                }
              ]
            },
            "required": [
              "lat",
              "lng"
            ]
          },
          {
            "not": {
              "anyOf": [
                {
                  "required": [
                    "q"
                  ]
                },
                {
                  "required": [
                    "id"
                  ]
                },
                {
                  "required": [
                    "point"
                  ]
                },
                {
                  "required": [
                    "lat"
                  ]
                },
                {
                  "required": [
                    "lng"
                  ]
                }
              ]
            },
            "required": [
              "listing_url"
            ]
          }
        ],
        "properties": {
          "id": {
            "$ref": "#/$defs/ParcelIdInput"
          },
          "lat": {
            "maximum": 55.0,
            "minimum": 49.0,
            "type": "number"
          },
          "limit": {
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "listing_url": {
            "format": "uri",
            "maxLength": 2048,
            "pattern": "^https://",
            "type": "string"
          },
          "lng": {
            "maximum": 24.5,
            "minimum": 14.0,
            "type": "number"
          },
          "point": {
            "pattern": "^-?[0-9]{1,2}(\\.[0-9]+)?, ?-?[0-9]{1,3}(\\.[0-9]+)?$",
            "type": "string"
          },
          "q": {
            "maxLength": 300,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      }
    ],
    "type": "object"
  }
}

Structured results

Tools return structuredContent (JSON) using canonical definitions in envelope.json.

Compact shared local schemas. Bundle reachable $defs per tool before use; never fetch refs. Examples and detailed guidance: mcp-examples.md.

{
  "allOf": [
    {
      "$ref": "#/$defs/Envelope"
    }
  ],
  "properties": {
    "meta": {
      "properties": {
        "operation": {
          "enum": [
            "resolve",
            "resolve_listing"
          ]
        }
      }
    }
  },
  "type": "object"
}

Shared catalog-local $defs are published once in MCP catalogue. See Envelope and the bound operation for responses.

Server instructions (verbatim)

Źródłowe informacje o polskich działkach ewidencyjnych. Przekazuj w q tekst wpisany przez użytkownika. Każde narzędzie samodzielnie rozpoznaje działkę, więc wcześniejsze wywołanie resolve nie jest potrzebne. Przy statusie ambiguous pokaż kandydatów albo ponów wywołanie z id wybranego kandydata; nigdy nie wybieraj samodzielnie bez wiedzy użytkownika. Każda odpowiedź dotycząca danych tematycznych zawiera coverage i note: covered oznacza obecność rekordu, covered_no_data oznacza brak rekordu w źródle obejmującym to miejsce, not_covered oznacza brak publikacji przez państwo lub brak danych w tym miejscu, a not_computed oznacza, że wyniku jeszcze nie obliczono. Cytując fakt, przytocz note, source.attribution i as_of. Nie określaj działki jako „bezpiecznej”: podaj, co wynika z każdego źródła i czego ono nie obejmuje. Nie pisz „brak planu” bez wskazania, czy chodzi o plan ogólny czy MPZP, jego statusu (draft, adopted, in_force, none; dla MPZP status może być null, gdy źródło go nie publikuje) i źródła. Jeżeli źródło wymienia strefę MPZP bez statusu prawnego, coverage wynosi covered, a status i effective_from mają wartość null; przytocz note i nie ustalaj statusu samodzielnie. Nie zwracamy numerów ksiąg wieczystych ani danych właścicieli. Pole billing pokazuje koszt wywołania; opłaty za odpowiedzi not_covered i błędy są zwracane. Każda odpowiedź v2 zawiera licencję, zakres i metodę. extracted oznacza metodę pozyskania, a nie stan coverage; wynik poniżej progu ma stan not_covered. Powierzchnia z area.source równym computed nie jest urzędową powierzchnią działki. Klucze API i połączenie OAuth korzystają z kredytów tego samego konta. Wyszukiwanie na podstawie ogłoszenia zwraca wyłącznie identyfikatory kandydatów i wymaga włączenia LANDFEED_LISTING_LOOKUP_ENABLED.

Annotations

{
  "idempotentHint": true,
  "openWorldHint": false,
  "readOnlyHint": true
}

Coverage states

Cztery stany zakresu danych dla jednej kategorii w danym miejscu. covered: źródło obejmuje to miejsce i zawiera rekord; value zawiera ten rekord. covered_no_data: źródło obejmuje to miejsce, lecz nie zawiera rekordu; value ma określoną dla danej kategorii pustą wartość (false, 0, [], none), nigdy null; jest to potwierdzony brak rekordu, za który naliczana jest opłata. not_covered: źródło nie obejmuje miejsca albo państwo nie publikuje tych danych w postaci do odczytu maszynowego; value=null, agent nie może wyciągać wniosków, a opłata jest zwracana, gdy zapytanie dotyczy tych danych. not_computed: posiadamy źródło, lecz nie obliczyliśmy jeszcze wyniku dla tego miejsca, np. trwa ładowanie zbioru; value=null, opłata jest zwracana. Każdy stan zawiera uwagę napisaną prostym językiem.

States: covered | covered_no_data | not_covered | not_computed.

LayerAnswer required fields: layer, coverage, value, note, source, as_of, layer_version.

Billing rule

Koszt żądania. charged: liczba naliczonych wywołań po zwrotach. refunded: liczba wywołań naliczonych, a następnie zwróconych. rule: zastosowana reguła. Płatne są odpowiedzi, potwierdzone braki rekordów (covered_no_data) i niejednoznaczne listy kandydatów. Bezpłatne są błędne dane wejściowe (400), brak uwierzytelnienia (401), odpowiedzi bez zmiany danych (304) i operacje bezpłatne. Zwrot obejmuje pozostałe 4xx, każde 5xx, status not_covered oraz odpowiedź dotyczącą jednej kategorii ze stanem not_covered lub not_computed. W operacjach zbiorczych liczby dotyczą poszczególnych elementów.

Rule values: charged | free_operation | free_invalid_input | free_unauthorized | free_not_modified | refunded_client_error | refunded_server_error | refunded_not_covered | refunded_not_computed | batch_mixed.

curl example of the REST binding

curl --silent --show-error --request GET "https://mcp.agentdzialek.pl/v1/resolve" --get \
  -H "X-Api-Key: ${LANDFEED_API_KEY}" \
  --data-urlencode 'id=141803_2.0001.12/3'

MCP transport invocation: not specified in the source contract.