diff --git a/mcp_server_main.py b/mcp_server_main.py index b6347cc..16411ab 100644 --- a/mcp_server_main.py +++ b/mcp_server_main.py @@ -42,7 +42,7 @@ def create_app(): from yargitay_mcp_module.client import YargitayOfficialApiClient from yargitay_mcp_module.models import ( YargitayDetailedSearchRequest, YargitayDocumentMarkdown, CompactYargitaySearchResult, - YargitayBirimEnum + YargitayBirimEnum, CleanYargitayDecisionEntry ) from bedesten_mcp_module.client import BedestenApiClient from bedesten_mcp_module.models import ( @@ -1004,8 +1004,20 @@ async def search_yargitay_detailed( try: api_response = await yargitay_client_instance.search_detailed_decisions(search_query) if api_response.data: + # Convert to clean decision entries without arananKelime field + clean_decisions = [ + CleanYargitayDecisionEntry( + id=decision.id, + daire=decision.daire, + esasNo=decision.esasNo, + kararNo=decision.kararNo, + kararTarihi=decision.kararTarihi, + document_url=decision.document_url + ) + for decision in api_response.data.data + ] return CompactYargitaySearchResult( - decisions=api_response.data.data, + decisions=clean_decisions, total_records=api_response.data.recordsTotal, requested_page=search_query.pageNumber, page_size=search_query.pageSize) diff --git a/yargitay_mcp_module/models.py b/yargitay_mcp_module/models.py index 372f2f2..b784819 100644 --- a/yargitay_mcp_module/models.py +++ b/yargitay_mcp_module/models.py @@ -64,7 +64,6 @@ class YargitayApiDecisionEntry(BaseModel): esasNo: Optional[str] = Field(None, alias="esasNo", description="Case no") kararNo: Optional[str] = Field(None, alias="kararNo", description="Decision no") kararTarihi: Optional[str] = Field(None, alias="kararTarihi", description="Date") - arananKelime: Optional[str] = Field(None, alias="arananKelime", description="Keyword") # 'index' and 'siraNo' from API response are not critical for MCP tool, so omitted for brevity # This field will be populated by the client after fetching the search list @@ -91,9 +90,18 @@ class YargitayDocumentMarkdown(BaseModel): markdown_content: Optional[str] = Field(None, description="Content") source_url: HttpUrl = Field(..., description="Source URL") +class CleanYargitayDecisionEntry(BaseModel): + """Clean decision entry without arananKelime field to reduce token usage.""" + id: str + daire: Optional[str] = Field(None, description="Chamber") + esasNo: Optional[str] = Field(None, description="Case no") + kararNo: Optional[str] = Field(None, description="Decision no") + kararTarihi: Optional[str] = Field(None, description="Date") + document_url: Optional[HttpUrl] = Field(None, description="Document URL") + class CompactYargitaySearchResult(BaseModel): """A more compact search result model for the MCP tool to return.""" - decisions: List[YargitayApiDecisionEntry] + decisions: List[CleanYargitayDecisionEntry] total_records: int requested_page: int page_size: int \ No newline at end of file