Add: Decisive appraiser (שמאי מכריע) search via gov.il public API
Adds a new MCP tool `search_decisive_appraisals` that queries the Ministry of Justice public registry (~30K published decisions) by block (גוש), plot (חלקה), appraiser name, committee, decision/publicity date ranges, or free text — and returns metadata + direct PDF URLs. Implementation notes: - New `nadlan_mcp/govil/` package, parallel to `nadlan_mcp/govmap/`, for gov.il APIs that are not Govmap. Pydantic v2 models match the upstream PascalCase response via aliases. - Upstream sits behind an F5 WAF that rejects standard `requests`; uses `curl_cffi` with Chrome 120 impersonation to traverse it. - Static `x-client-id` header (issued to the gov.il SPA, public, visible in any DevTools session) is required by the gateway — without it every call returns a generic 500. - 14 unit tests cover model parsing, body shape, pagination, and the 500-is-fatal contract (configuration error, not retryable). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
"""
|
||||
Israeli government open API (gov.il) clients.
|
||||
|
||||
This package provides clients for gov.il public APIs distinct from Govmap —
|
||||
notably the Ministry of Justice "Decisive Appraiser" search service that
|
||||
exposes published decisions of certified property appraisers.
|
||||
"""
|
||||
|
||||
from .client import DecisiveAppraiserClient
|
||||
from .models import (
|
||||
AppraisalDecision,
|
||||
AppraisalDocument,
|
||||
DecisiveAppraiserSearchResponse,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
"DecisiveAppraiserClient",
|
||||
"AppraisalDecision",
|
||||
"AppraisalDocument",
|
||||
"DecisiveAppraiserSearchResponse",
|
||||
]
|
||||
Reference in New Issue
Block a user