{"name":"app.sallim/korea-realty","slug":"sallim-korea-realty","title":null,"description":"Korean real estate: court auctions, 10M+ MOLIT records, subscription notice facts, loan/DSR rules","url":"https://mcp.market/server/sallim-korea-realty","rating":null,"grade":"C","score":68,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":18,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-08-18T11:57:31.000Z","license":"MIT"},"uptime":{"percent":100,"checks":2,"ok":2,"last_checked_at":"2026-09-19T20:46:13.325Z","last_ok_at":"2026-09-19T20:46:13.325Z","latency_ms":536},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/sallim-app/korea-realty","website":"https://realty.sallim.app/mcp/pricing","version":"0.84.20","remotes":[{"type":"streamable-http","url":"https://realty.sallim.app/mcp?via=official"}],"packages":[],"tools":[{"name":"fetch","description":"search가 돌려준 id로 경매 사건의 전체 내용을 가져온다.\n\n    id 형식은 \"법원명|사건번호\" (예: \"서울동부지방법원|2025타경51727\").\n    사건번호는 법원 간 중복되므로 법원명 없이 조회하면 후보 목록이 돌아올 수 있다.\n\n    rights(매각물건명세서 요약)가 있으면 법원 공시의 전달로만 인용하고, 없으면(rights_note\n    참조) 권리관계를 지어내지 말 것 — 권리분석 판단은 이 도구의 데이터 밖이다.\n\n    **이 축의 자리** — 사건 상세도 둘이고 입력과 응답 형태로 갈린다. 이 도구는 `search`가\n    준 `\"법원명|사건번호\"` 한 덩어리를 그대로 받아 **문서형 텍스트**를 돌려준다(ChatGPT\n    커넥터 규격). 사용자가 사건번호를 말로 불러줬거나, `rights`·`min_bid_source` 같은 필드를\n    **값으로** 다뤄야 하면 `realty_get_auction_case`(사건번호·법원명을 따로 받는 구조화 응답)를\n    써라. 유찰 이력·기일별 저감은 어느 쪽도 아니고 `realty_auction_history`다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"description":"search가 돌려준 id를 **그대로** 넣는다 — `법원명|사건번호` 형식이다 (예: '서울동부지방법원|2025타경51727'). 파이프 앞은 정식 법원명이고 지원은 '진주지원'처럼 지원명만 오는 행도 있다. 파이프 뒤는 `2026타경3571` 꼴 (연도 4자리 + '타경' + 일련번호, 일련번호는 3~6자리). 법원명 없이 사건번호만 넣으면 사건번호가 법원 간 유일하지 않아 후보 목록이 돌아온다","title":"Id","type":"string"}},"required":["id"],"additionalProperties":false,"title":"fetchArguments"}},{"name":"realty_area_price_bands","description":"지역의 매매 시세를 평형대 4구간(소형/중소형/중형/대형, 전용면적 기준)으로 조회한다.\n    \"○○구에서 무슨 평수대가 얼마쯤 해?\"류 질문용 — 특정 단지는 realty_search_complexes를 쓰라.\n\n    **이 축의 자리(시세 도구 3종 중)**: 지역의 가격 **수준** 비교는 이게 기본값이다.\n    이상치 필터(P75의 50% 미만 제외)가 적용돼 realty_region_price_stats의 미필터 평균과\n    값이 다르며, **수준이 갈리면 이쪽을 우선하라**. 월별 **추이**가 필요하면\n    region_price_stats, 단지가 특정되면 search_complexes.\n\n    구간 라벨의 평수는 **전용평**이다. 사용자의 분양평 감각으로는 소형<60㎡≈분양 24평 미만,\n    중소형 60~85㎡≈분양 24~34평, 중형 85~115㎡≈분양 34~47평, 대형 115㎡+≈분양 47평 이상.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"region":{"description":"시군구명 (예: 마포구). **법정동까지 넣어도 된다**(예: '마포구 아현동') — 구 하나로 뭉치면 신도심·구도심이 한 값이 된다","title":"Region","type":"string"},"period_months":{"default":3,"description":"집계 기간(개월) (허용 범위 1~24)","maximum":24,"minimum":1,"title":"Period Months","type":"integer"},"by_dong":{"default":false,"description":"법정동 × 평형대 중앙값을 함께 낸다. '이 구에서 어디가 싼가'류 질문의 자리다 — 실측(마포구 6개월, 전용 60~84㎡): 서교동 6.8억 ~ 용강동 27.1억으로 한 구 안에서 4배 갈린다. 표본 3건 이상 칸만 나온다","title":"By Dong","type":"boolean"}},"required":["region"],"additionalProperties":false,"title":"realty_area_price_bandsArguments"}},{"name":"realty_auction_alerts","description":"유찰이 쌓여 최저입찰가가 크게 떨어진 경매 물건을 골라낸다.\n\n    유찰이 누적돼 최저입찰가가 크게 떨어진 물건을 찾는다. \"○○에서 유찰 많은 물건\"은\n    sido/sigungu로 좁혀라.\n\n    유찰이 많다는 건 싸다는 뜻이기도 하지만 권리관계·물건 하자 등 팔리지 않는 이유가\n    있다는 뜻이기도 하다. 결과를 추천으로 제시하지 말고 확인이 필요한 후보로 제시하라.\n\n    **같은 축의 다른 문**: realty_search_auctions(min_fail_count)로도 유찰 물건을 거를 수\n    있다 — 조건 필터·목록이 목적이면 그쪽, 저감 큰 후보 발굴(극단 할인 컷 포함)이면 이쪽.\n    둘을 합쳐 세지 마라(같은 물건이 양쪽에 나온다).\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"min_bid_count":{"default":3,"description":"최소 유찰 횟수 (허용 범위 0~100)","maximum":100,"minimum":0,"title":"Min Bid Count","type":"integer"},"min_discount_pct":{"default":30,"description":"감정가 대비 최소 할인율(%) (허용 범위 0~100)","maximum":100,"minimum":0,"title":"Min Discount Pct","type":"integer"},"max_discount_pct":{"default":100,"description":"감정가 대비 최대 할인율(%) — 80%+ 극단 할인은 지분매각·대지권 없음 등 특수물건이 대부분이라, 실수요 후보를 찾을 땐 79 이하로 걸러라 (허용 범위 0~100)","maximum":100,"minimum":0,"title":"Max Discount Pct","type":"integer"},"sido":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시도 (예: 세종, 경기도) ⚠️ '광주'는 광주광역시와 경기도 광주시 둘 다라 **한쪽으로 읽지 않고 거절한다**(error='sido_ambiguous') — 광역시면 '광주광역시', 경기도 광주시면 sido='경기도'·sigungu='광주시'로 갈라 넣어라.","title":"Sido"},"sigungu":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시군구 (예: 강남구, 수원시)","title":"Sigungu"},"usage_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"물건 종류 — 원장 값 예: 아파트·오피스텔·다세대·연립주택·단독주택·다가구주택·근린시설·상가·대지·임야·전답. 부분일치라 '빌라'는 '연립주택,다세대,빌라' 행에 걸린다(**표기를 바꾸지 않는다** — '다세대'로 자동 매핑하는 것은 낙찰가율 통계 realty_auction_sale_rate 쪽이다). '토지'는 이 원장에 없는 이름이라 거절된다 — 대지·임야·전답으로 나뉘어 있다. 비우면 전 종류","title":"Usage Name"},"limit":{"default":20,"description":"반환 개수 (최대 50) (허용 범위 1~50)","maximum":50,"minimum":1,"title":"Limit","type":"integer"}},"additionalProperties":false,"title":"realty_auction_alertsArguments"}},{"name":"realty_auction_history","description":"경매 사건 하나의 유찰 이력·가격 변동·물건 사진을 조회한다.\n\n    경매 사건의 유찰 이력(기일별 최저가 저감 시계열)·가격 변동 이벤트·물건 사진 URL을\n    조회한다. \"몇 번 유찰됐어? 얼마나 떨어진 거야? 사진 있어?\"류 질문의 담당 도구.\n    사진은 법원 원천에서 기일 후 소멸해 **수집 시점 보존본만 존재**한다(국내 공개 API에 드문 축).\n\n    court_schedule에서 result='유찰'인 행이 유찰 이력, min_bid_10k의 저감이 가격 흐름이다.\n    result가 null인 행은 미래 기일이거나 미해독 법원 코드(result_code 원문 병기)다 —\n    의미를 지어내지 말고 그대로 전하라. **최저가(min_bid_10k)가 없는 행에는 `kind_note`가\n    붙는다 — 그 행은 입찰 기일이 아니다**(원천 전수에서 최저가·유찰 표기는 kind_code=01에만\n    붙는다). fail_count가 기일표의 유찰 행 수와 다르면 `fail_count_note`가 그 이유를 댄다\n    (출처가 목록 원천 vs 기일표로 갈린다) — 둘을 합쳐 세지 마라. tracking·price_events는 2026-07-23 이후 일일\n    스냅샷 비교분이라 비어 있을 수 있다(비어 있음 ≠ 변동 없음, court_schedule이 정본).\n    ⚠️ court_schedule이 빈 물건(기일표 미수집)의 `current_min_bid_10k`는 건별\n    `min_bid_source`를 봐야 한다 — item_list면 낡았을 수 있어 min_bid_note가 함께 온다.\n    그 경우 현재 최저가를 단정하지 말고 note를 사용자에게 전하라(목록·상세와 같은 경고).\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"case_no":{"description":"사건번호 — `2026타경3571` 꼴이다(연도 4자리 + '타경' + 일련번호 3~6자리). 원장 전수가 '타경' 접두이고 '2024타경101026'처럼 6자리도 있다. '2026-3571'·'3571'처럼 접두 없이 넣지 마라","title":"Case No","type":"string"},"court_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"법원명 — '서울동부지방법원'·'인천지방법원'처럼 정식명으로 넣는다('진주지원'처럼 지원명만인 행도 있다). 사건번호는 법원 간 유일하지 않아(전국 평균 2.8개 법원에서 중복) 생략하면 후보 목록이 돌아온다","title":"Court Name"}},"required":["case_no"],"additionalProperties":false,"title":"realty_auction_historyArguments"}},{"name":"realty_auction_sale_rate","description":"\"이 지역 이 물건은 보통 감정가의 몇 %에 낙찰되나\"를 실제 매각결과로 답한다.\n\n    입찰가를 정할 때 쓰는 핵심 지표다. `by_fail_count`에 유찰 횟수별 분포가 들어 있어\n    \"2회 유찰된 물건은 보통 몇 %에 낙찰되는가\"를 바로 읽을 수 있다.\n    낙찰가율 = 낙찰가 / 감정가 × 100. 100%를 넘으면 감정가보다 비싸게 팔린 것이다.\n\n    표본의 집계 기간은 응답의 `sample_period`(매각기일 min~max)에 있다 — \"요즘\"류\n    질문에는 이 범위를 함께 전하라. 기간을 좁히는 파라미터는 백엔드가 지원하지 않는다\n    (요청해도 조용히 무시됨을 실측했다 — 그래서 노출하지 않는다).\n\n    usage_name에 '빌라'를 넣으면 표준 분류인 '다세대'로 자동 매핑해 집계한다(원문\n    '빌라'는 소수 비표준 표기 행만 잡혀 표본이 조용히 왜곡된다 — 응답에 매핑 사실이\n    공시된다). 연립주택 통계는 usage_name='연립주택'으로 따로 물어라.\n\n    **평형을 섞지 마라(2026-08-16 축 신설)**: 응답의 `by_area_band`가 전용면적대별\n    낙찰가율이다. 실측(사건 중복 제거): 아파트 전국 전체 79.2%인데 전용 59㎡ 이하 75.7%,\n    60~84㎡ 82.2%, 서울은 88.9% vs 97.3%다. 대상 물건의 평형을 알면 `area_band`로 좁히고,\n    지역 요약 하나로 입찰가를 정하지 마라. '면적 미상' 밴드는 공고에 면적 표기가 없는\n    사건이지 0이 아니다.\n\n    **이 축의 자리(경매 가격판단 3종 중)**: 이 %는 **감정가 대비** 통계다. 특정 물건이\n    실거래 **시세** 대비 싼지는 realty_compare_auction_vs_market이 자동 계산한다 —\n    분모가 다르니 두 %를 한 문장에 섞지 마라(감정가는 시세와 다른 시점·기준의 값이다).\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sido":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시도 — '서울'처럼 줄여 써도 되고 '서울특별시'도 된다(서버가 정식명으로 편다). 원장 표기는 서울특별시·경기도·부산광역시·세종특별자치시·강원특별자치도 같은 정식명이다. ⚠️ '광주'는 광주광역시와 경기도 광주시 둘 다라 **한쪽으로 읽지 않고 거절한다**(error='sido_ambiguous') — 광역시면 '광주광역시', 경기도 광주시면 sido='경기도'·sigungu='광주시'로 갈라 넣어라.","title":"Sido"},"sigungu":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시군구 — 원장 표기 그대로 넣는다(예: '강남구', '평택시', '기장군'). 특례시·일반구는 '수원시 권선구'처럼 두 토막이다. 시도 이름을 여기 붙이지 마라('서울 강남구'는 안 맞는다) — 시도는 sido로 준다","title":"Sigungu"},"usage_name":{"default":"아파트","description":"물건 종류 — 원장 값 예: 아파트·오피스텔·다세대·연립주택·단독주택·다가구주택·근린시설·상가·대지·임야·전답. '빌라'는 표준 분류가 아니라 서버가 '다세대'로 매핑하고 그 사실을 응답에 공시한다. 비우면 전 종류","title":"Usage Name","type":"string"},"bid_count_max":{"anyOf":[{"maximum":100,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"유찰 횟수 **상한**(이하). 예: 2를 주면 유찰 0·1·2회 물건의 매각결과만 집계한다. 유찰이 쌓일수록 낙찰가율이 내려가므로 대상 물건의 유찰 횟수에 맞춰 좁혀라. 비우면 유찰 횟수 무관 전체(응답의 by_fail_count에 횟수별 분포가 그대로 온다) (허용 범위 0~100)","title":"Bid Count Max"},"area_band":{"anyOf":[{"enum":["59㎡이하","60~84㎡","85㎡초과"],"type":"string"},{"type":"null"}],"default":null,"description":"전용면적대로 좁힌다. 낙찰가율은 평형에 따라 갈린다 — 대상 물건의 평형을 알면 반드시 넣어라(응답의 by_area_band로도 확인된다)","title":"Area Band"}},"additionalProperties":false,"title":"realty_auction_sale_rateArguments"}},{"name":"realty_capital_gains_tax","description":"선언된 양도가·취득가·필요경비·보유기간에 **양도소득세 세율표를 결정론으로 적용**한다\n    — 기본·단기·분양권 세율, 장특공제 표1, 기본공제, 다주택 중과(선언), 지방소득세 10%.\n    두 번째 자산을 주면 **같은 해 합산 vs 연도분산 vs 차손통산**을 비교해 어느 쪽이 유리한지\n    산출한다. \"지금 팔면 양도세 얼마?\"·\"두 채를 올해 같이 팔까 나눠 팔까?\"의 자리다.\n\n    경계를 지켜라: ① 입력 전부 **선언**이다 — 보유기간 기산·주택 수·조정대상지역 해당은\n    사실판단이라 서버가 판정하지 않는다. ② **1세대1주택 비과세·12억 초과 고가주택 안분·\n    감면 특례는 계산하지 않는다**(not_curated) — 이 결과는 양도 전액이 과세된다는 전제다.\n    **그렇다고 사용자를 밖으로 내보내지 마라 — 계산기가 없을 뿐 갈림길 지도는 우리에게\n    있다**: `realty_policy_rules(topic='one_home_exemption_map')`이 5관문(세대·1주택·\n    보유2년·조정지역 거주2년·12억)과 5경로(일시적2주택·상속·합가·부득이한 사유·상생임대)를\n    확인 체크리스트와 함께 준다. 비과세 가능성이 보이면 **거기부터** 가고, 그 관문을 다 훑고도\n    사실판단이 남을 때 비로소 홈택스 모의계산·세무사를 안내하라. ③ 세율표·필요경비 분류·중과\n    경과조치의 원문·근거 조문은 realty_policy_rules(topic=capital_gains_tax)가 진실원이고,\n    조정대상지역 지정 현황은 topic=regulated_area다.\n    응답의 traps·pending_legislation·disclaimer를 함께 전하라.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"transfer_price_10k":{"description":"양도가액(만원, 예: 90000=9억). 예정이면 예상 매도가를 선언","exclusiveMinimum":0,"title":"Transfer Price 10K","type":"integer"},"acquisition_price_10k":{"description":"취득가액(만원). 증여받은 자산은 이월과세(10년)로 증여자 원취득가가 될 수 있다 — 응답 traps 확인","exclusiveMinimum":0,"title":"Acquisition Price 10K","type":"integer"},"holding_years":{"description":"보유기간(년, 소수 허용 — 예: 1.5). 취득일~양도일이며 상속·증여 기산 특례는 사실판단이라 호출자가 확정해 선언한다 (허용 범위 0~100)","maximum":100,"minimum":0,"title":"Holding Years","type":"number"},"transfer_year":{"description":"양도(예정) 연도. 2027 이후는 계류 중인 세제개편안이 결과를 뒤집을 수 있어 응답에 실토가 붙는다. 2025 이전 과거 양도는 당시 규칙(중과 유예 등)이라 다루지 않는다 (허용 범위 2026~2035)","maximum":2035,"minimum":2026,"title":"Transfer Year","type":"integer"},"necessary_expenses_10k":{"default":0,"description":"필요경비 합계(만원) — 취득·양도 부대비용과 자본적 지출만. 도배·싱크대 같은 수익적 지출은 불인정이다(경계·증빙 요건은 topic=capital_gains_tax 원문)","minimum":0,"title":"Necessary Expenses 10K","type":"integer"},"asset_type":{"default":"주택","description":"자산 종류 — 단기세율·장특공제가 갈린다. 분양권은 보유 2년이 넘어도 60%다","enum":["주택","조합원입주권","분양권","주택외부동산"],"title":"Asset Type","type":"string"},"multi_home_surcharge":{"default":"없음","description":"다주택 중과 **선언** — 양도 시점에 그 주택이 조정대상지역 안이고(현재 지정 현황은 topic=regulated_area) 세대 주택 수가 2/3+인 경우. 주택 수 판정(분양권·입주권 가산, 지방 저가주택 제외)은 사실판단이라 서버가 하지 않는다","enum":["없음","2주택_조정대상지역","3주택이상_조정대상지역"],"title":"Multi Home Surcharge","type":"string"},"share_pct":{"default":100,"description":"본인 지분율(%, 공동명의면 예: 50). 양도세는 인별 과세라 본인 지분만 계산하고 기본공제 250만원도 각자 받는다 — 배우자 몫은 배우자 지분으로 따로 호출하라. 두 자산 모두에 같은 지분을 적용한다 (허용 범위 0 초과~100)","exclusiveMinimum":0,"maximum":100,"title":"Share Pct","type":"number"},"asset2_transfer_price_10k":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"두 번째 자산의 양도가액(만원) — 주면 '올해 같이 팔기 vs 내년으로 나누기' 시나리오를 비교한다. asset2_acquisition_price_10k·asset2_holding_years와 함께 줘야 한다","title":"Asset2 Transfer Price 10K"},"asset2_acquisition_price_10k":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"두 번째 자산의 취득가액(만원)","title":"Asset2 Acquisition Price 10K"},"asset2_holding_years":{"anyOf":[{"maximum":100,"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"두 번째 자산의 보유기간(년) — **transfer_year 기준**이다. 연도분산 시나리오는 이 자산을 다음 해에 파는 가정이라 서버가 보유기간을 +1년으로 다시 계산한다(응답 scenarios.split_years.asset2_recomputed에 실토) (허용 범위 0~100)","title":"Asset2 Holding Years"},"asset2_expenses_10k":{"default":0,"description":"두 번째 자산의 필요경비(만원)","minimum":0,"title":"Asset2 Expenses 10K","type":"integer"},"asset2_asset_type":{"default":"주택","description":"두 번째 자산의 종류","enum":["주택","조합원입주권","분양권","주택외부동산"],"title":"Asset2 Asset Type","type":"string"},"asset2_multi_home_surcharge":{"default":"없음","description":"두 번째 자산의 중과 선언 — 첫 자산 매도 후 주택 수가 줄어 지위가 달라질 수 있다. 시나리오별 지위 변화도 선언 그대로 쓴다(서버는 판정하지 않는다)","enum":["없음","2주택_조정대상지역","3주택이상_조정대상지역"],"title":"Asset2 Multi Home Surcharge","type":"string"}},"required":["transfer_price_10k","acquisition_price_10k","holding_years","transfer_year"],"additionalProperties":false,"title":"realty_capital_gains_taxArguments"}},{"name":"realty_compare_auction_vs_market","description":"경매 물건의 최저입찰가를 같은 단지 실거래 시세와 대조해 할인율·표면수익률을 낸다.\n    기본은 **오늘 이후 기일 물건만**이다(지난 기일이 섞여 나오던 결함 수리, 2026-08-08).\n\n    주소·단지명 정규화 정확매칭으로 붙이며, 감정가가 기준선의 50~150% 범위인 건만 비교한다\n    (지분경매·특수물건을 배제하기 위함). 결과의 `signal`은 주의/관심/보통/낮음/판정보류다.\n    **시세 기준선은 같은 단지의 같은 면적대(±10%) 실거래 평균이다**(2026-08-16 수리 — 종전엔\n    단지 전 평형 혼합 평균이라 대형·소형이 섞인 단지에서 할인율이 통째로 어긋났다).\n    면적을 맞추지 못하면 `discount_vs_market_pct`는 **null**이고 signal은 '판정보류'다 —\n    그 자리를 `discount_vs_all_types_pct`(혼합평균 대비)로 대신 채워 말하지 마라.\n    ⚠️ 유찰 물건은 `auction.min_bid_source`를 확인하라 — item_list면 최저가가 낡았을 수\n    있고(`min_bid_note` 동봉) 그 최저가로 계산된 할인율·수익률도 함께 틀어진다.\n    이 도구는 다른 도구보다 느리다(출처 조회 포함 2~4초).\n\n    **이 축의 자리(경매 가격판단 3종 중)**: \"이 물건 싸?\"는 이게 1차다(시세 자동 조인).\n    입찰가 책정은 realty_auction_sale_rate(감정가 대비 실제 낙찰가율)와 함께 쓰되,\n    이 도구의 할인율(시세 대비)과 낙찰가율(감정가 대비)은 **분모가 달라 섞으면 안 된다**.\n    기준 시세를 손으로 잡을 땐 realty_area_price_bands(수준)/region_price_stats(추이).\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sido":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시도 — '서울'처럼 줄여 써도 되고 '서울특별시'도 된다(서버가 정식명으로 편다). 원장 표기는 서울특별시·경기도·부산광역시·세종특별자치시·강원특별자치도 같은 정식명이다. ⚠️ '광주'는 광주광역시와 경기도 광주시 둘 다라 **한쪽으로 읽지 않고 거절한다**(error='sido_ambiguous') — 광역시면 '광주광역시', 경기도 광주시면 sido='경기도'·sigungu='광주시'로 갈라 넣어라.","title":"Sido"},"sigungu":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시군구 — 원장 표기 그대로 넣는다(예: '강남구', '평택시', '기장군'). 특례시·일반구는 '수원시 권선구'처럼 두 토막이다. 시도 이름을 여기 붙이지 마라('서울 강남구'는 안 맞는다) — 시도는 sido로 준다","title":"Sigungu"},"usage_name":{"default":"아파트","description":"물건 종류 — 이 도구는 같은 단지 실거래와 붙이므로 '아파트'가 기본이다. 오피스텔·다세대·연립주택도 되지만 단지 매칭률이 떨어진다. 원장 값 예: 아파트·오피스텔·다세대·연립주택·단독주택·근린시설·상가","title":"Usage Name","type":"string"},"case_no":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"특정 사건 하나만 비교할 때 — `2026타경3571` 꼴(연도 4자리 + '타경' + 일련번호). 주면 지역 조건 대신 이 사건만 보고, 기일 제한도 걸지 않는다. 사건번호는 법원 간 중복되니 court_name을 반드시 함께 주라","title":"Case No"},"court_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"법원명 — case_no와 함께 쓴다. 사건번호는 법원 간 유일하지 않아(평균 2.8배 중복) 이걸 빼면 다른 법원 물건이 섞이고 최저가 출처도 확정되지 않는다","title":"Court Name"},"include_past":{"default":false,"description":"지난 기일 물건 포함 여부 — 기본은 오늘 이후 기일만(입찰 가능 후보). case_no 특정 조회는 이 값과 무관하게 기일 제한이 없다","title":"Include Past","type":"boolean"},"limit":{"default":10,"description":"비교할 물건 수 (최대 50) (허용 범위 1~50)","maximum":50,"minimum":1,"title":"Limit","type":"integer"}},"additionalProperties":false,"title":"realty_compare_auction_vs_marketArguments"}},{"name":"realty_compare_regions","description":"[유료] 여러 지역의 매매·전세 시세와 추이를 나란히 비교한다. 갈아타기·투자처 비교용.\n\n    \"어디가 제일 ○○해?\"류 순위·탐색 질문은 무료 realty_region_rankings로 먼저 좁혀라 —\n    이 도구는 비교 대상이 정해졌을 때 쓴다.\n\n    ⚠️ 지역별 `warning_baseline`·`warning_dispersion`을 avg_price보다 먼저 읽어라 —\n    이 소스는 이상치 미필터·단지급 혼합이라 avg_price를 그대로 \"그 지역 시세\"로 인용하면\n    특정 단지와의 비교 결론이 뒤집힌다(realty_region_price_stats와 같은 공시다).\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"regions":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}],"description":"비교할 시군구 2개 이상 — 배열(['강남구','서초구']) 또는 쉼표 문자열('강남구,서초구')","title":"Regions"},"months":{"default":12,"description":"추이 개월 수 (허용 범위 1~60)","maximum":60,"minimum":1,"title":"Months","type":"integer"}},"required":["regions"],"additionalProperties":false,"title":"realty_compare_regionsArguments"}},{"name":"realty_complex_pyeong_price","description":"특정 단지·특정 평형의 **최근 6개월 매매 실거래**를 건별(계약일·층·가격)로 조회한다.\n    평형별 시세 요약만 필요하면 realty_search_complexes의 prices_by_area로 충분하다.\n\n    응답에는 **층 밴드별 시세 집계 `price_by_floor_band`**(저층~초고층 밴드별 평균가·건수·\n    최저 밴드 대비 프리미엄 %)가 함께 온다 — \"저층 사면 손해야?\", \"고층 프리미엄 얼마야?\"류\n    **층별 시세 질문은 이 도구가 담당**이다(층 밴드 축은 다른 도구에 없다).\n\n    transactions는 **계약일 내림차순**이고, average_price·median_price는 그 정렬 기준\n    최근 5건(summary_basis에 그 5건을 그대로 싣는다)이다. 이상 거래는 지우지 않고\n    `outlier=true`로 표시만 하며(판정 근거는 outliers.method), 층 밴드에는 이상치 제외 값을\n    `*_ex_outliers`로 병기한다 — **밴드 프리미엄이 몇 건의 산물인지 확인하고 말하라.**\n\n    **이름이 더 긴 이웃 단지는 분리해서 뺀다**(0.58.0) — 백엔드가 단지를 이름 부분일치로\n    찾아 '○○센트레빌' 조회에 '○○센트레빌Ⅱ'가 섞여 들던 자리다. 무엇을 뺐는지·못 가른\n    면적이 무엇인지는 `meta.complex_isolation`에 그대로 실린다. **못 가른 것은 빼지 않고\n    못 갈랐다고 적는다** — 그 평형 수치는 단정하지 말고 그 사실을 함께 전하라.\n\n    **면적은 사용자가 말한 단위 그대로 넣어라 — 환산은 서버가 한다**(2026-08-22 제보:\n    \"잠실엘스 34평형=전용 84㎡\" 질문에서 84가 pyeong_exclusive로 갔다):\n    - ㎡로 말했으면 → area_m2_exclusive(전용 84㎡ → 84) / area_m2_supply(공급 112.8㎡ → 112.8)\n    - 평으로 말했으면 → pyeong_supply(분양 \"34평\") / pyeong_exclusive(전용 실평수 25.4평)\n    네 개 중 **하나는 필수**다. ㎡ 값을 평 인자에 넣으면 조용히 환산하지 않고 사유와 두\n    방향 출구를 값으로 적어 거절한다 — 조용한 환산은 사용자의 말을 바꿔치기하는 것이다.\n    이 도구는 매매 전용이다 — 전월세는 realty_complex_rent_by_pyeong을 쓴다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"complex_name":{"description":"단지명 (예: 마포래미안푸르지오2단지)","title":"Complex Name","type":"string"},"pyeong_supply":{"anyOf":[{"exclusiveMinimum":0,"maximum":400,"type":"number"},{"type":"null"}],"default":null,"description":"분양평수(공급면적, **평**) — 사용자가 말하는 '34평'이 보통 이것이다. **㎡로 말했으면 여기가 아니라 area_m2_supply를 쓰라** (허용 범위 0 초과~400)","title":"Pyeong Supply"},"pyeong_exclusive":{"anyOf":[{"exclusiveMinimum":0,"maximum":400,"type":"number"},{"type":"null"}],"default":null,"description":"전용면적 기준 **실평수(평)** — ㎡가 아니다. 전용 84㎡면 25.4를 넣는다. **사용자가 ㎡로 말했으면 area_m2_exclusive를 쓰라** — ㎡ 값을 여기 넣으면 서버가 조용히 환산하지 않고 사유를 대고 거절한다(1평=3.3058㎡) (허용 범위 0 초과~400)","title":"Pyeong Exclusive"},"area_m2_exclusive":{"anyOf":[{"exclusiveMinimum":0,"maximum":500,"type":"number"},{"type":"null"}],"default":null,"description":"전용면적을 **㎡ 그대로** 받는다(예: 84, 59, 114.98). 사용자가 '전용 84㎡'라고 말했으면 환산하지 말고 84를 여기 넣어라 — 서버가 평으로 환산하고 그 사실을 응답에 적는다. pyeong_exclusive와 동시에 주면 거절한다 (허용 범위 0 초과~500)","title":"Area M2 Exclusive"},"area_m2_supply":{"anyOf":[{"exclusiveMinimum":0,"maximum":800,"type":"number"},{"type":"null"}],"default":null,"description":"공급(분양)면적을 **㎡ 그대로** 받는다(예: 112.8). pyeong_supply와 동시에 주면 거절한다 (허용 범위 0 초과~800)","title":"Area M2 Supply"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"동명 단지 구분용 시군구명 (예: 마포구)","title":"Region"},"quoted_price_10k":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"사용자가 **들은 가격**(호가·중개사 제시가·매물 가격, 만원). 주면 실거래 분포와 대조해 `quote_check`로 돌려준다. 이 서버는 **호가 데이터가 없다** — 실거래(MOLIT)뿐이라 '호가가 비싸다/싸다'를 판정하는 게 아니라 **실거래 어디쯤인지 위치만** 알려준다. 사용자가 가격을 말했는데 이 인자를 안 주면 모델이 그 값을 검증 없이 전제로 삼게 된다","title":"Quoted Price 10K"},"quoted_prices_10k":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"default":null,"description":"사용자가 **매물 목록에서 복사·다운로드해 온 호가 여러 개**(만원 배열). 값이 2개 이상이면 단일 대조 대신 **호가 분포 ↔ 실거래 분포**를 비교한다(중위 대 중위, 두 구간이 겹치는지). 호가는 사용자가 가져온 것이라 서버는 **출처·수집시점·중복 매물 여부를 모른다** — 그 한계도 함께 응답에 싣는다","title":"Quoted Prices 10K"},"limit":{"default":10,"description":"개별 거래 내역 수 (허용 범위 1~50)","maximum":50,"minimum":1,"title":"Limit","type":"integer"}},"required":["complex_name"],"additionalProperties":false,"title":"realty_complex_pyeong_priceArguments"}},{"name":"realty_complex_rent_by_pyeong","description":"단지의 평형별 전세 보증금·월세 중앙값을 조회한다. 전세가율(전세÷매매) 계산의 전세 축이다.\n\n    complex_key·complex_name 중 하나는 필수. 부분일치는 동명 단지가 섞일 수 있으니\n    가능하면 realty_search_complexes로 complex_key를 먼저 특정하라.\n    행 키 supply_pyeong은 **분양평**(전용㎡ ÷ 3.305 ÷ 0.745 반올림) 기준이다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"complex_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"정확한 단지 키 — realty_search_complexes가 돌려주는 complex_key","title":"Complex Key"},"complex_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"키를 모를 때 단지명 부분일치","title":"Complex Name"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"동명 단지를 가르는 지역 — 시군구나 **동**까지(예: '강동구', '방화동'). complex_ambiguous가 돌아오면 이 인자로 좁혀 다시 부르라","title":"Region"},"compare_sale":{"default":true,"description":"같은 12개월 창의 **매매가를 함께 뽑아 전세가율·전월세 전환율·갭을 계산**한다(기본 켬). 종전엔 note가 '매매를 period_months=12로 따로 불러 나눠라'라고만 지시해 호출자가 손으로 했고, 창을 안 맞추면 전세가율이 수 %p 왜곡됐다 — 그 계산을 서버가 진다","title":"Compare Sale","type":"boolean"}},"additionalProperties":false,"title":"realty_complex_rent_by_pyeongArguments"}},{"name":"realty_complex_report","description":"[유료] 단지 하나의 시세·전세·기본정보를 통합 조회한다.\n\n    응답에 좌표(latitude/longitude)와 complex_key가 들어 있다 — 이어서\n    realty_poi_nearby(입지)·realty_predict_price(예측)에 그대로 넣어 심층 분석하라.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"단지명 (예: 반포자이)","title":"Name"},"complex_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"정확한 단지 키","title":"Complex Key"}},"additionalProperties":false,"title":"realty_complex_reportArguments"}},{"name":"realty_demographics","description":"지역 인구·가구·고령화·순유입 통계를 조회한다.\n\n    지역 인구통계를 조회한다 — \"인구 줄고 있어?\", \"1인 가구 비율은?\", \"고령화 심해?\",\n    \"순유입 되는 동네야?\"류 질문용.\n\n    응답 meta.data_as_of가 실제 최신 시점이다 — warning이 있으면 그대로 사용자에게 전달하고,\n    밀린 수치를 \"지금 인구\"로 단정하지 말 것. 연간 계열(households·age)은 기준연도를 밝혀라.\n    households만 동명 시군구(중구·서구 등)를 거절한다(원천 단명 수집 결함) — 그 경우\n    population·migration(정식 명칭 수집)으로 대신 조회하라.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"metric":{"description":"population=월별 인구·세대수 / households=연별 가구원수별 가구(1인가구 등) / age=연령대(5세 구간) 분포·고령화 — 시도 단위만 / migration=월별 전입·전출·순이동","enum":["population","households","age","migration"],"title":"Metric","type":"string"},"region":{"description":"시도(예: 서울)나 시군구(예: 강남구, 수원시). age는 시도 단위만 제공. age에 한해 '전국'도 가능","title":"Region","type":"string"},"months":{"default":12,"description":"population·migration 시계열 창(개월) — 최대 60(5년)이고 더 긴 창은 이 도구로 못 받는다. 연간 계열엔 미적용 (허용 범위 1~60)","maximum":60,"minimum":1,"title":"Months","type":"integer"}},"required":["metric","region"],"additionalProperties":false,"title":"realty_demographicsArguments"}},{"name":"realty_get_auction_case","description":"사건번호로 경매 물건의 상세를 조회한다.\n\n    사건번호는 법원 간 유일하지 않다(전국 평균 2.8개 법원에서 중복). court_name을 생략하면\n    중복 시 오류와 함께 후보 법원 목록이 돌아오니, 그걸 보고 법원을 지정해 다시 호출하라.\n\n    `rights` = 매각물건명세서 핵심(최선순위 설정·인수되는 권리 원문·위험 플래그·배당요구종기).\n    이것은 법원 공시의 전달이지 권리분석 판단이 아니다 — 답할 때 rights.disclaimer를 함께\n    전하고, 등기부·임차인 현황 전체가 아님을 밝혀라. rights가 null이면 명세서 미수집\n    상태(rights_note에 사유)이므로 권리관계를 절대 지어내지 말 것.\n    ⚠️ `rights.claim_amt_10k`는 **경매신청 채권자의 청구금액**(만원)이다 — 임차인\n    보증금이 아니다(claim_amt_note 참조). 보증금 액수는 이 데이터에 없다.\n    `min_bid_source`가 item_list면 최저가가 낡았을 수 있다 — 함께 오는 `min_bid_note`를\n    사용자에게 전하고 단정하지 마라(목록 도구와 같은 경고다).\n    유찰 이력·기일별 저감·사진은 realty_auction_history가 담당이다.\n\n    **이 축의 자리** — 사건번호·법원명을 **따로 받아 구조화 필드**로 돌려주는 상세가 이\n    도구다. `search` 결과의 id(`\"법원명|사건번호\"`)를 그대로 들고 있다면 `fetch`가 그 덩어리를\n    쪼개지 않고 받아 문서형 텍스트로 준다 — 둘은 대체재가 아니라 입력·응답 형태가 다른\n    짝이다. 조건으로 여러 건을 훑는 것은 `realty_search_auctions`다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"case_no":{"description":"사건번호 — `2026타경3571` 꼴이다(연도 4자리 + '타경' + 일련번호 3~6자리). 원장 전수가 '타경' 접두이고 '2024타경101026'처럼 6자리도 있다. '2026-3571'처럼 하이픈으로 써도 서버가 '타경'으로 펴고 무엇을 폈는지 응답에 적는다. 다만 '3571'처럼 **연도가 없으면 못 편다**(연도를 지어내면 다른 사건이 된다) — 사용자에게 연도를 물어라","title":"Case No","type":"string"},"court_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"법원명 — '서울동부지방법원'·'인천지방법원'처럼 정식명으로 넣는다('진주지원'처럼 지원명만인 행도 있다). '의정부지법'처럼 줄여 넣어도 서버가 정식명으로 편다. 사건번호는 법원 간 유일하지 않아(전국 평균 2.8개 법원에서 중복) 생략하면 후보 목록이 돌아온다. **여기 넣은 법원에 그 사건이 없으면 서버가 법원 없이 한 번 더 찾아보고**, 그래도 없으면 원인 셋(표기·법원·수록범위)을 갈라 돌려준다","title":"Court Name"}},"required":["case_no"],"additionalProperties":false,"title":"realty_get_auction_caseArguments"}},{"name":"realty_invest_risk","description":"[유료] 지역의 투자 위험도를 변동성·유동성·공급압력 축으로 점수화한다.\n\n    응답의 disclaimer(통계 요약이며 투자 권유 아님)를 사용자에게 반드시 함께 전달하라.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"region":{"description":"시군구명 (예: 강남구)","title":"Region","type":"string"}},"required":["region"],"additionalProperties":false,"title":"realty_invest_riskArguments"}},{"name":"realty_loan_eligibility","description":"내 조건에서 쓸 수 있는 대출 상품을 상품별로 나란히 판정한다.\n\n    **\"내 조건이면 어떤 대출을 쓸 수 있나\"**를 상품별로 나란히 낸다 — 사용자가 어느 규칙 토픽을\n    물어야 할지 몰라도 되게 하는 라우터다.\n\n    이 도구가 존재하는 이유: 대출 규칙이 상품별 토픽 7곳에 흩어져 있어서, 지금까지는 **호출자가\n    어느 토픽을 물어야 할지 알아야** 했다(2026-08-14). 용도·지역·주택수만 주면 **쓸 수 있는 상품과\n    못 쓰는 이유**를 함께 낸다.\n\n    경계: ① **주택 수·생애최초·신혼은 선언**이다(서버가 사실판정하지 않는다) ② **한도 금액을\n    계산하는 건 구입 목적의 은행권뿐**이고 그건 realty_loan_limit이 한다 — 이 도구는 **자격 대조와\n    라우팅**이다 ③ 전세·중도금은 보증기관·사업장이 지배해 **한도를 계산하지 않는다**, 전세반환은\n    **경과조치 해당 여부가 서류로 보는 사실판단**이라 계산하지 않는다 ④ 규칙의\n    근거·불확실성은 각 상품 토픽(응답의 `topic`)에 있으니 함께 읽어라.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"purpose":{"description":"자금 용도 — **같은 담보라도 용도가 규제를 가른다**(구입=LTV·가액구간 한도, 생활안정=1억 한도·다주택 금지, **전세반환=세입자에게 보증금 돌려주는 목적(퇴거자금) — 원칙 1억이지만 6·27 이전 계약분 경과조치가 붙는 유일한 축**, 전세=세입자로 들어갈 때 쓰는 전세자금대출, 중도금=집단대출). ⚠️ **'전세'와 '전세반환'을 섞지 마라** — 방향이 반대다. 모르면 물어라","enum":["구입","전세","생활안정","전세반환","중도금"],"title":"Purpose","type":"string"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"소재지(시군구까지, 예: '서울 마포구'·'세종특별자치시') — 수도권·규제지역 판정에 쓴다","title":"Region"},"homes_owned":{"anyOf":[{"maximum":9,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"**세대 기준** 보유 주택 수(선언) — 0=무주택, 1, 2+=다주택. 명의가 갈려도 세대로 센다. 서버는 주택 수를 판정하지 않는다 (허용 범위 0~9)","title":"Homes Owned"},"annual_income_10k":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"부부합산 연소득(만원) — 정책상품 소득요건 대조에 쓴다","title":"Annual Income 10K"},"house_price_10k":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"대상 주택 가격(만원) — 정책상품 가격요건 대조에 쓴다","title":"House Price 10K"},"is_first_time":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"생애최초 해당 여부(**선언** — 서버는 판정하지 않는다)","title":"Is First Time"},"is_newlywed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"신혼 해당 여부(선언)","title":"Is Newlywed"},"total_assets_10k":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"총자산(만원) — **버팀목 전세는 자산 요건이 핵심 관문**이라 전세 문의면 받아라","title":"Total Assets 10K"}},"required":["purpose"],"additionalProperties":false,"title":"realty_loan_eligibilityArguments"}},{"name":"realty_loan_limit","description":"선언한 조건으로 주택담보대출 규제 상한을 결정론으로 계산한다.\n\n    선언된 조건(지역·시가·차주 유형·소득)에 대해 **주담대 규제 상한**을 결정론으로\n    계산한다 — LTV 상한액, 수도권·규제지역 가액구간 한도(6/4/2억), 만기 상한(30년),\n    스트레스 DSR 반영 최대 대출액과 **어느 규제가 최종 상한인지**(binding). \"10억 집,\n    생애최초, 연소득 8천이면 얼마까지 나와?\"류 질문의 자리다.\n\n    경계를 지켜라: ① 차주 유형은 **선언**이다 — 생애최초·주택 수 해당 여부는 사실판단이라\n    서버가 판정하지 않는다(응답 inputs_declared가 그 선언을 에코한다). ② 결과는 규제\n    상한이지 **대출 승인·확약이 아니다** — 은행 심사(소득 인정·방공제·신용도)로 더 줄 수\n    있다. ③ **DSR 상한은 금리유형(rate_type)에 따라 크게 갈린다** — 기본값 '변동'은\n    스트레스 금리 전액 가산이라 가장 작은 값이다. 사용자가 상품을 안 정한 상태면\n    `dsr.by_rate_type` 비교표를 함께 전하고 \"N억까지만 된다\"고 단정하지 마라. ③ 규칙 원표·근거는 realty_policy_rules(topic=loan_rules), 규제지역 지정 현황은\n    topic=regulated_area, 생애최초 취득세 감면의 세율표 본체는 topic=acquisition_tax.\n    특정 분양 공고에 대한 시점별(계약금·중도금·잔금) 자금 판정은\n    realty_presale_funding_plan. 응답의 uncertainties·disclaimer를 사용자에게 함께 전하라.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"house_price_10k":{"description":"주택 시가(만원 단위, 예: 100000=10억). 가액구간 한도가 '시가' 기준이라 분양가·공시가가 아닌 시세를 넣는다","exclusiveMinimum":0,"title":"House Price 10K","type":"integer"},"borrower":{"description":"차주 유형 — **사용자 선언**이다(서버는 생애최초·주택 수를 판정하지 않는다). 생애최초=본인·배우자 모두 주택 소유 이력 없음, 1주택_처분조건부=6개월 내 기존주택 처분 약정, 서민실수요=우대 요건 충족을 선언한 경우","enum":["무주택","생애최초","서민실수요","1주택_처분조건부","1주택_보유","다주택"],"title":"Borrower","type":"string"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"주택 소재지(시군구까지, 예: '서울 마포구'·'성남시 분당구'·'부산 해운대구'). 규제지역·수도권 판정에 쓴다. 해석이 모호하면 후보를 돌려주니 is_regulated·is_metro로 직접 선언해도 된다","title":"Region"},"is_regulated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"규제지역(투기과열·조정대상) 여부 직접 선언 — region 대신/우선 적용","title":"Is Regulated"},"is_metro":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"수도권(서울·경기·인천) 여부 직접 선언 — region 대신/우선 적용","title":"Is Metro"},"annual_income_10k":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"연소득(만원) — interest_rate_pct와 함께 주면 DSR 상한 대출액까지 계산","title":"Annual Income 10K"},"existing_annual_debt_payment_10k":{"default":0,"description":"기존 대출의 연간 원리금 상환액 합계(만원) — DSR 계산에서 차감","minimum":0,"title":"Existing Annual Debt Payment 10K","type":"integer"},"loan_term_years":{"default":30,"description":"희망 만기(년). 수도권·규제지역은 30년 상한으로 조정되며 조정 사실을 응답에 싣는다 (허용 범위 1~50)","maximum":50,"minimum":1,"title":"Loan Term Years","type":"integer"},"interest_rate_pct":{"anyOf":[{"exclusiveMinimum":0,"maximum":20,"type":"number"},{"type":"null"}],"default":null,"description":"약정금리 가정(%, 예: 4.2) — DSR 계산에 필요. 없으면 DSR 금액 계산은 생략된다 (허용 범위 0 초과~20)","title":"Interest Rate Pct"},"lender":{"default":"은행","description":"업권 — DSR 한도가 은행 40% / 제2금융권 50%로 갈린다","enum":["은행","제2금융권"],"title":"Lender","type":"string"},"rate_type":{"default":"변동","description":"주담대 금리유형 — **스트레스 금리 적용비율이 갈리는 축이다**(변동 100%, 혼합형·주기형은 고정기간 비중별 차등, 순수고정 미적용). 기본값 '변동'은 최악 가정이라 한도가 가장 작게 나온다. 사용자가 상품을 안 정했으면 응답의 by_rate_type 비교표를 함께 전하라. 혼합형=고정기간 후 변동, 주기형=N년 주기로 금리 재산정, 순수고정=만기까지 고정","enum":["변동","혼합형","주기형","순수고정"],"title":"Rate Type","type":"string"},"rate_fixed_years":{"anyOf":[{"maximum":50,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"혼합형의 고정금리 기간 또는 주기형의 금리변동주기(년). 미지정이면 시중은행 통상인 5년으로 가정하고 가정 사실을 응답에 싣는다. 변동·순수고정에는 무의미 (허용 범위 0~50)","title":"Rate Fixed Years"},"credit_loan_10k":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"신용대출 잔액 또는 받을 예정액(만원). **직접 연 원리금을 계산해 넣지 마라** — 산정만기 5년 강제·산식 두 갈래·스트레스 1억 문턱이 전부 함정이라 서버가 계산한다. existing_annual_debt_payment_10k와 함께 주면 둘 다 합산한다","title":"Credit Loan 10K"},"credit_loan_rate_pct":{"anyOf":[{"exclusiveMinimum":0,"maximum":20,"type":"number"},{"type":"null"}],"default":null,"description":"신용대출 약정금리(%) — credit_loan_10k를 줬으면 필수다(이자 없이는 원리금을 못 낸다) (허용 범위 0 초과~20)","title":"Credit Loan Rate Pct"},"desired_loan_10k":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"받으려는 주담대 금액(만원). 주면 '이만큼 되나'를 판정하고, DSR에 막히면 **무엇을 얼마나 바꾸면 들어가는지**(금리유형·만기·신용대출 축소·금리)를 함께 낸다. '4억 받으려는데 되나요'류 질문의 자리 — 최대치만 받아 모델이 역산하게 두지 마라","title":"Desired Loan 10K"}},"required":["house_price_10k","borrower"],"additionalProperties":false,"title":"realty_loan_limitArguments"}},{"name":"realty_location_scores","description":"단지의 학군(v5)·교통(지하철·버스) 점수를 조회한다 — \"이 아파트 학군 어때? 역세권이야?\"\n    담당. complex_key/complex_name이면 단지 점수, region만 주면 지역 집계+축별 상위 5 단지.\n\n    학군 점수는 학원가 강도+군집 보정의 **스크리닝 지표**다 — 학원가 데이터가 시 단위라\n    도심 외곽 면/읍이 다소 높게 나올 수 있고, 학교 배정·수준 판단이 아니다(그렇게 팔지 말 것).\n    subway_distance_m는 최근접역 직선거리(도보 거리 아님). 점수 미산정 단지는 not_found가\n    정직한 답이다 — 지어내지 말고 realty_search_complexes로 단지 실존부터 확인하라.\n    돌려주는 complex_key는 공백 1칸으로 정규화돼 있어 다른 도구에 그대로 넣을 수 있다.\n    \"역세권이야?\"는 [유료] realty_poi_nearby와 겹친다 — 점수·스크리닝은 이쪽(무료),\n    주변 시설의 실제 목록·거리가 필요하면 poi_nearby.\n    **realty_region_rankings(metric=school|transit)의 점수와 섞지 마라** — 이름은 같지만\n    원장·산식이 다른 판본이라(응답 score_lineage) 같은 단지에서도 값이 갈린다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"complex_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"정확한 단지 키 — realty_search_complexes가 돌려주는 complex_key","title":"Complex Key"},"complex_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"단지명 일부 (부분일치)","title":"Complex Name"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"지역명 — 단독이면 지역 집계+상위 단지, complex_name과 함께면 검색 범위","title":"Region"}},"additionalProperties":false,"title":"realty_location_scoresArguments"}},{"name":"realty_macro_indicators","description":"한국 기준금리·KOSPI·M2, 미 연준금리·S&P500 등 거시 지표의 월별 시계열을 조회한다.\n    \"금리가 집값에 어떤 영향?\"류 배경 분석용.\n\n    ⚠️ 계열마다 신선도가 다르다 — meta.series_as_of가 계열별 실제 최신 시점이다(예: 미\n    연준금리·S&P·코인은 최신인데 한국 기준금리·KOSPI는 2024-12 정지, ECOS 재수집 대기).\n    밀린 계열을 \"지금 금리\"로 인용하지 말고 반드시 그 계열의 시점을 함께 밝혀라.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"months":{"default":24,"description":"최근 몇 개월치 (허용 범위 1~240)","maximum":240,"minimum":1,"title":"Months","type":"integer"},"indicators":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"쉼표 구분 지표명: bok_base_rate(한국 기준금리 %), kospi(월말 종가), korea_m2(M2 평잔·원계열, 조원), fed_rate(미 연준금리 월평균 %), us_m2(미 M2 계절조정 $B), sp500, btc_usd, eth_usd(월말 종가). 비우면 전체. 목록에 없는 이름은 거절한다(조용히 버리지 않는다)","title":"Indicators"}},"additionalProperties":false,"title":"realty_macro_indicatorsArguments"}},{"name":"realty_market_signals","description":"[유료] 미분양 추이와 시장심리지수를 한 번에 조회한다. 매수 타이밍 판단의 거시 신호.\n\n    기본 창은 **6개월**이다(방향 판단에 필요한 최소). 더 긴 추이가 필요하면 months를\n    올리되, 전국 조회에서 창을 넓히면 오래된 달부터 예산에 맞춰 떨어지고 그 사실이\n    meta.truncated·meta.truncated_note에 값으로 실린다 — region을 지정하면 전 창이 온다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"지역명 (예: 서울). 비우면 전국","title":"Region"},"months":{"default":6,"description":"시계열 개월 수 (기본 6). 전국(region 미지정)에서 창을 넓히면 시도 18곳×월 행이 곱으로 늘어 응답이 도구 결과 한계에 걸린다 — 긴 창이 필요하면 region으로 지역을 좁혀라 (허용 범위 1~36)","maximum":36,"minimum":1,"title":"Months","type":"integer"}},"additionalProperties":false,"title":"realty_market_signalsArguments"}},{"name":"realty_member_transfer_check","description":"투기과열지구 정비사업 물건을 지금 사면 조합원 지위를 승계받는지 판정한다.\n\n    투기과열지구에서 재건축·재개발 물건을 **지금 사면 조합원 지위를 승계받을 수 있는지**를\n    도시정비법 39조 2항으로 결정론 판정한다 — 투기과열지구 여부(regulated_area) × 사업 유형 ×\n    진행 단계(서울은 정보몽땅 목록에서 자동 결합). \"한남3구역 지금 사도 입주권 나와?\"의 자리다.\n\n    경계를 지켜라: ① 판정은 **원칙 제한 여부**까지다 — 예외(양도인의 근무·질병·상속·해외이주,\n    10년 소유+5년 거주 등)는 양도인 사정의 사실판단이라 갈림길로만 주고, **사업지연 예외\n    3종은 인가일·착공일 데이터가 없어 판정 불가를 실토한다**. ② 재개발엔 부칙 함정(2018-01-25\n    이전 사업시행인가 신청 구역은 제한 밖)이 있어 선언 없이는 단정하지 않는다. ③ 제한이 없어도\n    **토지거래허가구역은 별개 제도**다(서울 전역 지정 중 — 실거주 의무 등). ④ 조문 원문·예외\n    전체 목록은 realty_policy_rules(topic=redevelopment_rules), 투기과열 지정 현황은\n    topic=regulated_area, 분양자격 자체가 불확실하면 topic=redevelopment_entitlement,\n    사업장 목록·단계 열람은 realty_redevelopment. 응답의 exceptions·disclosures를 함께 전하라.\n    ","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"project_type":{"description":"사업 유형 — 제한 개시 시점이 갈린다(재건축=조합설립인가 후, 재개발=관리처분인가 후). 가로주택·소규모재건축 등 소규모정비사업은 별도 법제라 이 도구가 판정하지 않는다","enum":["재건축","재개발"],"title":"Project Type","type":"string"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"사업장 소재지(시군구까지, 예: '서울 용산구'·'성남시 수정구') — 투기과열지구 판정과 (서울이면) 단계 자동 조회에 쓴다. 모호하면 후보를 돌려주니 is_speculation_zone을 직접 선언해도 된다","title":"Region"},"is_speculation_zone":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"투기과열지구 여부 직접 선언 — region 대신/우선 적용","title":"Is Speculation Zone"},"project_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"사업장·구역 이름(예: '한남3구역') — 서울이면 정비사업 목록에서 진행 단계를 자동으로 잇는다(유일 매치만). 서울 밖은 목록이 없어 project_stage 선언이 필요하다","title":"Project Name"},"project_stage":{"anyOf":[{"enum":["관리처분인가","구역해제","도시계획심의","분양","사업계획승인","사업시행인가","안전진단","안전진단(1차)","이전고시","정비계획 수립","정비구역지정","조합규약작성","조합설립인가","조합원 모집신고","조합창립총회","조합청산","조합해산","준공인가","지구단위계획수립/건축심의/교통심의","착공","철거","철거 및 착공","청산 및 조합해산","추진위구성","추진위원회승인"],"type":"string"},{"type":"null"}],"default":null,"description":"진행 단계 직접 선언 — project_name 조회 대신/우선 적용. 허용값은 서울 정비사업 목록(정보몽땅)의 실측 어휘 전량이라, **자동 조회가 돌려준 stage를 그대로 다시 넣으면 같은 판정이 재현된다**(예: '철거'·'철거 및 착공'·'추진위구성')","title":"Project Stage"},"first_approval_application_after_20180125":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"**재개발 부칙 선언** — 이 구역의 최초 사업시행계획인가 신청이 2018-01-25(법률 제14943호 시행일) 이후인가. 이전이면 관리처분인가 후에도 지위양도가 가능하다(서울 22개 구역 실재). 모르면 비워두라 — 서버가 미확인으로 실토한다","title":"First Approval Application After 20180125"}},"required":["project_type"],"additionalProperties":false,"title":"realty_member_transfer_checkArguments"}},{"name":"realty_move_in_supply","description":"지역의 입주 예정 물량을 연월별로 집계한다.\n\n    지역의 입주 예정 물량을 연월별로 집계한다 — \"○○ 입주장 리스크 있어?\", \"내년에\n    입주 물량 얼마나 쏟아져?\"류 질문용. 입주 몰림은 전세가 하락·역전세 압력 신호다.\n\n    **기본 창은 오늘부터 앞이다** — from_ym을 안 주면 이번 달에서 시작하므로 months=12는\n    \"앞으로 12개월\"이지 \"최근 12개월\"이 아니다. **과거를 물었으면 from_ym을 과거로 줘라**\n    (최근 12개월 = from_ym='YYYYMM'(12개월 전) + months=12). 응답 meta.window_direction이\n    그 회차의 창이 과거인지 미래인지를 라벨로 실토하니 결론에 기간을 그대로 밝혀라.\n\n    **하한 집계다** — 청약홈 공고(2020-02 이후) 기반이라 공고 없는 공급(민간임대·후분양\n    일부)이 빠지고, 무엇보다 **공고는 입주 평균 30개월 전에 난다**(전국 실측). 그래서\n    조회 구간이 오늘+30개월을 넘어가면 그 구간 입주분은 아직 공고조차 안 된 것이 대부분이다.\n    실사고: 세종 2028~2030 조회에 676세대가 나오자 \"입주장 리스크 없음\"으로 답했으나\n    실제 계획은 그 6배였다.\n\n    응답의 **`reading` 문장을 결론에 그대로 반영하라** — `interpretation`이 `lower_bound`면\n    \"물량 없음/적음\"이라 말하지 말고 \"공고된 것만 N세대(하한)\"라고 답해야 한다.\n    `coverage.region_recent_annual_rate`(그 지역 최근 공고 실적)와 비교해 값이 크게 낮으면\n    공급이 끊긴 게 아니라 공고 시차다. **그때는 realty_supply_pipeline을 이어서 불러라** —\n    사업승인은 났지만 아직 공고 안 난 물량이 거기 있다(세종 실측: 이 도구 676세대 →\n    파이프라인 3,483세대). 단 **두 축의 세대수를 더하지 마라**(이중계상) — 공고가 난\n    단지는 승인 목록에도 남아 양쪽에 다 잡힌다. 파이프라인 쪽 값이 상위 집합에 가깝다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"**시도만** (예: 서울, 경기, 세종, 부산). ⚠️ 시군구('강남구')는 여기가 아니라 sigungu에 넣어라 — 넣어도 오류가 나지 않고 0건이 온다(realty_supply_pipeline의 region은 시군구·동도 받는다. 두 도구의 계약이 다르다)","title":"Region"},"sigungu":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시군구 정확한 이름 (예: 수원시, 강남구)","title":"Sigungu"},"from_ym":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"조회 창의 **시작** 월, YYYYMM 6자리(예: 202508). 생략하면 **이번 달**이라 창이 전부 미래가 된다 — 이 도구의 기본 방향은 '입주 **예정**'이라서다. **'최근 N개월'·'지난해'처럼 지나간 물량을 물었으면 여기를 과거로 줘라**: 최근 12개월 = from_ym='202508' + months=12, 작년 한 해 = from_ym='202501' + months=12. 과거 조회도 그대로 된다(원장은 2020-02 공고분부터)","title":"From Ym"},"to_ym":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"조회 창의 **끝** 월, YYYYMM 6자리(기본 from_ym+36개월). months와 같은 축이라 둘 중 하나만 준다","title":"To Ym"},"months":{"anyOf":[{"maximum":120,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"from_ym부터 **앞으로 몇 개월**을 볼지 — to_ym 대신 쓰는 간편 인자(예: 24). **뒤로 세지 않는다** — months=12만 주면 from_ym이 이번 달이라 '앞으로 12개월'이 되고, '최근 12개월'을 원했다면 from_ym을 12개월 전으로 함께 줘야 한다. to_ym과 함께 주면 오류다(둘 중 하나만) (허용 범위 1~120)","title":"Months"}},"additionalProperties":false,"title":"realty_move_in_supplyArguments"}},{"name":"realty_nonapt_prices","description":"빌라·오피스텔·단독주택·토지의 매매 실거래가를 조회한다(아파트는 이 도구가 아니다).\n\n    **아파트는 이 도구가 아니다.** 빌라(다세대·연립)·오피스텔·단독주택·토지 **전용**\n    실거래 **매매가** 조회다 — 응답 = 최근 거래(recent) + 집계(stats: 표본 수·가격·상위 구성).\n\n    질문에 '아파트'가 있으면 여기서 멈추고 아파트 축으로 가라 — 지역·법정동 월별 추이는\n    realty_region_price_stats, 단지·평형별 시세는 realty_search_complexes, 단지 평형의\n    건별 내역(계약일·층·가격)은 realty_complex_pyeong_price다. **셋 다 region에\n    '강남구 대치동'처럼 법정동을 그대로 받는다** — 동 단위로 좁히려고 이 도구로 오지 마라.\n    property_type 네 값 중 아파트에 가까운 것은 없고, 아무거나 고르면 **응답은 200이고\n    행도 채워져 나오므로 틀린 줄 모른다**(2026-08-23 PlayMCP QA 실측: '강남구 대치동\n    아파트 최근 실거래가'에 villa 5건이 아파트로 답해졌다).\n\n    **매매 데이터만 있다** — 전월세를 물으면 이 축엔 데이터가 없다고 답하라(추정 금지).\n    면적 기준: villa/officetel은 전용면적(area_m2·area_pyeong), house는 대지(land_*)와\n    건물(building_*) 분리, land는 계약면적·지목(land_category)·용도지역(zoning)이 온다.\n    land의 share_type='지분' 행은 필지 일부 거래라 면적당 가격 비교에 쓰지 말 것(집계는\n    지분·해제 제외 — 응답 note 참조).\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"property_type":{"description":"villa=다세대·연립(빌라), officetel=오피스텔, house=단독·다가구, land=토지. **이 네 값에 아파트는 없다** — 사용자가 아파트를 물었으면 아무 값이나 고르지 말고 이 도구를 부르지 마라(realty_search_complexes·realty_region_price_stats가 그 자리다). 2026-08-23 실측: '강남구 대치동 아파트 최근 실거래가'가 villa로 와 빌라 5건이 아파트로 답해졌다","enum":["villa","officetel","house","land"],"title":"Property Type","type":"string"},"region":{"description":"지역명 부분일치 (예: 관악구, 서울특별시 강남구, 강남구 역삼동). **법정동까지 되는 것은 이 도구만이 아니다** — 아파트 축의 realty_region_price_stats·realty_search_complexes도 '강남구 대치동'을 그대로 받는다. 동 단위로 좁히려고 이 도구를 고르지 마라","title":"Region","type":"string"},"price_min":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"최소 매매가(만원)","title":"Price Min"},"price_max":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"최대 매매가(만원)","title":"Price Max"},"limit":{"default":10,"description":"최근 거래 행 수 (허용 범위 1~30)","maximum":30,"minimum":1,"title":"Limit","type":"integer"},"area_band":{"anyOf":[{"enum":["40㎡미만","40~59㎡","60~84㎡","85㎡이상"],"type":"string"},{"type":"null"}],"default":null,"description":"전용면적대로 좁힌다(빌라·오피스텔만 — 단독주택은 전용면적 개념이 없다). 비아파트는 같은 동네에서도 면적 편차가 커서 지역 평균 하나로는 답이 안 된다. 안 넣어도 stats.by_area_band로 밴드별 분포가 온다","title":"Area Band"}},"required":["property_type","region"],"additionalProperties":false,"title":"realty_nonapt_pricesArguments"}},{"name":"realty_notice_facts","description":"입주자모집공고 원문에서 추출·검증한 팩트시트를 항목별로 준다.\n\n    입주자모집공고 **원문**에서 추출·검증한 팩트시트 — 전매제한·재당첨제한·거주의무·\n    거주요건, 청약 일정, 층별 분양가표(대지비·건축비·회차별 납부액), 특별공급 배정,\n    발코니 확장·유상옵션 가격, 중도금 회차 일정, 예비입주자 규칙.\n\n    전매제한 기간, 재당첨 제한, 거주의무, 특별공급 자격·배정, 층/타입별 분양가,\n    발코니 확장비·유상옵션 금액, 중도금 회차와 납부일 — 이 값들을 묻는 질문이 이 도구의\n    자리다(추정하거나 웹에서 찾을 필요 없이 공고 원문 값이 나온다). 모든 값에 공고 쪽\n    번호(`p`)가 붙으니 답변에 notice_version(공고 판본)과 쪽 번호를 함께 제시하라.\n\n    팩트시트 미추출 공고는 원문 앞쪽(단지 주요정보 표) 텍스트를 unverified_source_text로\n    준다 — 수치 인용 시 \"공고 원문 기준·미검증\"을 명시하라. 상세 조항 전문(특공 소득기준,\n    부적격 처리 등)은 realty_notice_text로 원문 쪽을 직접 읽어라. 여기 없는 값은 지어내지 말 것.\n\n    ⚠️ 큰 공고는 팩트시트 전체가 도구 결과 한계(64KiB)를 넘는다. 그때 **큰 절부터 떼어**\n    보내고 `meta.truncated`·`meta.omitted_sections`(절 이름·크기·되부르는 인자)에 그 사실을\n    적는다 — 뗀 절은 `section='분양가'`처럼 이름을 지정해 전문으로 받아라. **팩트시트에\n    없다고 공고에 없다고 답하지 마라**(못 봄 ≠ 없음).\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"house_manage_no":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"공고 관리번호 (realty_presale 응답의 house_manage_no)","title":"House Manage No"},"keyword":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"단지명 일부 (예: '우미린' — 공백 무관 매칭)","title":"Keyword"},"section":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"팩트시트의 한 절만 전문으로 받는다 (예: '분양가', '공급'). 비우면 전체 — 다만 전체가 도구 결과 한계를 넘으면 큰 절부터 떼어 내고 뗀 절 이름을 meta.omitted_sections에 적는다. 그때 이 인자로 되받아라.","title":"Section"}},"additionalProperties":false,"title":"realty_notice_factsArguments"}},{"name":"realty_notice_text","description":"입주자모집공고문 원문을 쪽 단위로 읽어 준다.\n\n    입주자모집공고문 원문을 쪽 단위로 읽는다 — 팩트시트에 없는 세부(특별공급 소득·자산 기준,\n    부적격 처리, 계약 유의사항, 옵션 품목 상세)는 이 도구로 원문을 직접 확인하라.\n    표가 있는 쪽은 pdftotext 특성상 정렬이 깨질 수 있다 — 열 해석이 애매하면 단정하지 말 것.\n\n    여러 낱말은 AND로 묶인다('가점제 추첨제'→둘 다 있는 쪽). 0쪽이면 막다르지 않고 낱말별\n    히트 쪽과 부분일치 상위 쪽을 함께 돌려주니 그걸로 좁혀라(match='any'로 넓힐 수도 있다).\n    **쪽을 모를 땐 pages_only=true로 먼저 훑어라** — 전문은 한 번에 수만 자다.\n    전문 응답은 최대 6쪽이고, meta.matching_pages에 일치 쪽 전체 목록이 늘 들어 있다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"house_manage_no":{"description":"공고 관리번호 (realty_presale·realty_notice_facts로 특정)","title":"House Manage No","type":"string"},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"찾을 키워드. 공백으로 나눈 낱말을 모두 포함하는 쪽을 찾는다(AND, 공백 무관 매칭) — 예 '가점제 추첨제', '신혼부부 소득'","title":"Query"},"pages":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"쪽 범위 직접 지정 (예: '1-3', '44'). **query와 택일이며 함께 주면 거절한다**(error='query_and_pages_conflict') — 종전엔 query를 조용히 버렸다. pages와 함께 준 pages_only는 무의미하므로 무시하고 meta.pages_only_ignored로 실토한다","title":"Pages"},"match":{"default":"all","description":"여러 낱말 처리 — all=모두 포함(기본), any=하나라도 포함(넓게 훑을 때)","enum":["all","any"],"title":"Match","type":"string"},"pages_only":{"default":false,"description":"참이면 본문 없이 일치 쪽 번호+발췌만 준다 — 먼저 이걸로 쪽을 고르고 pages로 좁혀 재호출하면 왕복·토큰이 크게 준다","title":"Pages Only","type":"boolean"}},"required":["house_manage_no"],"additionalProperties":false,"title":"realty_notice_textArguments"}},{"name":"realty_onbid_sale_rate","description":"공매가 \"보통 감정가의 몇 %에 낙찰되나\"와 \"얼마나 유찰되나\"를 실제 개찰 결과로 답한다.\n\n    **법원경매의 realty_auction_sale_rate와 같은 이름의 다른 지표다.** 분모가 둘 다\n    감정가지만 평가 주체·저감 규칙·매물 성격이 달라 **두 %를 한 문장에 섞으면 안 된다**.\n    \"경매 낙찰가율\"을 물었으면 어느 쪽인지 확인하라.\n\n    **이 축의 자리** — 공매 축 2종 중 통계 쪽이다. 개별 물건과 회차별 최저가는\n    realty_search_onbid다. 낙찰가율은 재산구분별로 갈라 읽어라(`by_property_type`).\n\n    ⚠️ **표본은 최근 3개월 개찰분이고, 그중 '낙찰' 건만 낙찰가율에 든다.** 온비드 전체\n    입찰결과 688,264건 중 우리가 받은 것은 113,673건이고, 그 안에서 낙찰은 3,824건이다\n    (나머지는 유찰·취소·개찰중). `outcome_mix`가 그 분포이고 여기서 나온 낙찰 비율은\n    **성립률이지 낙찰가율이 아니다**.\n\n    ⚠️ **낙찰가율은 원천이 준 값을 그대로 쓴다**(`apslPrcCtrsScfbPrcRto` = 감정가 대비\n    낙찰가율). 낙찰 3,824건 중 이 값이 있는 것은 2,896건이다 — 나머지는 감정가가 원장에\n    없는 건이라 **모르는 것이지 0이 아니다**(`ratio_missing`).\n\n    ⚠️ **평균이 아니라 중앙값을 인용하라.** 지분·산지 물건이 감정가의 386%에 팔린 사례가\n    실제로 있어(공유자 경합) 평균이 위로 끌린다. `median_pct`가 정본이고 `p25_pct`·\n    `p75_pct`로 폭을 함께 전하라.\n\n    ⚠️ **지역은 물건명에서 되찾은 것이다.** 입찰결과 원장에 지역 컬럼이 아예 없어서,\n    물건 목록과 붙여 보려 했으나 **낙찰 3,824건 중 물건 목록에서 찾아지는 것은 83건\n    (2.2%)뿐이다** — 물건 목록은 현재 진행분 스냅샷이라 이미 팔린 물건이 빠져 있다.\n    그래서 물건명 접두의 시도·시군구 표기를 파싱해 쓴다(전체 96.1%·낙찰 90.0%에서 잡힌다).\n    파싱이 안 된 건은 지역 필터에서 **조용히 빠지므로** 응답의 `region_basis`를 함께 전하라.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sido":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시도. **주의: 결과 원장에는 지역 컬럼이 없다** — 물건명 접두에서 되찾은 값으로 거른다(커버리지는 응답의 region_basis에 실린다). ⚠️ '광주'는 광주광역시와 경기도 광주시 둘 다라 **한쪽으로 읽지 않고 거절한다**(error='sido_ambiguous') — 광역시면 '광주광역시', 경기도 광주시면 sido='경기도'·sigungu='광주시'로 갈라 넣어라.","title":"Sido"},"sigungu":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시군구. 물건명에서 시도 다음 한 토막을 뽑은 것이라 '고양시 덕양구'는 '고양시'로만 잡힌다 — 자치구까지 좁히려면 이 원장으로는 안 된다.","title":"Sigungu"},"usage_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"용도 부분일치(대·중·소 3단). 원장 값 예: 주거용건물·아파트·토지·근린생활시설. 표본이 **입찰결과 원장**이라 물건 목록과 어휘가 미세하게 갈린다 — 없는 이름은 거절하며 이 원장의 쓸 수 있는 값을 준다.","title":"Usage Name"},"property_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"재산구분. **이 축을 빼고 하나의 낙찰가율을 말하면 거의 틀린다** — 실측 중앙값이 압류재산 31.6% vs 국유재산 106.3%로 3배 넘게 갈린다.","title":"Property Type"}},"additionalProperties":false,"title":"realty_onbid_sale_rateArguments"}},{"name":"realty_poi_nearby","description":"[유료] 좌표 주변의 지하철·학교·병원·마트 등 입지 요소를 거리순으로 조회한다.\n\n    단지 좌표는 realty_complex_report가 준다. \"역세권인가\", \"초품아인가\" 판단용.\n    단지의 학군·교통 **점수**만 필요하면 무료 realty_location_scores로 충분하다 —\n    이 도구는 실제 시설 목록·거리를 셀 때 쓴다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"lat":{"description":"위도 — realty_complex_report의 latitude를 쓰라","title":"Lat","type":"number"},"lng":{"description":"경도","title":"Lng","type":"number"},"poi_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"subway | hospital | school — 쉼표로 조합 가능(예: 'subway,school'), 비우면 전체. 이 3종만 좌표 검색을 지원한다(마트·약국 등은 지역 통계 realty_poi_stats로)","title":"Poi Type"},"radius_m":{"default":1000,"description":"반경(미터) (허용 범위 100~3000)","maximum":3000,"minimum":100,"title":"Radius M","type":"integer"}},"required":["lat","lng"],"additionalProperties":false,"title":"realty_poi_nearbyArguments"}},{"name":"realty_poi_stats","description":"[유료] 시군구별 병원·학교·지하철역 개수 통계를 조회한다. 지역 간 인프라 비교용.\n\n    지역 키는 '시도축약 시군구' 2토큰이다(예: '서울 마포구', 세종은 1토큰). 병원·지하철은\n    수집 범위가 수도권·광역시 중심이라 지방 시군구는 0으로 나올 수 있다 — 0을 \"없다\"로\n    단정하지 말고 수집 범위 밖일 수 있다고 말하라.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"지역명 접두 일치 (예: 서울, 서울 마포구, 마포구). 비우면 전국 전체","title":"Region"},"limit":{"default":20,"maximum":50,"minimum":1,"title":"Limit","type":"integer","description":"(허용 범위 1~50)"}},"additionalProperties":false,"title":"realty_poi_statsArguments"}},{"name":"realty_policy_rules","description":"단지에 종속되지 않는 일반 규범(세율·규제·대출·임대차)을 근거 조문과 함께 준다.\n\n    단지에 종속되지 않는 **일반 규범**을 근거 조문·확인일과 함께 준다 — 취득세율표,\n    규제지역 **현재** 지정 현황, 주담대 규제 원표, 개인회생×대출, 주택임대차 갱신(갱신권·\n    5% 상한·매수인 실거주 거절), 양도세(세율·필요경비·중과·개편 계류), 청약통장·가점\n    배점표, 정비구역 요건·조합원 지위양도, 재개발 분양자격 갈림길(서울). \"취득세 얼마야?\",\n    \"갱신권 썼는데 집주인이 팔면?\", \"지금 팔면 중과야?\"류 질문의 자리다. 특정 조건의\n    상한 **계산**은 realty_loan_limit, 가점 점수 계산은 realty_subscription_score,\n    비례율·분담금 계산은 realty_redevelopment_burden, 양도세 시나리오 계산은\n    realty_capital_gains_tax, 조합원 지위양도 가능 판정은 realty_member_transfer_check —\n    이 표가 그 계산기들의 진실원이다.\n\n    클라이언트에 세율을 하드코딩하지 마라 — \"85㎡ 이하 1.1%\"는 6억 이하일 때만 맞고,\n    9억 초과에 그대로 쓰면 수천만원 틀린다(실측: 16.9억 84타입에서 3,700만원 차).\n\n    **판정은 하지 않는다**: \"이 사람이 1주택인가\"는 분양권·상속지분·일시적 2주택 특례가\n    얽힌 사실판단이다 — 표의 applicable_if·exceptions를 보고 사용자에게 확인 질문을\n    던져라. 개별 공고의 규제 플래그(공고일 스냅샷)는 realty_presale, 공고 원문 값은\n    realty_notice_facts, 이 표를 써서 총 소요자금까지 계산하는 건 realty_presale_cost.\n    응답의 uncertainties(확인 못 한 것)와 disclaimer를 함께 전하라.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"topic":{"default":"list","description":"**어느 표를 볼지 고른다 — 사용자가 쓰는 말로 찾아라.** axes=상품별 차이·6·27이 뭐에 걸리나·DSR 6축·수도권/규제지역 축 | **횡단 사실의 진실원**(6·27 상품별 적용·DSR 6축·수도권/규제지역·세대/인별/물건 기준 충돌). '어느 상품이 뭐가 다른가'류는 여기부터 — 상품 토픽과 어긋나면 이 표가 맞다, acquisition_tax=취득세·취득세율·다주택 중과·농특세·지방교육세·생애최초 감면 | 취득세율표(표준 구간·중과·부가세목·예외/특례·과표 논점·취득시기), regulated_area=규제지역·조정대상지역·투기과열지구·분양가상한제·토지거래허가 | **현재** 지정 현황, loan_rules=주담대·LTV·DSR·대출한도·스트레스 금리·생애최초 | 주담대 규제 원표(LTV·가액구간 한도·만기·DSR·스트레스 금리·생애최초 절차) — 조건별 판정·계산은 realty_loan_limit, credit_rehab=개인회생·신용회복·면책·공공정보 등록 | 개인회생×신용·대출 규칙 — 공공정보 등록·조기삭제(1년 성실변제, 2025-07)·면책, 기산점(개시≠인가) 함정. **재산·주택 축은 credit_rehab_property**, credit_rehab_property=개인회생 중인데 집 살 수 있나·배우자 명의로 주택 취득·청산가치·가용소득·퇴직금 압류금지·퇴직연금 압류금지 범위·주택임차보증금 압류금지·재산 은닉·인가 후 재산이 늘면 | **개인회생×부동산** — 개인회생재단의 범위(개시 vs 인가 시점)·청산가치 보장원칙이 묶는 것·압류금지라 재단에서 빠지는 재산(퇴직연금 전액 vs 퇴직금 1/2)·부부 명의 축·은닉과 정상 거래의 경계. **판정은 안 한다**, 신용·대출 축은 credit_rehab, lease_rules=전월세·임대차·계약갱신청구권·5% 상한·묵시적 갱신·집주인 실거주 | 주택임대차 갱신 — 갱신요구권(행사기간·거절사유·1회 2년)·5% 증액상한·갱신 후 해지권(3개월)·매수인 실거주 거절 판례(2021다266631), auction_rights=경매 권리분석·말소기준권리·대항력·확정일자·최우선변제·배당요구 | 민사집행법 91조 인수/소멸·주임법 대항력·우선변제권·배당요구·배당순위 — '낙찰받으면 보증금 물어주나'가 여기다. **판정은 안 한다**, 금액표는 realty_small_deposit_check, capital_gains_tax=양도세·양도소득세·세율표·장특공제·필요경비·다주택 중과·이월과세·양도세 신고·신고기한·예정신고·확정신고·기한후신고·가산세·분납·지방소득세 신고 | 세율표·필요경비 자본적/수익적 분류·중과 현황·2026 개편 계류 + **신고·납부 기한과 가산세**(예정 2개월·확정 5월·지방소득세 +2개월·분납·감면·비과세면 신고 의무가 없는가) — 세액 계산은 realty_capital_gains_tax, **비과세 갈림길은 one_home_exemption_map**, subscription_account=청약통장·청약 가점·배점표·납입 인정·예치금 전환 | 청약통장·가점 규칙(배점표 84점·기산 함정·월 25만원 인정·미납/선납·예부금 전환 2026-09-30 한시) — 점수 계산은 realty_subscription_score, redevelopment_rules=정비구역 지정·노후도 요건·조합원 지위양도·비례율·재건축진단 | 재개발·재건축 — 노후도 60%·서울 조례 지표·39조 지위양도 제한과 예외·비례율 산식. 지위양도 가능 판정은 realty_member_transfer_check, redevelopment_entitlement=재개발 입주권·분양자격·권리산정기준일·뚜껑·도로 지분 | 재개발 분양자격 갈림길 지도(서울 한정) — 5경로·권리산정기준일 3층 경계·확인 체크리스트. 판정은 안 한다, remodeling_rules=리모델링 조합·15년 연한·수직증축·1기 신도시·증축 한도 | 공동주택 리모델링(**주택법** — 도시정비법과 별개 법제): 전용 85㎡ 미만 40%/이상 30%·세대수 15%·수직증축·39조 적용 밖·1기 신도시 특례. redevelopment_rules와 섞으면 오답, one_home_exemption_map=1세대1주택 비과세·2년 보유·2년 거주·12억·일시적 2주택·상속주택·동거봉양·상생임대 | **양도세 비과세 갈림길 지도** — 5관문·5경로+확인 체크리스트. **판정은 안 하지만 무엇을 확인해야 하는지는 다 있다** — 비과세 가능성이 보이면 세무사로 보내기 전에 여기다, comprehensive_real_estate_tax=종부세·종합부동산세·공시가격 문턱·공동명의·보유세 | **종부세 과세 문턱과 명의 축** — 인별 과세라 단독/공동명의가 갈리는 자리. 공시가 기준 문턱·공동명의 특례·2026 개편안(계류). **세액 계산은 안 한다**, gift_tax_and_funding_source=증여세·자금출처·자금출처조사·부모님이 보태주는 돈·차용증·공동명의 지분 | 증여재산공제 문턱 + 소명 — 10년 합산·배우자 6억·직계존속 5천만·혼인출산 1억 통합한도·지분≠기여도면 증여. **세액 계산·절세 설계는 안 한다**, property_tax=재산세·6월 1일 기준일·공시가격 과세표준·보유세 | **재산세(주택분) 구조·기준일·명의 축** — **물건별 과세라 공동명의여도 총액이 같다**(종부세와 반대). 6월 1일 기준일 함정·1주택 특례(2026 일몰). **계산은 안 한다**, jeonse_loan_rules=전세자금대출·버팀목·전세대출 DSR·중소기업 청년 전세 | 자격 + DSR 취급 — 구입자금과 다른 상품군이라 loan_rules 표를 갖다 쓰면 오답. **원금이 DSR에 안 잡히고 이자만**(정책분은 아예 제외). 한도 계산은 안 한다, interim_collective_loan=중도금대출·집단대출·잔금대출 전환·이자후불제 | **분양 중도금(집단)대출 구조·DSR·6억 한도 취급** — 중도금은 DSR 밖이지만 **다른 대출을 받을 땐 내 DSR에 잡히고, 잔금 전환 시 DSR·6억 한도가 걸린다**(계약 통과≠잔금 통과), living_expense_mortgage=생활안정자금·생활자금 대출·보유 주택 담보(구입 아님) | 이미 가진 집을 담보로 — **구입 목적이 아니다**. 수도권·규제지역 **1주택 1억 한도(기존분 합산)·다주택 전면 금지**, DSR은 구입자금과 똑같이 걸린다, jeonse_return_mortgage=전세퇴거자금·전세보증금 반환 대출·세입자 내보낼 돈 | 원칙 1억이지만 **6·27 이전 임대차계약 + 소유권 취득분은 경과조치로 초과 가능**(LTV 70%). 경과조치는 **DSR 예외가 아니다**, auction_balance_loan=경락잔금대출·낙찰 잔금·대금지급기한 | **경락잔금대출**(경매 낙찰 잔금) — 대금지급기한에 대출 실행이 묶이는 구조. 방공제·MCI는 room_deduction_and_mci, funding_plan_report=자금조달계획서·입주계획서·증빙·30일 기한 | **주택취득자금 조달 및 입주계획서** — 제출 대상·증빙·30일 기한과 가족 차용을 적을 때 걸리는 자리, room_deduction_and_mci=방공제·MCI·MCG·실제 대출가능액이 깎이는 이유 | **방공제·MCI/MCG**(매매·경매 공통) — 규제 상한과 별개로 실제 대출가능액을 깎는 구조. 'MCI 되면 4.3억, 안 되면 3.9억'류와 '왜 계약 전에 확정을 못 해주나'의 근거, unit_alteration_rules=내력벽 철거·벽 헐기·욕실 이동·인테리어 허가·층상배관 | 이 집을 내 마음대로 고칠 수 있나 — 내력벽 철거 가부('2016년 유예로 허용'은 통설이고 조문이 깬다)·행위허가 동의율·경미한 행위·층상/층하 배관. 단지별 값은 realty_remodel_feasibility, list=제공 항목 안내(토픽 목차)","enum":["axes","acquisition_tax","regulated_area","loan_rules","credit_rehab","credit_rehab_property","lease_rules","auction_rights","capital_gains_tax","subscription_account","redevelopment_rules","redevelopment_entitlement","remodeling_rules","one_home_exemption_map","comprehensive_real_estate_tax","gift_tax_and_funding_source","property_tax","jeonse_loan_rules","interim_collective_loan","living_expense_mortgage","jeonse_return_mortgage","auction_balance_loan","funding_plan_report","room_deduction_and_mci","unit_alteration_rules","list"],"title":"Topic","type":"string"},"section":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"**토픽의 하위 항목만 골라 받는다** — 미지정이면 종전과 같이 토픽 전체가 온다. 큰 토픽(auction_rights·unit_alteration_rules·loan_rules)에서 필요한 축만 집을 때 쓴다. 예: topic='auction_rights', section='assumed_regardless_of_rank' → 순위 무관 인수(유치권·법정지상권)만. 쉼표로 여러 개(section='tenant_opposing_power,tenant_priority_payment')도 된다. **없는 이름을 주면 조용히 무시하지 않고 거절하며 유효 목록을 값으로 돌려준다** — 이름을 모르면 section 없이 한 번 부르면 응답 meta.sections_available에 전 목록이 있다. topic='list'에는 하위 항목이 없다","title":"Section"},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"**자유문으로 토픽을 찾는다** — 어느 topic인지 모를 때 사용자 말을 그대로 넣어라(예: '종부세 얼마부터 내요'→topic='comprehensive_real_estate_tax', '부모님이 보태주는 돈'→topic='gift_tax_and_funding_source', '전입은 빠른데 확정일자가 늦으면'→topic='auction_rights'). 이름 25개를 외워 고르는 대신 이걸 쓰면 된다. topic 없이 query만 주면 **후보 토픽 목록**이 오고, 후보가 하나면 그 토픽 본문까지 함께 온다. topic과 함께 주면 그 토픽을 그대로 주되 다른 후보가 있으면 알려준다. **아무것도 안 걸리면 지어내지 않고 0건이라고 답한다** — 그때는 이 서버에 그 축이 없는 것이니 표를 추측하지 마라","title":"Query"}},"additionalProperties":false,"title":"realty_policy_rulesArguments"}},{"name":"realty_predict_price","description":"[유료] 단지의 **다음 달** 평균 매매가를 평형대별로 예측한다 (XGBoost v4_clean).\n\n    complex_name 또는 complex_key 중 하나는 필수. 동명 단지가 여러 지역에 있으면\n    먼저 realty_complex_report로 단지를 특정한 뒤 complex_key로 호출하라.\n    예측 지평은 1개월(익월) 고정 — 그 너머는 모델이 검증되지 않아 제공하지 않는다.\n    커버리지 밖은 정직하게 거절된다(지어내지 않음) — ①최근 3개월 내 월 거래 3건 미만이거나\n    ②과거 거래 이력이 없는 신축 첫 달(모델이 지역·평형 평균을 토해 2~4배 틀린다, 실측).\n    예측이 없을 뿐 시세 데이터는 있으니 그때는 실거래 도구로 답하라.\n    응답 predictions[].caution이 있으면 반드시 함께 전달하라 — 예측 대상이 '익월에 거래된\n    매물들의 평균가'라, 시세가 그대로여도 거래 구성이 바뀌면 흔들린다(실측 16.3%가 ±10% 초과).\n    응답의 as_of_ym(기준월)·disclaimer(검증 MAPE)를 사용자 답변에 반드시 함께 전달하라 —\n    예측은 참고 지표이지 투자 보장이 아니다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"complex_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"단지명 (예: 반포자이)","title":"Complex Name"},"complex_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"정확한 단지 키 — realty_complex_report가 돌려주는 complex_key","title":"Complex Key"},"months":{"default":1,"description":"(구버전 호환) 예측 지평은 1개월 고정 — 이 값은 무시되고 응답이 그 사실을 실토한다 (허용 범위 1~12)","maximum":12,"minimum":1,"title":"Months","type":"integer"}},"additionalProperties":false,"title":"realty_predict_priceArguments"}},{"name":"realty_presale","description":"아파트 청약(분양) 공고를 조회한다 — 분양가·청약 접수 일정·당첨자 발표일·입주 예정·위치.\n    \"다음 달 청약 넣을 만한 데 있어?\", \"○○에 분양하는 아파트 있어?\"류 질문용.\n\n    **\"오늘/지금 접수 가능한 청약\"은 status='접수중'이다.** upcoming=true는 접수 **시작 전**만\n    주므로 그 질문에 쓰면 정확히 **오늘 못 넣는 공고들**을 받는다(2026-08-22 실사고: 접수가\n    이틀 뒤 시작하는 공고를 \"현재 접수 가능\"으로 답했다). 행마다 오늘 기준 판정\n    `apply_status`(접수중/접수예정/접수마감/일정미상)와 `apply_status_text`가 붙고, 그 기준일은\n    meta.today다 — **날짜를 직접 비교해 상태를 다시 판정하지 말고 이 값을 그대로 전하라.**\n    \"넣을 만해?/적정가야?\"까지 물으면 이어서 realty_presale_vs_market으로 분양가를\n    실거래 시세와 대조하라(응답의 house_manage_no가 그 도구의 입력이다).\n\n    price_min/price_max는 주택형별 분양 최고가의 최소·최대(만원)다 — 한 공고에 여러\n    주택형(house_type_count)이 있다. 청약 자격·순위 요건은 이 데이터에 없다(지어내지 말 것).\n    경쟁률·당첨 가점 커트라인은 realty_subscription_odds 도구에 있다.\n\n    무순위(줍줍)·취소재공급이 돈 공고에는 `unsold_history`(회차·세대)가 붙는다 — 접수\n    경쟁률이 높아도 무순위가 돌았다면 \"당첨 후 계약이 안 된\" 시장이다. 없다고 이력이\n    없던 건 아니다(meta.unsold_note의 연결 한계 참조). 같은 지역 공고들의 분양가가\n    올라온 추이(\"기다림의 비용\")는 realty_presale_price_trend.\n\n    규제지역 플래그: speculation_zone(투기과열지구)·adjustment_area(조정대상지역)·\n    price_cap_applied(분양가상한제), Y/N — **모집공고일(announced_on) 기준 스냅샷**이라\n    이후 지정·해제가 바뀔 수 있다. \"현재 규제지역\"으로 단정하지 말고 공고일과 함께 전하라.\n    전매제한·거주의무 기간은 이 데이터에 없다(플래그에서 유추 금지) —\n    realty_notice_facts가 공고 원문 값을 쪽 번호와 함께 준다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시도 (예: 서울, 경기, 세종, 부산)","title":"Region"},"sigungu":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시군구 정확한 이름 (예: 수원시, 강남구). ⚠️세종은 이 필드가 동·생활권·도로명으로 오염돼 있으니 쓰지 말고 keyword를 쓰라","title":"Sigungu"},"keyword":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"단지명·공급 주소 부분일치 (예: '우미린', '5-2생활권', '다솜동') — 생활권·동 단위 질의는 이걸로","title":"Keyword"},"status":{"default":"전체","description":"오늘(KST) 기준 접수 상태로 거른다. **'오늘/지금 접수 가능한', '지금 넣을 수 있는' 질문은 '접수중'이다** — '접수예정'은 아직 못 넣는 것들이다. '다음 달 청약'처럼 앞으로를 묻는 질문만 '접수예정'. 기본 '전체'.","enum":["전체","접수중","접수예정","접수마감"],"title":"Status","type":"string"},"upcoming":{"default":false,"description":"⚠️True면 접수 **시작 전**(시작일이 오늘 이후) 공고만 — **오늘 접수 가능한 공고는 여기 없다**. 오늘 넣을 수 있는 것을 찾는다면 status='접수중'을 써라. status와 함께 쓰지 말 것(status가 이것을 대체한다).","title":"Upcoming","type":"boolean"},"limit":{"default":20,"description":"공고 수 — 주택형별 분양가·순위별 일정이 붙어 행이 무겁다. 요청분을 다 실으면 응답이 크기 상한을 넘는 경우 **실제 반환 수를 줄이고 meta.size_capped**에 총계·좁혀 부르는 법을 값으로 싣는다 — 조용히 자르지 않는다 (허용 범위 1~50)","maximum":50,"minimum":1,"title":"Limit","type":"integer"}},"additionalProperties":false,"title":"realty_presaleArguments"}},{"name":"realty_presale_context","description":"이 분양 공고를 같은 시군구·같은 평형의 다른 공고들과 5축으로 견준다.\n\n    이 분양 공고를 **같은 시군구·같은 평형 공고들과 견줘** 읽는다 — 청약홈 API에 없고\n    **공고문 원문에만 있는 5축**으로: ①대지비 비중(분양가에서 땅값이 얼마인가) ②유상옵션\n    (사실상 필수인 발코니확장 절대금액) ③중도금 무이자 여부와 회차 ④층 프리미엄(최저 층구간\n    대비 최상 층구간) ⑤㎡당 분양가(전용면적 기준).\n\n    \"이 분양가가 비싼가\"는 실거래 대조만으로는 반쪽이다 — 같은 값이라도 대지비 비중이\n    70%인 공고와 25%인 공고는 다른 물건이고, 발코니확장 3천만원은 광고 분양가에 안 잡힌다.\n    공고를 지정하면 그 공고의 5축 값과 **분포에서의 위치(percentile)**를 주고, 지정하지\n    않으면 시군구·평형 슬라이스의 분포만 준다.\n\n    읽는 법(그대로 지켜야 값이 거짓이 되지 않는다):\n    · **셀 표본이 3건 미만이면 분위를 안 낸다** — 그때 `verdict`가 '표본 부족'이고,\n      그것이 답이다. **시도 값(background)으로 갈아타지 마라**(D-2026W33-40).\n    · **연도를 자르지 않은 시계열을 그리지 마라** — 팩트시트 커버율이 연도마다 20배 이상\n      갈린다(meta.coverage.by_year). 연도 간 분양가 추이는 realty_presale_price_trend다.\n    · 중도금 `unknown`은 '이자 있음'이 아니라 '판정 못 했다'다(n_known/n_unknown이 갈려 있다).\n    · ㎡당 분양가는 **전용면적** 기준이라 공급면적 평당가와 같은 축에 놓으면 안 된다.\n\n    이 축의 자리: 개별 공고의 값 자체(전매제한·자격·층별 표 전문)는 realty_notice_facts,\n    원문 조항은 realty_notice_text, 분양가 대 실거래 적정성은 realty_presale_vs_market,\n    연도별 분양가 추이는 realty_presale_price_trend — 이 도구는 **공고끼리의 횡단면**이다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"house_manage_no":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"공고 관리번호 (realty_presale·realty_notice_facts 응답의 house_manage_no, 예 '2026000383')","title":"House Manage No"},"keyword":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"단지명 일부 (예: '우미린' — 공백 무관 매칭). house_manage_no와 택일이며 여럿이면 후보 목록을 돌려준다","title":"Keyword"},"sigungu":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시군구를 원장 어휘 그대로 (예: '천안시 서북구', '평택시', '서울 동작구' — 특별·광역시는 '서울 동작구'처럼 시도 접두가 붙는다). 공고를 지정하지 않고 그 지역 분포만 볼 때 쓴다","title":"Sigungu"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시도 (예: 경기, 서울, 경남). **시도 분포는 배경일 뿐 결론 근거가 아니다**(D-2026W33-40) — 결론은 시군구·평형대 셀에서 읽어라","title":"Region"},"exclusive_m2_min":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"전용면적 하한(㎡) — 국평만 보려면 80. 지정하면 모든 셀에 같은 필터가 걸린다","title":"Exclusive M2 Min"},"exclusive_m2_max":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"전용면적 상한(㎡) — 국평만 보려면 85","title":"Exclusive M2 Max"}},"additionalProperties":false,"title":"realty_presale_contextArguments"}},{"name":"realty_presale_cost","description":"분양 한 건의 층별 총 소요자금(분양가·발코니·중도금이자·취득세)을 계산한다.\n\n    공고 원문(팩트시트) 기반 **결정론 계산**: 층별 분양가 + 발코니 확장비 + 회차별\n    중도금 이자(일할) + 취득세(표준세율) = 층별 총 소요자금. \"이 분양 실제로 얼마 드나\"의\n    자리다 — 클라이언트마다 손계산하면 입주일 가정 하나로 백만원대가 갈린다(실측 124만원).\n\n    경계(신고 #43의 선 그대로): 여기까지가 \"공고+세법에서 결정론적으로 나오는 것\"이다.\n    월 상환액·매수 vs 전세 손익분기는 개인 파라미터가 지배하므로 계산하지 않는다 — 전세\n    시세는 realty_complex_rent_by_pyeong으로 받아 클라이언트가 개인 가정을 얹어라.\n    자기자금·차주 조건을 **선언**받아 필요 대출액과 규제 상한 통과까지 판정하는 건\n    realty_presale_funding_plan이 한다. 세율표 자체는 realty_policy_rules가 근거 조문과 함께 준다(중과·감면 등\n    이 계산이 가정으로 제친 것들이 거기 있다 — assumptions를 반드시 사용자에게 전하라).\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"house_manage_no":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"공고 관리번호 (realty_presale의 house_manage_no)","title":"House Manage No"},"keyword":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"단지명 일부 (공백 무관)","title":"Keyword"},"house_ty":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"주택형 (예: '59', '84B') — 생략 시 공고의 주택형 목록을 돌려준다","title":"House Ty"},"mid_rate_pct":{"default":5,"description":"중도금 대출 연이율 %(기본 5.0 — 실제 금리는 공고·은행마다 다르다) (허용 범위 0 초과~20)","exclusiveMinimum":0,"maximum":20,"title":"Mid Rate Pct","type":"number"},"extra_options_krw":{"default":0,"description":"발코니 외 유상옵션 합계(원) — realty_notice_facts의 옵션가에서 골라 넣어라","minimum":0,"title":"Extra Options Krw","type":"integer"},"movein_ym":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"입주 년월 YYYYMM 덮어쓰기 — 공고에 입주예정이 없거나 다른 가정을 쓸 때","title":"Movein Ym"}},"additionalProperties":false,"title":"realty_presale_costArguments"}},{"name":"realty_presale_funding_plan","description":"분양 한 건이 내 자기자금과 대출로 닫히는지 시점별로 판정한다.\n\n    공고 하나에 대해 **\"내 자기자금으로 닫히는가\"**를 결정론으로 판정한다 — 시점별\n    (계약금→중도금 회차→잔금) 필요액, 잔금 시점의 필요 대출액, 그 대출이 규제 상한\n    (LTV·가액구간 한도·DSR — realty_loan_limit과 같은 엔진) 안에 드는지, 부족하면\n    얼마가 부족한지. \"이 분양 당첨되면 진행 가능해?\"류 질문의 자리다.\n\n    경계: ① 차주 유형·소득은 **선언**이다(서버는 판정하지 않는다). ② 판정은 **현행\n    규제·현재 자기자금 기준**이다 — 잔금 시점(수년 뒤)의 규제·금리·저축 증가는 반영하지\n    않으며 그 사실을 assumptions에 싣는다. ③ 승인·확약이 아니다. ④ 저축 계획·갈아타기\n    전략·매수 적정성 판단은 이 도구 밖이다 — 시세 비교는 realty_presale_vs_market,\n    규칙 원표는 realty_policy_rules. 응답의 assumptions·uncertainties를 함께 전하라.\n    ⑤ 입주시 시세·전세보증금도 **선언**이다 — 선언하면 각각 시세 기준 잔금대출 시나리오\n    (scenario_at_expected_price)와 전세 잔금 시나리오(jeonse_scenario — 거주의무·대출\n    병행 불가 게이트)를 병렬로 준다. 서버는 미래 시세·전세가를 추정하지 않는다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"house_manage_no":{"description":"공고 관리번호 (realty_presale의 house_manage_no)","title":"House Manage No","type":"string"},"own_funds_10k":{"description":"동원 가능한 자기자금(만원) — 계약금부터 잔금까지 전액 투입 가정으로 계산한다. 0도 유효하다(전액 대출 시나리오 — 계약금 게이트에서 정직하게 걸린다)","minimum":0,"title":"Own Funds 10K","type":"integer"},"borrower":{"description":"잔금대출 차주 유형(사용자 선언 — realty_loan_limit과 동일 계약). 계약자 명의 기준으로 선언하라","enum":["무주택","생애최초","서민실수요","1주택_처분조건부","1주택_보유","다주택"],"title":"Borrower","type":"string"},"house_ty":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"주택형 (예: '59', '84B')","title":"House Ty"},"floor_zone":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"층 구분(예: '5~9층') — 생략하면 첫 밴드로 계산하고 나머지 밴드 총액을 병기한다","title":"Floor Zone"},"annual_income_10k":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"차주 연소득(만원) — 주면 잔금대출의 DSR 상한까지 반영해 판정한다","title":"Annual Income 10K"},"existing_annual_debt_payment_10k":{"default":0,"description":"기존 대출 연간 원리금(만원)","minimum":0,"title":"Existing Annual Debt Payment 10K","type":"integer"},"interest_rate_pct":{"anyOf":[{"exclusiveMinimum":0,"maximum":20,"type":"number"},{"type":"null"}],"default":null,"description":"잔금대출 약정금리 가정(%) (허용 범위 0 초과~20)","title":"Interest Rate Pct"},"loan_term_years":{"default":30,"description":"잔금대출 만기(년) (허용 범위 1~50)","maximum":50,"minimum":1,"title":"Loan Term Years","type":"integer"},"lender":{"default":"은행","description":"업권","enum":["은행","제2금융권"],"title":"Lender","type":"string"},"rate_type":{"default":"변동","description":"잔금대출 금리유형 — realty_loan_limit과 동일 계약. 기본 '변동'은 스트레스 금리 전액 가산이라 가장 보수적이다(안 닫힌다는 판정이 유형 때문일 수 있다)","enum":["변동","혼합형","주기형","순수고정"],"title":"Rate Type","type":"string"},"rate_fixed_years":{"anyOf":[{"maximum":50,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"혼합형 고정기간 또는 주기형 변동주기(년) — 미지정 시 5년 가정 (허용 범위 0~50)","title":"Rate Fixed Years"},"credit_loan_10k":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"신용대출 잔액·예정액(만원) — realty_loan_limit과 동일 계약(서버가 산정만기 5년 규제식으로 계산한다). 직접 연 원리금을 계산해 넣지 마라","title":"Credit Loan 10K"},"credit_loan_rate_pct":{"anyOf":[{"exclusiveMinimum":0,"maximum":20,"type":"number"},{"type":"null"}],"default":null,"description":"신용대출 약정금리(%) — credit_loan_10k를 줬으면 필수 (허용 범위 0 초과~20)","title":"Credit Loan Rate Pct"},"mid_rate_pct":{"default":5,"description":"중도금 대출 연이율 %(기본 5.0) (허용 범위 0 초과~20)","exclusiveMinimum":0,"maximum":20,"title":"Mid Rate Pct","type":"number"},"extra_options_krw":{"default":0,"description":"발코니 외 유상옵션 합계(원)","minimum":0,"title":"Extra Options Krw","type":"integer"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"규제 판정용 지역 덮어쓰기 — 생략하면 공고 소재지로 판정한다","title":"Region"},"is_regulated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"규제지역 여부 직접 선언","title":"Is Regulated"},"is_metro":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"수도권 여부 직접 선언","title":"Is Metro"},"expected_price_at_movein_10k":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"입주(잔금) 시점 예상 시세 선언(만원) — 잔금대출 LTV는 실무상 입주시 시세·감정가 기준이라, 선언하면 그 값 기준 판정을 병렬로 준다. 서버는 미래 시세를 추정하지 않는다(선언 없으면 분양가 기준만)","title":"Expected Price At Movein 10K"},"jeonse_deposit_10k":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"입주 시점 예상 전세보증금 선언(만원) — 주면 '세입자 보증금으로 잔금 치르기' 시나리오를 판정한다(거주의무·대출 병행 불가 게이트 포함). 시세 확인은 realty_complex_rent_by_pyeong·region_price_stats(metric=rental)","title":"Jeonse Deposit 10K"},"movein_ym":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"입주 년월 YYYYMM 덮어쓰기 — 공고에 입주예정이 없으면 이걸 안 주는 한 총 소요자금이 계산되지 않아 자금 판정도 못 한다(realty_presale_cost와 같은 계약·같은 이름). 후보는 realty_presale의 move_in_ym","title":"Movein Ym"}},"required":["house_manage_no","own_funds_10k","borrower"],"additionalProperties":false,"title":"realty_presale_funding_planArguments"}},{"name":"realty_presale_price_trend","description":"같은 지역 분양 공고들의 연도별 평당 분양가 추이를 낸다.\n\n    같은 지역 분양 공고들의 **연도별 평당 분양가 추이**를 낸다 — \"지금 넣을까,\n    기다릴까\"에서 **기다림의 비용**(다음 공고가 얼마에 나올까)을 정량화하는 축이다.\n    재당첨 제한이 걸린 결정(분양가상한제 10년 등)에서 특히 판단을 가른다.\n\n    기준(답변에 그대로 전달): **공급면적(분양평) 평당 최고 분양가**(만원/평), 발코니\n    확장·유상옵션 미포함. 연도별 주택형 믹스가 다르면 중앙값이 흔들린다 —\n    announcements가 1~2건인 연도는 추이로 읽지 말고, 평형대를 고정하려면\n    exclusive_m2_min/max(국평=80~85)를 써라.\n\n    이 축의 자리: 개별 공고의 적정성(분양가 vs 실거래)은 realty_presale_vs_market,\n    실거래 가격 추이는 realty_region_price_stats — 이 도구는 **분양가끼리의 시계열**이다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시도 (예: 서울, 경기, 세종)","title":"Region"},"sigungu":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시군구 정확한 이름 (예: 평택시). ⚠️세종은 오염돼 있으니 keyword를 쓰라","title":"Sigungu"},"keyword":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"단지명·공급 주소 부분일치 (예: '고덕', '동탄') — 동네·지구 단위 추이는 이걸로","title":"Keyword"},"exclusive_m2_min":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"전용면적 하한(㎡) — 국평만 보려면 80","title":"Exclusive M2 Min"},"exclusive_m2_max":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"전용면적 상한(㎡) — 국평만 보려면 85","title":"Exclusive M2 Max"}},"additionalProperties":false,"title":"realty_presale_price_trendArguments"}},{"name":"realty_presale_vs_market","description":"청약(분양) 공고의 분양가가 주변 실거래 시세 대비 싼지/비싼지를 주택형별로 계산한다.\n    \"이 청약 넣을 만해?\", \"분양가 적정해?\"류 질문의 정량 근거 — 웹검색으로는 못 하는\n    분양가×실거래 조인 계산이 이 도구의 존재 이유다.\n\n    공고 특정: house_manage_no가 없으면 region+keyword로 검색하고, 여러 건이면\n    후보 목록을 돌려주니 하나를 골라 다시 호출하라(추측해서 고르지 않는다).\n    한계(지어내지 말 것): 실거래 평균은 해당 지역 全단지(구축 포함) 기준이라 신축\n    프리미엄이 반영되지 않았다. 청약 경쟁률·당첨 가점 커트라인은 이 도구가 아니라\n    realty_subscription_odds에 있다(\"넣을 만해?\"엔 둘을 같이 써라).\n    기준선 우선순위: market_avg는 **이상치 미필터** 지역 평균이다 — 결론에는\n    comparison_by_size[].comparable_complexes(반경 내 급 맞는 단지 실거래)를 우선하고,\n    지역 수준 교차확인은 realty_area_price_bands(이상치 필터·중앙값)로 하라.\n    이 도구는 **현재 공고 1건의 적정성**이다 — 같은 지역 공고들의 분양가 시계열\n    (\"기다릴수록 얼마씩 올랐나\")은 realty_presale_price_trend.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시도 (예: 서울, 경기, 세종)","title":"Region"},"keyword":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"단지명·주소 부분일치 (예: '우미린', '5-2생활권', '다솜동')","title":"Keyword"},"house_manage_no":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"realty_presale 응답의 공고 관리번호 — 알면 이걸로 특정하는 게 정확","title":"House Manage No"},"months":{"default":12,"description":"실거래 비교 창(개월) (허용 범위 3~24)","maximum":24,"minimum":3,"title":"Months","type":"integer"},"pyeong":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"default":null,"description":"대조할 전용평(정수)을 직접 고른다 — 예: [26]이면 국민평형 84㎡만. 안 주면 **세대수 많은 순 상위 5개** 평형을 자동으로 고른다. comparison_truncated에 빠졌다고 적힌 평형은 이 인자로 되받아 부르면 된다(공시만 하고 길이 없으면 막다른 골목이다)","title":"Pyeong"}},"additionalProperties":false,"title":"realty_presale_vs_marketArguments"}},{"name":"realty_reconstruction","description":"[유료] 건령·거래활성 기반 재건축 **후보 스크리닝** 상위 단지를 조회한다.\n\n    점수 = 건령(최대 70, 30년 연한 기준) + 최근 12개월 거래활성 전국 백분위(최대 30).\n    사업성(용적률·대지지분·안전진단·조합 단계)은 반영되지 않는다 — 후보 발굴용이지\n    투자 판단 근거가 아니며, 응답의 disclaimer를 사용자에게 그대로 전하라.\n    (구버전 점수 포화로 2026-07-30 보류했다가 산식 v2 재계산 검증 후 재개 — DATA-060)\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"district":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"지역명 (예: 서울, 구로구). 비우면 전국 상위","title":"District"},"limit":{"default":20,"maximum":50,"minimum":1,"title":"Limit","type":"integer","description":"(허용 범위 1~50)"}},"additionalProperties":false,"title":"realty_reconstructionArguments"}},{"name":"realty_redevelopment","description":"[유료] 서울시 정비사업(재개발·재건축·가로주택) 사업장 목록을 조회한다.\n\n    [유료] 서울시 정비사업(재개발·재건축·가로주택 등) 사업장 목록 — 사업명·유형·\n    진행 단계·위치. \"○○구 재개발 어디까지 진행됐어?\"류 질문용.\n\n    **커버리지는 서울 한정**(정보몽땅 원천) — 타 시도는 이 도구로 답할 수 없다고 밝혀라.\n    세대수·준공예정은 원천 목록이 제공하지 않아 null이다(지어내지 말 것). 진행 단계\n    필터는 미지원 — 결과의 stage 필드(한글: 조합설립인가·관리처분인가 등)로 판별하라.\n    재건축 **유망도 점수**는 이 도구가 아니라 realty_reconstruction이 담당하고,\n    \"지금 사면 조합원 지위 승계돼?\"는 realty_member_transfer_check(무료)가 담당한다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sigungu":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시군구 (예: 강남구). 비우면 서울 전체","title":"Sigungu"},"project_type":{"anyOf":[{"enum":["reconstruction","housing_redevelopment","urban_redevelopment","street_housing","small_reconstruction","small_redevelopment","regional_housing","remodeling"],"type":"string"},{"type":"null"}],"default":null,"description":"reconstruction=재건축, housing_redevelopment=재개발(주택정비형), urban_redevelopment=재개발(도시정비형), street_housing=가로주택정비, small_reconstruction=소규모재건축, small_redevelopment=소규모재개발, regional_housing=지역주택, remodeling=리모델링. 비우면 전체","title":"Project Type"},"limit":{"default":30,"maximum":50,"minimum":1,"title":"Limit","type":"integer","description":"(허용 범위 1~50)"},"offset":{"default":0,"description":"페이지네이션 오프셋","minimum":0,"title":"Offset","type":"integer"}},"additionalProperties":false,"title":"realty_redevelopmentArguments"}},{"name":"realty_redevelopment_burden","description":"재개발·재건축 조합원의 권리가액과 추가 분담금을 계산한다.\n\n    재개발·재건축 조합원의 권리가액과 추가 분담금(또는 환급금)을 결정론으로 계산한다 —\n    권리가액 = 종전자산 감정평가액 × 비례율, 분담금 = 조합원분양가 − 권리가액.\n    \"감정평가 3억에 비례율 98%면 얼마 더 내?\"의 자리다.\n\n    경계를 지켜라: ① 입력 전부 **선언**이다 — 감정평가액·비례율은 조합 자료에서 가져와야\n    하고 서버는 검증하지 않는다. ② 이 산식은 법정 산식이 아니라 통용 실무 산식이며,\n    비례율은 관리처분인가 전엔 추정치라 준공까지 계속 변한다 — 응답의 sensitivity(비례율\n    ±10%p 스윙)와 disclosures를 반드시 함께 전하라. ③ 산식 출처·변동 함정의 원문은\n    realty_policy_rules(topic=redevelopment_rules)의 proportion_formula가 진실원이다.\n    분양자격 자체가 불확실하면 topic=redevelopment_entitlement(갈림길 지도)부터.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"prev_asset_value_10k":{"description":"조합원 종전자산 감정평가액(만원) — 감정평가 결과이지 시세가 아니다","exclusiveMinimum":0,"title":"Prev Asset Value 10K","type":"integer"},"member_sale_price_10k":{"description":"받으려는 주택형의 조합원분양가(만원)","exclusiveMinimum":0,"title":"Member Sale Price 10K","type":"integer"},"proportion_rate_pct":{"anyOf":[{"exclusiveMinimum":0,"maximum":300,"type":"number"},{"type":"null"}],"default":null,"description":"비례율(%, 예: 102.5) — 조합 총회 자료·관리처분계획의 값을 선언. 없으면 아래 사업 전체 3종으로 계산한다 (허용 범위 0 초과~300)","title":"Proportion Rate Pct"},"total_post_asset_10k":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"종후자산 평가총액=분양수입 총액(만원) — 비례율을 직접 계산할 때","title":"Total Post Asset 10K"},"total_project_cost_10k":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"총사업비(만원) — 비례율을 직접 계산할 때","title":"Total Project Cost 10K"},"total_prev_asset_10k":{"anyOf":[{"exclusiveMinimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"종전자산 평가총액(만원) — 비례율을 직접 계산할 때","title":"Total Prev Asset 10K"}},"required":["prev_asset_value_10k","member_sale_price_10k"],"additionalProperties":false,"title":"realty_redevelopment_burdenArguments"}},{"name":"realty_region_price_stats","description":"지역의 아파트 실거래 시세 **추이**(월별)를 조회한다. 경매가가 싼지 판단하는 기준선이 된다.\n\n    **이 축의 자리(시세 도구 3종 중)**: 월별 흐름·방향이 필요할 때 이걸 쓴다. 지역의\n    가격 **수준**을 인용할 거면 realty_area_price_bands를 쓰라 — 이 축은 이상치(지분·\n    증여성 직거래)가 필터되지 않아 평균이 눌리며, **두 도구 값이 갈리면 bands 쪽이\n    정상 매매에 가깝다**(세종 소형 실측 4,400만원 차). 단지가 특정된 질문(\"○○아파트\n    얼마야\")은 realty_search_complexes가 기본이다 — 지역 평균은 단지 간 편차(같은 동\n    같은 평형에서 단지 평균 24% 차)를 뭉갠다.\n\n    region은 시군구명(예: '강남구') 또는 **법정동까지**(예: '강남구 대치동',\n    '세종특별자치시 나성동') — 세종처럼 시군구가 하나인 도시는 동 단위로 좁혀야 신도심·\n    구도심이 섞이지 않는다(2026-08-08, 8/7 테스터 제안 수용). 동명 지역이 여럿이면\n    시도를 앞에 붙여라 — 안 붙이면 거래량 최다 지역 기준으로 답하고 region_candidates로\n    나머지 후보를 실토한다(그 목록을 사용자에게 전달할 것).\n    metric: price(매매) | rental(전월세). rental도 **months 창 월별 추이**(monthly_trend:\n    전세 평균·중앙, 월세 보증금·월세, 건수 분리)를 준다 — \"전세 떨어지는 중이야?\",\n    역전세 판단용(입주 물량은 realty_move_in_supply와 조합). 상단 필드는 최신월 스냅샷.\n    **rental엔 평형 인자가 안 먹는다** — 전월세 통계는 평형별로 나뉘어 있지 않아\n    pyeong_exclusive·pyeong_supply·area_m2_* 를 줘도 전체 평형 기준 값이 오고\n    warning_pyeong_fallback으로 실토한다(값이 잘못 나가는 게 아니라 **다른 모수**다).\n    평형별 전월세가 필요하면 단지 단위 realty_complex_rent_by_pyeong으로 가라.\n\n    **면적은 사용자가 말한 단위 그대로 넣어라 — 환산은 서버가 한다**(2026-08-22 제보):\n    - ㎡로 말했으면 → area_m2_exclusive(전용 84㎡ → 84) / area_m2_supply(공급 112.8㎡ → 112.8)\n    - 평으로 말했으면 → pyeong_supply(분양 \"34평\") / pyeong_exclusive(전용 실평수 25.4평)\n    ㎡ 값을 평 인자에 넣으면 조용히 환산하지 않고 사유와 두 방향 출구를 적어 거절한다.\n\n    **가격순 '목록'이 필요하면 top_n을 준다**(2026-09-07 외부 신고 T-2026W34-352):\n    \"강남구 신고가 상위 5개\"·\"제일 비싸게 팔린 아파트\"처럼 개별 거래를 나열하는 질문은\n    이 인자 없이는 답이 안 나온다 — 종전엔 그런 질문이 이 도구로 라우팅된 뒤 집계\n    (최고/평균/중앙)만 받고 목록을 못 줬다. top_transactions에 단지·평형·금액·계약일·층이\n    온다. **다만 그것은 '창 안의 고가 거래'이지 신고가(역대 최고가 경신)가 아니다** —\n    그 경계는 top_n을 준 응답이 같은 블록에서 적는다(이 도구 설명은 필드 이름을 대지\n    않는다 — 조건부로만 실리는 키를 설명이 무조건 지목하면 top_n 없이 부른 응답에서\n    없는 이름을 찾게 만든다, S364).\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"region":{"description":"지역명 — 시군구까지(예: '강남구', '수원시 권선구') 또는 **법정동까지**(예: '강남구 대치동', '세종특별자치시 나성동'). 시도 약칭은 서버가 정식명으로 펴지만('서울 마포구' → '서울특별시 마포구'), 동명 지역이 여럿이면 시도를 앞에 붙여라 — 안 붙이면 거래량 최다 지역으로 답하고 나머지 후보를 region_candidates로 실토한다. 단지명은 여기 넣지 마라(단지는 realty_search_complexes·realty_complex_pyeong_price 담당)","title":"Region","type":"string"},"metric":{"default":"price","description":"price=매매, rental=전월세. **평형 인자(pyeong_exclusive·pyeong_supply·area_m2_exclusive·area_m2_supply)는 price에서만 먹는다** — 전월세(metric='rental') 통계는 평형별로 나뉘어 있지 않아 평형 인자가 적용되지 않는다(전체 평형 값이 오고 warning_pyeong_fallback으로 실토한다). 평형별 전월세는 단지 단위 realty_complex_rent_by_pyeong으로 조회하라","enum":["price","rental"],"title":"Metric","type":"string"},"months":{"default":12,"description":"조회 개월 수 (허용 범위 1~60)","maximum":60,"minimum":1,"title":"Months","type":"integer"},"pyeong_exclusive":{"anyOf":[{"exclusiveMinimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"전용면적 기준 **실평수(평)** — ㎡가 아니다. 전용 84㎡면 25.4를 넣는다. **사용자가 ㎡로 말했으면 이 인자가 아니라 area_m2_exclusive를 쓰라** (㎡ 값을 여기 넣으면 60평 초과로 거절된다). 1평=3.3058㎡ **전월세(metric='rental') 통계는 평형별로 나뉘어 있지 않아 평형 인자가 적용되지 않는다** — 주면 전체 평형 기준 값이 오고 warning_pyeong_fallback으로 실토한다. 평형별 전월세는 단지 단위 realty_complex_rent_by_pyeong으로 조회하라.","title":"Pyeong Exclusive"},"pyeong_supply":{"anyOf":[{"exclusiveMinimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"분양평수(공급면적, 평) — 흔히 말하는 '34평'이 이것이다. 내부에서 ×0.745로 전용 실평수로 환산한다. **㎡로 말했으면 area_m2_supply를 쓰라** **전월세(metric='rental') 통계는 평형별로 나뉘어 있지 않아 평형 인자가 적용되지 않는다** — 주면 전체 평형 기준 값이 오고 warning_pyeong_fallback으로 실토한다. 평형별 전월세는 단지 단위 realty_complex_rent_by_pyeong으로 조회하라.","title":"Pyeong Supply"},"area_m2_exclusive":{"anyOf":[{"exclusiveMinimum":0,"maximum":500,"type":"number"},{"type":"null"}],"default":null,"description":"전용면적을 **㎡ 그대로** 받는다(예: 84, 59, 114.98). 사용자가 '전용 84㎡'라고 말했으면 환산하지 말고 84를 여기 넣어라 — 서버가 평으로 환산하고 그 사실을 응답에 적는다. pyeong_exclusive와 동시에 주면 거절한다 **전월세(metric='rental') 통계는 평형별로 나뉘어 있지 않아 평형 인자가 적용되지 않는다** — 주면 전체 평형 기준 값이 오고 warning_pyeong_fallback으로 실토한다. 평형별 전월세는 단지 단위 realty_complex_rent_by_pyeong으로 조회하라. (허용 범위 0 초과~500)","title":"Area M2 Exclusive"},"area_m2_supply":{"anyOf":[{"exclusiveMinimum":0,"maximum":800,"type":"number"},{"type":"null"}],"default":null,"description":"공급(분양)면적을 **㎡ 그대로** 받는다(예: 112.8). pyeong_supply와 동시에 주면 거절한다 **전월세(metric='rental') 통계는 평형별로 나뉘어 있지 않아 평형 인자가 적용되지 않는다** — 주면 전체 평형 기준 값이 오고 warning_pyeong_fallback으로 실토한다. 평형별 전월세는 단지 단위 realty_complex_rent_by_pyeong으로 조회하라. (허용 범위 0 초과~800)","title":"Area M2 Supply"},"top_n":{"anyOf":[{"maximum":20,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"**가격순 상위 거래 '목록'을 함께 받는다**(1~20). '신고가 상위 5개', '제일 비싸게 팔린 아파트', '고가 거래 목록'처럼 **개별 거래를 나열**하는 질문이 이 인자다 — 안 주면 이 도구는 평균·중앙·최고 같은 **집계만** 답하고 목록은 못 준다. 행에 단지·전용면적·평형·금액·계약일·층이 실린다(top_transactions). metric='price'에서만 동작한다 (허용 범위 1~20)","title":"Top N"}},"required":["region"],"additionalProperties":false,"title":"realty_region_price_statsArguments"}},{"name":"realty_region_rankings","description":"시군구 순위를 가격·상승률·전세가율 같은 축으로 조회한다.\n\n    지역(시군구) 순위를 조회한다 — \"제일 비싼 동네 어디야?\", \"요즘 많이 오른 지역은?\",\n    \"전세가율 높은 곳은?\"류 질문용.\n\n    price=거래량 가중 전용 평당가(최소 5건, 최신월은 집계 진행 중일 수 있음) ·\n    growth=전용 60-85㎡ 고정 YoY(평형 구성 왜곡 제거) · transit/school=단지 점수의 시군구\n    평균. **investment는 원천 정지·기준월 혼재로 보류 중**(호출 시 대안 안내 —\n    전세가율은 realty_rental_yield). 응답 methodology의 산식·단위를 답변에 반영하라.\n    비교 대상이 두어 곳으로 정해진 질문(\"A vs B 어디가 나아?\")은 [유료]\n    realty_compare_regions가 시세·추이를 나란히 준다 — 이 도구는 순위·탐색용이다.\n    **transit/school 점수는 realty_location_scores의 점수와 다른 판본이다**(응답\n    score_lineage) — 이 순위로 지역을 고르고 단지 점수는 그쪽에서 다시 보되, 두 숫자를\n    같은 축에 놓고 비교하지 마라.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"metric":{"description":"price=전용 평당가 / growth=연간 상승률 / investment=전세가율·갭투자 / transit=교통 점수 / school=학군 점수","enum":["price","growth","investment","transit","school"],"title":"Metric","type":"string"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시도명(예: 부산)이면 그 시도 안 순위, 시군구명이면 해당 지역 필터. 비우면 전국","title":"Region"},"order":{"default":"desc","description":"desc=상위부터, asc=하위부터","enum":["desc","asc"],"title":"Order","type":"string"},"limit":{"default":20,"maximum":50,"minimum":1,"title":"Limit","type":"integer","description":"(허용 범위 1~50)"}},"required":["metric"],"additionalProperties":false,"title":"realty_region_rankingsArguments"}},{"name":"realty_region_trend_basket","description":"지역 가격 추이를 **양쪽 창에 모두 거래가 있는 동일 단지들로만** 계산한다.\n\n    **왜 필요한가**: 구 월평균 추이는 '가격이 변한 것'과 '팔린 단지가 바뀐 것'을 구분하지\n    못한다. 표본이 얇으면 후자가 지배하는데, 그걸 시세 변동으로 읽으면 오답이다\n    (2026-08-14 실사고: 용산 33평 월 1~7건 표본으로 '전년 대비 −9.6%'를 만들었다).\n\n    이 도구는 **naive(전체 평균 변화)와 basket(동일 단지 변화)을 나란히** 주고 그 차이를\n    `composition_effect`로 보여준다 — 차이가 크면 그 지역 평균 추이는 구성 잡음이다.\n    단지별 값은 **평당가**라 단지 안의 평형 구성 변화도 흡수한다.\n\n    한계를 반드시 함께 전하라: 바스켓이 얇으면(단지 수가 적으면) 이 값도 못 믿는다.\n    취소·직거래는 제외했고, 단지 내 동·층 구성 변화까지는 보정하지 못한다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"region":{"description":"시군구명 (예: 용산구, 성동구). **여러 시도에 같은 이름이 있는 시군구**(중구·동구·서구·남구·북구·강서구)는 시도를 함께 주라(예: '서울 중구') — 안 주면 합치지 않고 후보를 실토하며 거절한다","title":"Region","type":"string"},"window_months":{"default":6,"description":"비교 창 하나의 길이(개월). 최근 N개월 vs 그 직전 N개월을 비교한다 (허용 범위 1~12)","maximum":12,"minimum":1,"title":"Window Months","type":"integer"},"min_tx_per_complex":{"default":1,"description":"바스켓에 넣을 단지의 창당 최소 거래 건수 — 1이면 바스켓이 커지지만 단지별 값이 한 건에 좌우된다 (허용 범위 1~10)","maximum":10,"minimum":1,"title":"Min Tx Per Complex","type":"integer"},"pyeong_supply":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"분양평(사용자가 말하는 '34평') 필터 — ±3평 창으로 거른다. **좁힐수록 바스켓이 얇아져** 고정 바스켓의 이점이 사라지니 응답의 바스켓 단지 수를 반드시 확인하라 (허용 범위 1~200)","title":"Pyeong Supply"},"pyeong_band":{"default":3,"description":"pyeong_supply 기준 허용 폭(±평). 넓히면 바스켓이 커지고 평형 혼합이 늘어난다 (허용 범위 1~10)","maximum":10,"minimum":1,"title":"Pyeong Band","type":"integer"}},"required":["region"],"additionalProperties":false,"title":"realty_region_trend_basketArguments"}},{"name":"realty_remodel_feasibility","description":"이 아파트를 벽·배관 기준으로 고칠 수 있는지 판단할 재료를 준다.\n\n    **\"이 아파트를 내가 원하는 대로 고칠 수 있나\"**에 답하는 자리 — 두 축이다:\n    **①벽**(내력벽을 헐어 방을 틀 수 있나) **②배관**(층상/층하 — 욕실·주방을 옮길 수 있나).\n\n    \"벽식구조면 리모델링 못 하죠?\"·\"내력벽 철거 2016년에 허용되지 않았나요?\"·\"욕실 위치\n    바꿀 수 있나요?\"·\"인테리어 하는데 구청 가야 하나요?\"가 이 도구의 질문이다.\n    **모델이 학습 데이터로 자신 있게 틀리는 자리**라 조문 원문을 값으로 준다 —\n    통설 둘(\"2016년 유예로 내력벽 철거 허용\", \"벽식=개인 리모델링 불가\")이 **둘 다 틀렸고**,\n    이 도구가 그것을 조문으로 깬다.\n\n    답은 두 층으로 온다. **①규범 층은 커버리지 100%**(근거=법령 원문·시행일)이고 단지를\n    몰라도 답이 된다 — 전문은 realty_policy_rules(topic='unit_alteration_rules').\n    **②단지 층은 분양 모집공고 원문 인용**이며 커버리지가 희박하다: 아카이브 2,851건 중\n    쪽 원문 보유 2,294건, 그중 구조형식 언급 258건(11.2%)·배관방식 선언 221건·가변성 등급\n    34건뿐이고 **2020~2026 분양 한정이라 기존(준공된) 아파트는 0% 덮는다.**\n    커버리지는 매 응답에 실린다 — 그대로 사용자에게 전하라.\n\n    **없으면 unknown이고, unknown은 '아니다'가 아니다.** 준공연도로 구조형식을 추정하지\n    마라(모집단 비율을 개별 사실로 둔갑시키는 것이다). 값이 없을 때는 막다르게 두지 말고\n    응답의 how_to_find_out(관리사무소 설계도서·구청 행위허가 상담 등 실제로 확인 가능한\n    경로)을 안내하라 — 그것이 이 도구의 값어치다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"complex_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"단지·공고명 일부 (공백 무관 매칭). **없어도 된다** — 비우면 법령 규범 층만 답한다(그것만으로도 통설 오답을 막는다)","title":"Complex Name"},"house_manage_no":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"공고 관리번호 (realty_presale·realty_notice_facts 응답의 house_manage_no)","title":"House Manage No"},"axis":{"default":"both","description":"both=벽+배관(기본), wall=내력벽·평면 변경만, plumbing=상하수도·욕실 이동만","enum":["both","wall","plumbing"],"title":"Axis","type":"string"}},"additionalProperties":false,"title":"realty_remodel_feasibilityArguments"}},{"name":"realty_rental_yield","description":"[유료] 시군구별 월세 수익률·평균 매매가·평균 월세를 조회한다. 수익형 투자 스크리닝용.\n\n    기본 응답은 최신 완결월 1개월치를 수익률 내림차순으로 자른 것이다 — 전체 기간·전체\n    지역이 아니다(truncated 필드 확인). 특정 월은 year_month로 조회하라.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시도(예: 서울특별시) 또는 시군구(예: 강남구). 세종은 시 단위로 나온다","title":"Region"},"pyeong_supply":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"분양평수 20/25/34/40/50 중","title":"Pyeong Supply"},"year_month":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"YYYYMM (기본 최신 완결월)","title":"Year Month"},"limit":{"default":30,"description":"반환 행 수 — 수익률 내림차순 상위 N (허용 범위 1~50)","maximum":50,"minimum":1,"title":"Limit","type":"integer"}},"additionalProperties":false,"title":"realty_rental_yieldArguments"}},{"name":"realty_search_auctions","description":"법원경매 물건을 지역·종류·감정가·유찰횟수로 필터링해 조회한다.\n\n    **이 축의 자리** — 조건을 **값으로 아는** 검색이 이 도구다. 사용자의 자연어 한 줄밖에\n    없으면 `search`가 먼저다(질의에서 조건을 뽑아 준다). 개별 사건의 상세는 여기가 아니라\n    `realty_get_auction_case`(사건번호+법원명)·`fetch`(search가 준 id)다.\n\n    **이 도구는 법원경매(민사집행법·각급 법원)만 조회한다 — 공매는 여기가 아니다.**\n    공매(국세징수법·국유재산법 등, 한국자산관리공사 온비드)는 **이 서버에 따로 있다**:\n    물건은 `realty_search_onbid`, 낙찰가율은 `realty_onbid_sale_rate`\n    (2026-08-22 적재 — 물건 25,669개 · 최근 3개월 개찰 결과 113,673행).\n    여기서 안 나온다고 \"그런 물건 없다\"고 답하지 말고 **공매 도구로 다시 걸어라.**\n    구분 신호는 번호 형식이다 — 법원 사건번호는 `2025타경1234`, 공매 물건관리번호는\n    `2026-0600-031235`(하이픈 세 토막·'타경' 없음)다.\n    **두 원장을 합쳐 세거나 낙찰가율을 섞어 평균내지 마라** — 근거법·주관기관·권리 인수\n    규칙·저감 방식이 다르다.\n\n    감정가(min_price_10k/max_price_10k)는 **만원** 단위다 — 5억은 50000.\n    유찰이 많을수록 최저입찰가가 감정가 대비 낮아진다(`min_bid_rate`가 그 비율).\n\n    ⚠️ **이 목록에는 매각기일이 이미 지난 행이 섞여 있다**(백엔드가 기일로 걸러주지\n    않는다 — 인천 아파트 3억 이하 실측 48건 중 43건이 지난 기일). 지난 기일 행에는\n    `past_auction_note`가 붙고 응답의 `past_auction_count`가 그 페이지의 건수다.\n    \"지금 살 수 있어?\"류 질문이면 `exclude_past=true`로 걸러라 — 지난 기일 물건은\n    매각·취하됐거나 다음 기일이 아직 반영되지 않은 것이라 현재 매물로 인용하면 오답이다.\n\n    ⚠️ **`sort=date_asc`(기일 임박 순)는 지난 기일이 목록 앞쪽을 통째로 차지한다**\n    (2026-08-21 실측 94,279건 중 앞 57,241건=60.7%). `exclude_past=true`면 서버가 그\n    접두를 건너뛰고 읽으므로 첫 호출부터 실물이 온다 — 건너뛴 행 수는\n    `meta.past_prefix_skipped`, 실제로 읽은 자리는 응답의 `offset`(요청값은\n    `requested_offset`)이다. **items가 비어도 `has_more`가 true면 '조건에 맞는 물건이\n    없다'는 뜻이 아니다** — 그 창이 전부 지난 기일이었을 뿐이니 `next_offset`으로\n    이어서 호출하라. note가 둘 중 어느 쪽인지 매번 말한다.\n\n    ⚠️ **최저입찰가는 출처를 반드시 확인해라** — 건별 `min_bid_source`가 붙는다.\n      · `court_schedule` — 법원 기일표 정본이다. 그대로 믿어도 된다(활성의 28.8%).\n      · `item_list` — 물건목록값이다. 유찰이 있으면 **저감 한 단계만큼 낡아 실제보다\n        높을 수 있다**(2026-08-04 실측: 유찰 1회 이상에서 정본과 3%만 일치, 25~43% 과대).\n        이 경우 `min_bid_note`가 함께 온다. 사용자에게 단정적으로 말하지 말고 그 한계를\n        전해라. 저감률로 역산해 추정하지 마라 — 재감정으로 최저가가 **오르는** 사건도 있다.\n    응답의 `min_bid_stale_risk_count`가 그 페이지에서 낡았을 수 있는 건수다.\n    회차별 정확한 가격은 realty_auction_history의 court_schedule에 있다.\n\n    목록에는 요약 필드만 담긴다. 특정 물건의 전체 정보(면적·법원 계·주소 상세 등)는\n    돌아온 id로 realty_get_auction_case를 호출해 받아라.\n    \"유찰 많이 돼 싸진 물건 찾아줘\"류 발굴 질문은 realty_auction_alerts가 지름길이다\n    (min_fail_count로 여기서 걸러도 같은 축 — 결과를 합쳐 세지 마라).\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sido":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시도. '서울'처럼 줄여 써도 되고 '서울특별시'도 된다. ⚠️ '광주'는 광주광역시와 경기도 광주시 둘 다라 **한쪽으로 읽지 않고 거절한다**(error='sido_ambiguous') — 광역시면 '광주광역시', 경기도 광주시면 sido='경기도'·sigungu='광주시'로 갈라 넣어라.","title":"Sido"},"sigungu":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시군구 (예: 강남구, 성남시)","title":"Sigungu"},"usage_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"물건 종류 — 원장 값 예: 아파트·오피스텔·다세대·연립주택·단독주택·다가구주택·근린시설·상가·대지·임야·전답. 부분일치라 '빌라'는 '연립주택,다세대,빌라' 행에 걸린다. **'토지'는 이 원장에 없는 이름이다** — 대지·임야·전답으로 나뉘어 있어 그대로 넣으면 서버가 사유와 유효값 목록을 들어 거절한다. 비우면 전 종류","title":"Usage Name"},"min_price_10k":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"최소 감정가, **만원** 단위 (5억이면 50000)","title":"Min Price 10K"},"max_price_10k":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"최대 감정가, **만원** 단위","title":"Max Price 10K"},"min_bid_count":{"anyOf":[{"maximum":100,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"최소 유찰 횟수. 유찰이 쌓일수록 최저입찰가가 내려간다. (허용 범위 0~100)","title":"Min Bid Count"},"exclude_past":{"default":false,"description":"매각기일이 이미 지난 행 제외 여부. 기본 False(전체 반환 — 지난 기일 행에는 past_auction_note 플래그가 붙는다). '지금 입찰 가능한 물건' 질문이면 True로 호출하라 — 오늘 이후 기일(기일 미정 포함)만 남는다.","title":"Exclude Past","type":"boolean"},"sort":{"default":"date_desc","description":"정렬 기준","enum":["date_desc","date_asc","price_asc","price_desc","bid_count_desc"],"title":"Sort","type":"string"},"limit":{"default":20,"description":"반환 개수 (최대 50) (허용 범위 1~50)","maximum":50,"minimum":1,"title":"Limit","type":"integer"},"offset":{"default":0,"description":"페이지 오프셋. has_more가 true면 next_offset으로 다시 호출하라.","minimum":0,"title":"Offset","type":"integer"}},"additionalProperties":false,"title":"realty_search_auctionsArguments"}},{"name":"realty_search_complexes","description":"아파트 단지를 이름·지역으로 검색하고 **평형별 실거래 시세**를 함께 돌려준다.\n    \"○○아파트 34평 얼마야\"류 단지 질문의 1차 도구다. query·region 중 하나는 필수.\n\n    **이 축의 자리(시세 도구 3종 중)**: 단지가 특정되면 **이게 기본**이다. 지역 평균\n    도구들(realty_region_price_stats·realty_area_price_bands)은 단지 간 편차를 뭉개므로\n    단지 질문에 쓰지 마라 — 같은 동 같은 평형에서 단지 평균이 24% 벌어진 실측이 있다\n    (동 평균 3.96억으로 답했다가 대장 단지 호가와 1억 어긋난 사고). 반대로 지역 전체의\n    수준·추이 질문이면 저 둘로 가라.\n\n    prices_by_area가 평형별 시세다 — pyeong_exclusive(전용평)와 pyeong_supply_est(분양평\n    어림)를 병기하므로, 사용자가 말한 \"34평\"(보통 분양평)은 pyeong_supply_est로 맞춰 답하라.\n    단지 수준 avg_price는 전 평형이 섞인 평균이니 평수 질문에 쓰지 말 것.\n    층별(저층/고층/RR) 시세·프리미엄 질문은 realty_complex_pyeong_price로 —\n    거기 층 밴드별 집계(price_by_floor_band)가 있다(이 도구엔 층 축이 없다).\n    응답의 complex_key는 realty_complex_rent_by_pyeong·[유료] 단지 도구들에 그대로 넣는 키다.\n\n    **단지끼리 급을 견줄 때는 price_per_exclusive_m2(전용 ㎡당 실거래 단가)를 축으로 쓰라**\n    — 행마다 실리고, **sort='unit_price'로 그 순서대로 받을 수 있다**(백엔드에 없는 축이라\n    이 응답에 실린 행만 다시 세운 것이다 — sort_applied.scope 참조). 행의 scores\n    (composite·convenience)는 걸어서 닿는 **시설의 개수**이지 선호도가 아니다(직선거리만\n    세어 간선도로 횡단 같은 보행 장벽을 못 본다) — 그 점수로 단지에 줄을 세워 추천하지\n    마라. 응답의 scores_meaning·unit_price_axis에 근거가 있다.\n\n    **견줄 때는 조건을 맞춰라 — 두 인자가 그 수단이다.** ㎡단가는 평형이 작을수록,\n    준공이 새로울수록 높다(⚠️ **전국 중앙값 이야기다** — 서울은 구축이 더 비싼 동이 28.0%다).\n    `area_band_m2=59`면 각 단지의 대표 단가가 **전용 59±3㎡ 행만으로** 다시 계산되고,\n    `construction_year_band=2018`이면 2013~2023년 준공 단지가 비교군으로 표시된다\n    (in_year_band). 연식이 더 지배적이다 — 법정동 안 ρ 중앙값이 연식 +0.7298 대\n    평형 +0.2245라, 연식이 섞인 ㎡단가 순위는 **사실상 신축 순**이 되기 쉽다. 두 인자 모두\n    **가격 계산·비교군 표시에만** 걸리고 단지 검색을 거르지 않는다(못 잰 단지는 목록에\n    남고 값이 null + 사유다). 몇 개를 쟀고 몇 개를 못 쟀는지는 응답의 coverage가 적는다.\n\n    **0.84.0부터 scores.composite는 school + convenience다**(transit을 뺐다 — 전국 실측에서\n    고유값의 86.8%가 90~100에 몰려 변별력이 없고, 합산에 넣으면 법정동 격자 ρ 중앙값이\n    0.0825→0.0654로 떨어졌다). 백엔드 원장의 옛 가중평균 값은 **composite_legacy로 병기**하니 이전 응답과\n    견줄 때 그쪽을 쓰라 — 두 값은 척도가 다르다(가중평균 대 단순합).\n\n    **세대수 조건은 min_households·max_households가 받는다**(2026-09-07 외부 신고\n    T-2026W34-351): \"500세대 이상\", \"1,000세대 넘는 대단지\", \"300세대 이하 소규모\"는\n    이 인자로 넣어라 — 종전엔 전달할 자리가 없어 그 질문이 통째로 실패했다. 행마다\n    households가 실린다. **households가 null인 단지는 세대수가 원장에 없는 것이지\n    작은 단지가 아니다** — 그래서 세대수 조건을 걸면 그 단지들은 크든 작든 제외되고,\n    몇 건이 그렇게 빠졌는지는 meta.households_scope가 적는다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"단지명 일부 (예: 래미안, 마포래미안푸르지오)","title":"Query"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시군구명 (예: 마포구, 서울특별시 마포구). **법정동까지 넣어도 된다**(예: '강남구 대치동') — 백엔드는 동으로 거르고 나머지 토큰은 서버가 검증해 note에 적는다. 종전 설명이 시군구만 적어 **이 도구가 못 하는 일로 읽혔고**, 동 단위를 원한 모델이 비아파트 도구로 새던 자리다(2026-08-23 PlayMCP QA)","title":"Region"},"min_households":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"**세대수 하한** — '500세대 이상', '대단지'를 여기에 넣는다(예: 500). 세대수가 원장에 없는 단지는 이 조건에서 제외되고 그 건수를 meta.households_scope로 실토한다(미상 ≠ 소규모)","title":"Min Households"},"max_households":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"세대수 상한 — '300세대 이하 소규모'처럼 위쪽을 자를 때. min_households와 함께 주면 구간이 된다","title":"Max Households"},"sort":{"default":"name","description":"name=이름순(거래량 많은 순), price=평균가 **높은** 순(전 평형 혼합 평균이라 큰 평형이 많은 단지가 앞에 온다), year=준공연도 **최신순(내림차순 — 신축이 먼저)**, **unit_price=전용 ㎡당 실거래 단가 높은 순** — 단지 간 급·선호를 견주는 축이다(못 잰 단지는 맨 뒤). ⚠️ unit_price는 백엔드에 없는 축이라 **이 응답에 실린 행만** 다시 세운 것이다 — total이 이 페이지보다 크면 '이 지역 ㎡단가 상위 N'으로 인용하지 마라(sort_applied.scope='page_only'가 그 사실을 값으로 싣는다). ⚠️ **오래된 순 정렬은 이 도구에 없다** — '오래된 단지'·'재건축 후보'를 찾는 조회에 sort='year'를 쓰면 정확히 반대 결과가 온다(정비사업 축은 realty_reconstruction·realty_redevelopment)","enum":["name","price","year","unit_price"],"title":"Sort","type":"string"},"area_band_m2":{"anyOf":[{"exclusiveMinimum":0,"maximum":500,"type":"number"},{"type":"null"}],"default":null,"description":"**평형을 고정해 단지끼리 견줄 때** 넣는다(전용면적 ㎡ — 분양면적이 아니다). 예: '59㎡대로 맞춰서 비교' → 59. 전용 ±3.0㎡ 근사 매칭이고(원장 면적이 59.224·59.9처럼 단지마다 달라 정확 일치는 대부분 0건이다), 각 단지의 price_per_exclusive_m2가 **그 밴드 안 평형 행만으로 다시 계산된다**. ⚠️ 이 인자는 **가격 계산에만** 걸리고 단지 검색을 거르지 않는다 — 밴드에 거래가 없는 단지도 목록에 그대로 실리고 그 값은 null + 사유다. 밴드에 든 행에는 in_area_band=true가 붙는다 (허용 범위 0 초과~500)","title":"Area Band M2"},"construction_year_band":{"anyOf":[{"maximum":2100,"minimum":1900,"type":"integer"},{"type":"null"}],"default":null,"description":"**연식을 맞춰 단지끼리 견줄 때** 넣는 기준 준공연도. 예: 2018 → 2013~2023년 준공(±5년, 폭 10년)이 비교군이 된다. **연식은 ㎡단가를 가장 강하게 끄는 축이다** — 법정동 안에서 준공연도와 ㎡단가의 순위상관 ρ 중앙값이 +0.7298로 평형(+0.2245)·입지점수(+0.0707)보다 지배적이라, 연식이 섞인 비교는 사실상 '신축 순'이 되기 쉽다(⚠️ 방향은 지역마다 반대일 수 있다 — **서울은 ρ +0.3833이고 구축이 더 비싼 동이 28.0%, 세종은 36.8%**다. 재건축 기대가 가격에 들어간 U자 구간이다). ⚠️ 이 인자도 검색을 거르지 않는다 — 밴드 밖 단지는 목록에 남고 행마다 in_year_band로 갈라 적힌다(준공연도가 원장에 없으면 null: **판정 불가이지 구식이 아니다**). area_band_m2와 함께 주면 둘 다 걸린다 (허용 범위 1900~2100)","title":"Construction Year Band"},"limit":{"default":5,"description":"단지 수 — 평형별 시세가 포함돼 응답이 무겁다. 최대 20이고 더 받으려면 limit을 올리지 말고 **page를 넘겨** 이어 받아라(응답의 total이 전체 건수다 — 다만 서버가 지역 토큰을 뒤에서 검증한 경로에서는 total이 null이고 meta.total_unavailable이 사유를 적는다. 그리고 **sort='unit_price'로 받은 응답이 잘렸으면 page로 이어받을 수 없다** — sort_applied.page_continuation이 그 사실을 값으로 싣는다). 요청분을 다 실으면 응답이 크기 상한을 넘는 경우 **실제 반환 수를 줄이고 meta.size_capped**에 총계·이어받는 호출을 값으로 싣는다 — 조용히 자르지 않는다 (허용 범위 1~20)","maximum":20,"minimum":1,"title":"Limit","type":"integer"},"page":{"default":0,"description":"0부터 시작하는 페이지 번호","minimum":0,"title":"Page","type":"integer"},"period_months":{"anyOf":[{"maximum":24,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"가격 집계 기간(개월). 비우면 2024-01 이후 전체 (허용 범위 1~24)","title":"Period Months"}},"additionalProperties":false,"title":"realty_search_complexesArguments"}},{"name":"realty_search_onbid","description":"한국자산관리공사 **온비드 공매** 물건을 지역·용도·재산구분·감정가로 조회한다.\n\n    법원경매가 아니다. 공매는 국세징수법(압류재산)·국유재산법·공유재산법에 따른 처분이고\n    주관은 캠코다 — 아래 '이 축의 자리'와 응답의 `not_court_auction`을 반드시 함께 전하라.\n\n    **이 축의 자리** — 공매 축은 도구가 둘뿐이다. 물건을 찾고 회차별 최저가 일정을 보는\n    것이 이 도구, \"보통 감정가의 몇 %에 낙찰되나\"는 realty_onbid_sale_rate다.\n    **법원경매를 물었다면 여기가 아니라 realty_search_auctions**이고, 사건번호에 '타경'이\n    들어 있으면 그쪽이다. 사용자가 그냥 \"경매\"라고만 했으면 **어느 쪽인지 되물어라** —\n    둘을 합쳐 세거나 섞어 평균내면 그 답은 틀린다.\n\n    **행이 물건이 아니다.** 원장의 한 행은 물건이 아니라 **공매조건(회차)**이다 — 한 물건이\n    1~10회차 입찰 일정을 미리 갖고 회차마다 최저입찰가가 내려간다(실측: 물건당 3.51행).\n    이 도구는 **물건 단위로 접어서** 돌려준다: `rounds_total`(전체 회차)·`rounds_remaining`\n    (마감 전 회차)·`next_round`(다음 입찰 회차의 기간과 최저입찰가)·`last_round`(마지막\n    예정 회차 = 더 안 팔리면 도달하는 바닥값). 응답의 `condition_rows`가 접기 전 행 수다 —\n    **행 수를 물건 수로 인용하지 마라**(71% 과대).\n\n    ⚠️ **최저입찰가 '비공개'** — 원문이 숫자가 아니라 '비공개'인 회차가 있다(529행).\n    그 회차의 금액은 **null**이지 0이 아니다. `min_bid_undisclosed_rounds`가 그 수이고,\n    평균·최저값 계산에서 빠져 있다.\n\n    ⚠️ **압류재산 주소는 번지가 가려진다** — 결과 원장 기준 압류재산의 61.7%가\n    '강원특별자치도 춘천시 ***********' 꼴이다. 물건 목록 쪽은 번지까지 나오지만\n    (실측 마스킹 0건), 같은 물건을 결과에서 다시 찾을 때는 시군구까지만 유효하다.\n\n    ⚠️ **시도 표기를 우리가 손봤다** — 원천에 '전남광주통합특별시' 같은 통합 표기가 7,757행\n    있어 시군구로 분해해 `sido`에 넣었다. 손보기 전 원문은 `sido_source`, 분해 근거는\n    `sido_basis`('as_is' = 원문 그대로 / 'split_by_sgg' = 시군구로 갈랐다)에 있다.\n\n    권리분석·감정평가서·공고 원문은 이 원장에 없다. 공매의 권리 인수 규칙은 법원경매와\n    다르므로 realty_policy_rules(민사집행법 기준)의 답을 여기에 옮기지 마라.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sido":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시도. '서울'처럼 줄여 써도 되고 '서울특별시'도 된다. ⚠️ '광주'는 광주광역시와 경기도 광주시 둘 다라 **한쪽으로 읽지 않고 거절한다**(error='sido_ambiguous') — 광역시면 '광주광역시', 경기도 광주시면 sido='경기도'·sigungu='광주시'로 갈라 넣어라.","title":"Sido"},"sigungu":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시군구 (예: 춘천시, 강남구). 부분일치다 — '고양시'는 '고양시 덕양구'도 잡는다.","title":"Sigungu"},"usage_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"용도 부분일치(대·중·소 3단을 한꺼번에 건다). 중분류 5종은 토지·주거용건물·상가용및업무용건물·용도복합용건물·산업용및기타특수용건물이고 소분류는 91종이다. **'아파트'는 소분류라 중분류로는 안 걸린다** — 넓게 보려면 '주거용건물'. 원장 값 예: 주거용건물·아파트·다세대주택·대지·상가주택. 경매 어휘 '전답'은 여기 없다(전·답으로 갈렸다) — 없는 이름은 거절하며 쓸 수 있는 값을 준다.","title":"Usage Name"},"property_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"재산구분 — 공매에서 가장 중요한 축이다. 압류재산(체납처분·국세징수법)·국유재산·공유재산·기타일반재산·수탁재산·불용품. **성격이 완전히 다르다**: 압류재산은 체납자 재산의 강제매각이고 나머지는 공공이 가진 재산의 처분·임대다.","title":"Property Type"},"min_price_10k":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"최소 감정가, **만원** 단위 (5억이면 50000)","title":"Min Price 10K"},"max_price_10k":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"최대 감정가, **만원** 단위","title":"Max Price 10K"},"open_only":{"default":true,"description":"입찰 마감이 아직 안 지난 회차가 남은 물건만. 기본 True — 원장에는 이미 끝난 회차 행이 함께 들어 있어서(물건 25,669개 중 마감 전 회차가 남은 것은 10,327개), 끄면 지금 입찰할 수 없는 물건이 섞인다. cltr_mng_no로 특정 물건을 볼 때는 무시된다.","title":"Open Only","type":"boolean"},"cltr_mng_no":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"물건관리번호(예 '2026-0600-031235')로 한 물건만. **이것이 상세 조회다** — 이 원장은 행이 물건이 아니라 회차라, 한 물건의 상세는 곧 그 물건의 회차 전부이고 그때 `rounds`에 회차별 최저입찰가 일정이 실린다. 법원 사건번호(2025타경…)는 여기 넣지 마라.","title":"Cltr Mng No"},"sort":{"default":"deadline","description":"deadline=마감 임박순 · price_asc/desc=감정가순 · discount=감정가 대비 최저가가 낮은 순(저감 많이 된 순)","enum":["deadline","price_asc","price_desc","discount"],"title":"Sort","type":"string"},"limit":{"default":20,"description":"반환 **물건** 수 (최대 50) (허용 범위 1~50)","maximum":50,"minimum":1,"title":"Limit","type":"integer"},"offset":{"default":0,"description":"페이지 오프셋. has_more면 next_offset으로 다시 호출하라.","minimum":0,"title":"Offset","type":"integer"}},"additionalProperties":false,"title":"realty_search_onbidArguments"}},{"name":"realty_small_deposit_check","description":"소액임차인 최우선변제의 **금액표를 고르는 도구**다 — 판정기가 아니다.\n\n    \"최우선변제금 얼마까지 나와요?\"에 현행표를 읊으면 틀린다. 적용되는 표는 **최선순위\n    담보물권을 취득한 날이 속한 시행령 판**이고(부칙 경과조치), 2008-08-21 이후 7개 판이\n    서로 다르다. 2015년 근저당이 붙은 서울 주택이면 지금 경매라도 2014-01-01 판\n    (9,500만원 이하 / 3,200만원)으로 잰다 — 현행표(1억6,500 / 5,500)를 쓰면 소액임차인이\n    아닌 사람을 소액임차인이라 답하게 된다.\n\n    경계를 지켜라: ① **범위에 든다 ≠ 받는다.** 경매개시결정등기 전 대항요건·배당요구종기까지\n    배당요구·주택가액 1/2 한도·다수 임차인 안분·임차권등기 후 임차인 제외가 전부 남아 있다\n    (응답 `not_a_conclusion`). ② `security_right_date`가 없으면 **표를 고르지 않는다** —\n    현행표를 기본값으로 주는 순간 이 도구가 막으려던 오답이 된다. **그렇다고 날짜를\n    지어내지도 마라**(2026-08-22 제보: 사용자가 연도만 줬는데 클라이언트가 `2019-01-01`을\n    생성했다). 연도만 안다면 `security_right_year`에 그 연도만 넣어라 — 그 해 전체가 한\n    판 안이면 서버가 날짜 없이 답하며 **\"연도로 판을 골랐다\"를 응답에 명시**하고, 판이\n    갈리는 해면 표를 고르지 않고 등기 접수일을 되묻는다. ③ 시 안에서 동에 따라\n    과밀억제권역이 갈리는 곳(인천·남양주·시흥)은 구간을 **안 고르고** 별표 원문을 낸다.\n    ④ **주택만**이다 — 상가는 상가건물임대차보호법으로 금액표가 다르다. ⑤ 배당액 계산·\n    말소기준권리 판정·인수 여부는 하지 않는다. 규칙 전체와 갈림길은\n    realty_policy_rules(topic=auction_rights)가 진실원이다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"security_right_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"**최선순위 담보물권(근저당 등)의 설정일** YYYY-MM-DD. 금액표를 고르는 기준일이다 — '오늘'도 '임대차계약일'도 아니다(각 개정 시행령 부칙 경과조치: '이 영 시행 전에 임차주택에 대하여 담보물권을 취득한 자에 대해서는 종전의 규정에 따른다'). 등기부 을구에서 확인한다. **모르면 비워 두라 — 서버가 현행표를 답인 척 주지 않는다**. ⚠️ **연도만 아는 경우 날짜를 지어내지 마라** — '2019년'만 들었으면 '2019-01-01'을 만들지 말고 security_right_year=2019를 쓰라. 그 해 전체가 한 시행령 판 안이면 서버가 날짜 없이 답하고, 판이 갈리는 해면 월·일을 되묻는다","title":"Security Right Date"},"security_right_year":{"anyOf":[{"maximum":2200,"minimum":1900,"type":"integer"},{"type":"null"}],"default":null,"description":"**최선순위 담보물권 설정 '연도'만** 알 때 쓴다(예: 2019). 사용자가 연도만 말했을 때 security_right_date에 임의의 날짜를 지어 넣는 대신 여기에 연도를 그대로 넣어라 — 그 해 전체가 한 시행령 판 안에 있으면 월·일 없이도 표가 정해지고(응답이 그 근거를 밝힌다), 판이 갈리는 해면 표를 고르지 않고 등기 접수일을 되묻는다 (허용 범위 1900~2200)","title":"Security Right Year"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"물건 소재지. '서울', '경기도 부천시', '부산광역시 기장군'처럼 시도를 붙이면 확실하다. 비우면 그 판의 **전 구간 표**를 그대로 준다","title":"Region"},"deposit_10k":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"임차보증금(**만원**). 주면 그 판의 '소액임차인 범위' 상한과 대조해 **범위에 드는지의 산수**만 한다 — 최우선변제를 받는다는 판정이 아니다","title":"Deposit 10K"}},"additionalProperties":false,"title":"realty_small_deposit_checkArguments"}},{"name":"realty_subscription_odds","description":"청약 경쟁률과 **실제 당첨 가점 커트라인**을 낸다 — \"나 가점 52점인데 당첨될까?\"의 정량 근거.\n    가점 자체를 모르는 사용자는 realty_subscription_score(무주택·부양가족·가입기간 선언 →\n    배점표 적용)로 먼저 점수를 만들어 my_score로 넘겨라.\n\n    **비어 있으면 왜 비었는지부터 읽어라(2026-08-20 축 신설).** 이 축의 원천은 주 1회 전량 수집\n    이라 \"아직 공표가 안 됐다\"와 \"공표는 됐는데 우리가 아직 안 걷었다\"가 똑같이 빈 배열로\n    보인다 — 실측(공고 2026000323)에서 청약홈엔 1순위 경쟁률 4.33·12.90·15.55가 이미\n    공표됐는데 우리 응답은 by_house_type=[]였다. `freshness_verdict.verdict`가 그 둘을\n    가른다(아래 큰따옴표는 **필드가 아니라 그 필드의 값**이다): \"not_yet_published\"(접수가\n    안 끝났다 — 없는 게 정상) · \"not_yet_collected\"(**우리 미수집이다. 절대 '경쟁률이 없다'고\n    답하지 말고 check_url로 안내하라**) · \"unknown\"(못 가른다) · \"not_published\" ·\n    \"collected\". 대조 재료인 접수 종료일은\n    announcement.rcept_endde·freshness_verdict.apply_end에 있다.\n    result_status의 뜻은 응답의 `result_status_legend`가 정본이다(`special_only`는 일반공급\n    결과가 아직인데 특별공급 신청현황만 온 상태 — '결과 없음'이 아니다).\n\n    **없는 공고는 '미발표'가 아니다(2026-09-08, T-2026W37-81).** house_manage_no가 경쟁률 원장에도\n    분양 공고 원장에도 없으면 `error` 응답(`result` 값 \"not_found\")으로 거절하고 벤치마크를\n    내지 않는다 — 종전엔 어떤 번호를 넣어도 \"not_published\"+\"아직 발표되지 않았다\"가 나가\n    오타·가상 번호가 '접수 전 공고'로 둔갑했다. 원장 조회 자체가 실패하면(404 아닌 오류·\n    시간 초과) 그것도 \"not_published\"가 아니라 거절 응답이다 — 거절에는 정상 응답에 **없는**\n    `error`·`result` 두 키가 붙고 그 값이 \"lookup_failed\"다.\n    **여기서 백틱은 필드 이름이고 큰따옴표는 값이다** — \"lookup_failed\"·\"not_found\"라는\n    이름의 키는 어느 응답에도 없다(찾지 마라). 지역 벤치마크만 필요하면 house_manage_no\n    없이 region·sigungu로 부르라.\n\n    **지역별 경쟁률의 분모는 추정하지 말고 `allocated_households_rank1_local`을 써라\n    (2026-08-21 신설).** 공표 경쟁률은 (그 지역구분 신청 ÷ 배정 세대수)라 분모를 되돌릴 수\n    있고, 해당지역 1순위 행의 98.3%에서 그 분모가 정수 하나로 특정된다(전수 실측). 되찾지\n    못한 행은 그 값이 null이고 `allocated_households_basis.range`에 구간만 있다 —\n    그때는 세대수로 단정하지 마라. 공고 원문 비율로 만든 `regional_priority.\n    estimated_allocation.est_*`는 **실측이 있는 행에서 쓰면 안 된다**(실측과 어긋나면\n    `estimate_superseded`가 붙는다 — 실측 2026000323 084.9165A: 추정 47 vs 실측 78세대).\n\n    두 가지 경로를 자동으로 고른다:\n      1) 결과가 발표된 공고 → 그 단지의 주택형별 1순위 해당지역 경쟁률·당첨 최저/평균/최고 가점.\n      2) 아직 접수 전이라 결과가 없는 단지 → 같은 지역 최근 공고들의 실제 커트라인 분포\n         (regional_benchmark). **다른 단지의 실적이다** — 질의 단지의 예상 커트라인이\n         아니라는 점을 반드시 함께 말하라. 분위수를 인용하기 전에\n         distinct_complex_count·samples_by_complex를 먼저 보라 — 단지가 1~2곳이면\n         그건 지역 분포가 아니라 한 단지 안의 주택형 편차다\n         (warning_sample_concentration이 붙는다).\n\n    **시도 하나로 답하지 마라(2026-08-16 축 신설).** 아파트는 시군구·평형·시기·가격대로 갈린다 —\n    실측(서울 최근 2년): 은평 전용 59㎡ 커트라인 중앙 45점 vs 강남 59㎡ 74점(29점 차),\n    연도별 중앙값 2022년 50점 → 2025년 69점, 2025년 분기별 69/66.5/56/70.\n    그래서 \"내 가점으로 어디까지 되나\"류에는 breakdown='sigungu'(+ area_band, 예산이 있으면\n    budget_max_10k)를, \"언제가 쌌나\"류에는 breakdown='quarter'|'year'를 써라.\n    사용자가 예산을 말했는데 budget_max_10k를 안 넣으면 **살 수 없는 단지가 섞인 답**이 나간다.\n\n    지어내지 말 것: 이 도구는 당첨 확률을 계산하지 않는다(가점 동점자 처리·특별공급 비율·\n    추첨제 물량은 데이터에 없다). 낼 수 있는 건 \"과거 커트라인 대비 내 점수의 위치\"까지다.\n    커트라인이 null인 칸은 0점이 아니라 당첨자 없음/가점제 미적용이다(score_status 참조).\n    분양가가 적정한지까지 물으면 realty_presale_vs_market을 이어서 쓰라.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시도 (예: 서울, 경기, 세종)","title":"Region"},"sigungu":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"시군구 정확한 이름 (예: 노원구, 수원시). 벤치마크를 좁힐 때 쓴다 — 표본이 0이면 시도 단위로 넓혀라","title":"Sigungu"},"keyword":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"단지명·주소 부분일치 (예: '월계 중흥')","title":"Keyword"},"house_manage_no":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"realty_presale 응답의 공고 관리번호 — 알면 이걸로 특정하는 게 정확","title":"House Manage No"},"my_score":{"anyOf":[{"maximum":84,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"내 청약 가점(0~84점). 주면 실제 커트라인과 점수 차를 계산해 준다 (허용 범위 0~84)","title":"My Score"},"since_years":{"default":3,"description":"지역 벤치마크에 쓸 최근 기간(년). 커트라인은 시장 사이클을 타므로 기본 3년 (허용 범위 1~6)","maximum":6,"minimum":1,"title":"Since Years","type":"integer"},"area_band":{"anyOf":[{"enum":["59㎡이하","60~84㎡","85㎡초과"],"type":"string"},{"type":"null"}],"default":null,"description":"전용면적대로 좁힌다. 같은 구 안에서도 평형이 바뀌면 커트라인이 움직인다(실측: 노원 59㎡ 58.5점 vs 60~84㎡ 59점, 동작은 반대로 84㎡ 62점·59㎡ 64점)","title":"Area Band"},"budget_max_10k":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"예산 상한 — 분양 최고가(만원) 기준. 사용자가 '9억까지'라고 하면 90000. 가점만으로 답하면 살 수 없는 단지가 섞인다","title":"Budget Max 10K"},"budget_min_10k":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"예산 하한(만원)","title":"Budget Min 10K"},"breakdown":{"anyOf":[{"enum":["sigungu","area_band","quarter","year"],"type":"string"},{"type":"null"}],"default":null,"description":"분포를 쪼갤 축. **시도 하나로 답하지 마라** — 서울 은평 전용 59㎡ 커트라인 중앙 45점, 강남 59㎡ 74점으로 같은 시도 안에서 29점이 갈린다. '어디까지 되나'류 질문에는 sigungu, '언제가 쌌나'는 quarter·year를 쓴다","title":"Breakdown"}},"additionalProperties":false,"title":"realty_subscription_oddsArguments"}},{"name":"realty_subscription_score","description":"민영주택 일반공급 청약 가점(만점 84)을 배점표로 계산한다.\n\n    민영주택 일반공급 가점제 점수(만점 84)를 **선언된 값**에 배점표를 적용해 계산한다 —\n    무주택기간 32 + 부양가족 35 + 통장 가입기간 17. \"내 청약 가점 몇 점이야?\"의 자리다.\n\n    경계를 지켜라: ① 세 입력 전부 **선언**이다 — 기산점·부양가족 인정은 등본·혼인관계\n    사실판단이라 서버가 판정하지 않고, 응답 traps(오기입=부적격 당첨 취소 사유)를 반드시\n    함께 전하라. ② 산출 점수는 realty_subscription_odds의 my_score로 넘겨 당첨 커트라인과\n    비교하는 것이 다음 수다. ③ 배점표 원문·기산 규칙은\n    realty_policy_rules(topic=subscription_account)가 진실원이다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"no_house_years":{"description":"무주택기간(년, 소수 허용 — 예: 7.5). 기산점(만 30세 vs 혼인신고일, 유주택 이력 재기산)은 사실판단이라 호출자가 확정해 선언한다 — 응답의 traps를 함께 전하라 (허용 범위 0~60)","maximum":60,"minimum":0,"title":"No House Years","type":"number"},"dependents_count":{"description":"부양가족 수(본인 제외). 직계존속 3년 동거·30세 이상 미혼자녀 1년 동거 등 인정 요건은 사실판단 — 확정해 선언한다 (허용 범위 0~20)","maximum":20,"minimum":0,"title":"Dependents Count","type":"integer"},"account_years":{"description":"청약통장 가입기간(년, 소수 허용 — 예: 0.4=약 5개월). 전환 통장은 종전 통장 최초 가입일 기준 (허용 범위 0~60)","maximum":60,"minimum":0,"title":"Account Years","type":"number"},"is_homeowner":{"default":false,"description":"현재 유주택 여부 — True면 무주택기간 점수가 0점이 된다(소형·저가주택 등 무주택 간주 예외 해당 여부는 사실판단이라 호출자가 반영해 선언)","title":"Is Homeowner","type":"boolean"},"under30_unmarried":{"default":false,"description":"만 30세 미만 미혼 여부 — True면 무주택기간 점수가 0점이 된다(무주택기간 기산 전)","title":"Under30 Unmarried","type":"boolean"}},"required":["no_house_years","dependents_count","account_years"],"additionalProperties":false,"title":"realty_subscription_scoreArguments"}},{"name":"realty_supply_pipeline","description":"아직 공고가 안 난 예정 공급을 사업계획승인 기준으로 본다.\n\n    **아직 분양 공고가 안 난** 예정 공급을 사업계획승인 기준으로 본다 — \"지금 넣을까,\n    다음 걸 기다릴까\", \"이 동네 앞으로 입주 폭탄 있나\"류 질문의 자리.\n\n    청약홈(realty_presale·realty_move_in_supply)은 **모집공고일에야** 등록되므로 공고 전\n    물량이 구조적으로 안 보인다. 이 도구의 원천은 주택법 **사업계획승인**이라 공고 2~3년\n    전 단계가 잡힌다: 사업명·세대수·승인일·착공예정일·사용검사 예정일(=예상 입주).\n\n    재당첨 제한(분양가상한제 단지는 10년)·전매제한이 걸린 결정에서는 **대안 정보가 없으면\n    \"지금 아니면 끝\"이라는 잘못된 압박**이 생긴다 — 청약 상담이면 이 도구를 함께 불러라.\n\n    두 축을 **더하지 마라**(이중계상) — 이미 공고가 난 단지도 승인 목록에 남아 있다.\n    **이미 모집공고가 난 사업**은 블록 표기가 겹치면 행에 `announced_notice`가 붙는다 —\n    그 행은 '다음 분양'이 아니라 realty_presale·realty_subscription_odds의 영역이다.\n    표식이 없어도 기공고일 수 있다(meta.announced_cross_check 참조).\n    승인 전(지구계획·공모) 물량은 여기에도 없으니 이 값도 하한이다(`interpretation`).\n\n    **층수 축(2026-08-20 신설 · 3차 수집=동별개요)**: `max_floor`는 사업계획승인 시점의\n    **계획** 층수다(변경승인으로 움직인다 — 준공 확정층수가 아니다). 값이 비면\n    **'저층'으로 읽지 말고 미상으로 읽어라.**\n    최저층·출처·부재사유는 **3차 수집이 붙은 회차에만** 함께 실린다 —\n    `min_floor`가 있으면 그 사업에 **실제로 그 층수의 동이 있다**는 뜻이라 저층\n    선호(고소공포)·고층 조망 상담의 근거가 되고, `max_floor_source`가 있으면 그 층수를\n    어디서 가져왔는지, `max_floor_absent_reason`이 있으면 왜 비었는지를 말해 준다.\n    **독스트링은 고정값이라 지금 원장 상태를 말할 수 없다** — 2026-08-20~09-07에는 이\n    안내만 먼저 나가고 필드를 만드는 백엔드 절반이 20일간 안 붙어 있었다(T-2026W33-68).\n    그러니 **이번 회차에 무엇이 실렸는지는 응답의 `meta.floor_axis`를 보라.** 그 문구는\n    응답을 보고 갈린다 — 거기서 \"없다\"고 하면 정말 없는 것이니 찾지 마라.\n    `business_body`(사업주체·시공사)는 미준공 구간에서 **구조적으로 빈다** —\n    준공 후 등록되는 원장에만 있어 3차로도 안 메워진다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"지역 — 시도·시군구·동 부분일치 (예: '세종', '세종특별자치시 합강동', '수원시'). ⚠️ 짝 도구 realty_move_in_supply의 region은 **시도 전용**이다 — 인자를 그대로 옮겨 부르지 마라","title":"Region"},"from_ym":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"YYYYMM (기본 이번 달)","title":"From Ym"},"to_ym":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"YYYYMM (기본 from_ym+60개월)","title":"To Ym"},"months":{"anyOf":[{"maximum":120,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"from_ym부터 **몇 개월**을 볼지 — to_ym 대신 쓰는 간편 인자(예: 24). to_ym과 함께 주면 오류다(realty_move_in_supply와 같은 계약) (허용 범위 1~120)","title":"Months"},"limit":{"default":30,"description":"사업 목록 상한 (기본 30) (허용 범위 1~100)","maximum":100,"minimum":1,"title":"Limit","type":"integer"}},"additionalProperties":false,"title":"realty_supply_pipelineArguments"}},{"name":"report_issue","description":"답이 틀렸을 때 신고하거나(kind='결함'), **원문 질문을 넘겨 축을 확인받는다**(kind='질문기록').\n\n    **결함**: 사용자가 \"그거 틀렸다\", \"이상하다\", \"숫자가 안 맞는다\"고 하면 **먼저 이 도구를\n    호출한 뒤** 정정 답변을 하라. 신고는 서버 운영자에게 전달되어 실제 수정에 쓰인다.\n    사용자가 지적하지 않았는데 추측으로 부르지는 말 것.\n\n    **질문기록**: 사용자의 원문 질문을 그대로 넘기면 서버가 **그 자리에서 라우팅을 돌려준다**\n    (응답의 `routing`) — 어느 축·어느 도구로 가야 하는지, 그 축의 라우팅 규칙, **우리 데이터\n    밖이면 그 사실과 대신 볼 곳**, 지역명이 모호하면 후보까지. 판정은 결정론이라 같은 질문이면\n    같은 답이 나오고, **못 고르면 `axis: null`과 사유를 준다**(추측으로 채우지 않는다).\n    직전 호출 기록과 대조해 **엉뚱한 축을 부르고 있으면 그것도 알려 준다** — 이건 모델이 적은\n    기억이 아니라 서버가 가진 호출 기록이라, 도구를 스무 번 부르며 헤매는 것을 앞에서 끊는다.\n\n    같은 호출이 기록도 한다: 이 서버는 클라이언트가 이미 도구 호출로 번역한 뒤를 보므로\n    **사용자의 원문 질문을 볼 수 없고**, 우리가 무엇을 못 담고 있는지는 그 원문으로만 알 수\n    있다(질문은행·로드맵의 원천). **개인 식별 조합은 반드시 일반형으로 바꿔서** 넣는다.\n\n    두 종류가 한 도구인 이유: 무인증 공개 서버라 쓰기 표면을 하나로 묶어 상한을 함께 건다\n    (CLAUDE.md 규칙 2). 시간당 상한도 공유한다.\n\n    **이 도구는 일일 조회 한도(quota) 밖이다** — 다른 도구가 `quota_exceeded`로 막혀도\n    신고는 접수된다(2026-08-18 수리). 한도를 다 쓴 사람의 신고가 못 오면 우리는 우리가\n    못 본 것을 영영 모른다. 남용 방지는 시간당 상한(전체 60건·발신자당 20건)이 진다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"problem":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"무엇이 틀렸는지. 사용자가 지적한 말을 그대로 옮겨도 된다. kind='결함'이면 필수, kind='질문기록'이면 비워도 된다.","title":"Problem"},"question":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"사용자의 **원래 질문**(kind='질문기록'이면 필수). ⚠️ **개인 식별 조합은 일반형으로 치환해서 넣어라** — 소득·보유자산·보유단지·거주지 중 **둘 이상이 겹치면** 그대로 적지 말 것(예: '○○아파트 33평 보유 + 주식 10억 + 잠실 거주' → '1주택 보유(대출 없음), 인근 재건축 단지로 갈아타기'). 계산에 꼭 필요한 수치 하나(연소득 등)는 남겨도 된다. 무인증 공개 서버의 로그다","title":"Question"},"kind":{"default":"결함","description":"'결함'=답이 틀렸다는 신고(기본). '질문기록'=**사용자 원문 질문을 넘겨 어디로 가야 하는지 확인받는 값**. 원문을 주면 응답의 `routing`으로 ①질문이 9개 도구 축 중 어디인지와 그 축의 도구 이름 ②산문 지침에만 있던 라우팅 규칙(공고 질문에 추정 금지, 비아파트는 매매만, 청약·대출 갈림 등) ③**우리 데이터 밖이면 그 사실과 대신 볼 곳** ④지역명이 모호하면 후보를 돌려준다. **못 고르면 `axis: null`과 사유를 준다 — 추측으로 채우지 않는다.** 확신이 안 서거나 여러 축에 걸치는 질문이면 **도구를 여러 번 부르기 전에** 먼저 여기에 원문을 넣는 편이 답이 정확해진다. 서버는 클라이언트가 번역한 도구 호출만 보고 원문 질문을 볼 수 없어서, 이게 원문이 우리에게 닿는 유일한 통로이기도 하다","enum":["결함","질문기록"],"title":"Kind","type":"string"},"answered_fully":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"kind='질문기록' 전용 — 이 서버 도구만으로 질문에 **완결된 답**을 했는가. false면 missing_axis에 무엇이 없었는지 적어라(질문은행의 ●/◐/○ 판정에 그대로 쓰인다)","title":"Answered Fully"},"missing_axis":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"answered_fully=false일 때 **없어서 못 답한 축**(예: '단지별 구조형식(벽식/라멘) 라벨 없음', '경기 정비사업 단계 조회 불가 — 서울 한정'). 로드맵의 원천이 된다","title":"Missing Axis"},"tool_used":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"문제가 된 답을 만든 도구 이름","title":"Tool Used"},"wrong_value":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"틀린 수치·문장","title":"Wrong Value"},"expected":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"사용자가 맞다고 본 값이 있으면","title":"Expected"}},"additionalProperties":false,"title":"report_issueArguments"}},{"name":"search","description":"법원경매 물건을 자연어 문장으로 검색한다(경매 전용 — 청약·시세는 다른 도구다).\n\n    법원경매 물건을 자연어로 검색한다. **경매 전용** — 청약·분양 공고는 realty_presale,\n    분양가 적정성은 realty_presale_vs_market, 시세 통계는 realty_region_price_stats.\n\n    지역·물건종류·유찰횟수·감정가를 질의에서 뽑아 필터링한다.\n    예: \"서울 강남구 아파트\", \"유찰 2회 이상인 경기도 오피스텔\", \"서울 아파트 감정가 5억 이하\".\n\n    이 파서는 최소 어댑터라 못 쓰는 축(면적·기일·층 등)이 있다. 못 쓴 조건은 응답의\n    `unapplied_conditions`에 적히므로, 그게 비어 있지 않으면 결과 범위를 좁게 오인하지 말고\n    `realty_search_auctions`로 조건을 직접 지정해 다시 조회하라.\n\n    각 결과의 id는 이어서 fetch(id)에 그대로 넣으면 상세를 볼 수 있다.\n\n    **이 축의 자리** — 경매 검색은 둘이고 입력 형태로 갈린다. 사용자의 말을 문장 그대로\n    넘길 때가 이 도구(`search`)이고, 지역·종류·감정가·유찰횟수를 **값으로 이미 알 때**는\n    `realty_search_auctions`다(면적·기일·층 등 이 파서가 못 쓰는 축도 거기서 지정한다).\n    상세는 `fetch`로 이어간다 — 여기 나온 id를 그대로 넣으면 된다.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"description":"경매 물건을 찾는 **자연어 한 줄**. 예: '서울 강남구 아파트' · '유찰 2회 이상인 경기도 오피스텔' · '서울 아파트 감정가 5억 이하'. 이 파서가 읽는 축은 넷뿐이다 — 지역(시도는 '서울'·'서울특별시' 둘 다 되고, 시군구는 '강남구'·'평택시'처럼 원장 표기, 특례시는 '수원시 권선구'), 물건종류(아파트·오피스텔·다세대·연립주택·단독주택·근린시설·상가·대지·임야·전답 등), 유찰횟수, 감정가(억/만원 표기). 면적·기일·층은 못 읽고 unapplied_conditions로 실토하니 그 축이 필요하면 realty_search_auctions를 쓰라. 사건번호를 이미 아는 경우는 검색이 아니라 realty_get_auction_case다","title":"Query","type":"string"}},"required":["query"],"additionalProperties":false,"title":"searchArguments"}}],"scan":{"score":68,"grade":"C","scanned_at":"2026-09-19T19:10:35.710Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:10:35.716Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":17,"max":20,"notes":["remote reachable in 3465ms"]},"poisoning":{"score":13,"max":15,"notes":["52 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":12,"max":15,"notes":["last push 32 days ago"]},"identity":{"score":6,"max":10,"notes":["namespace and repository owner differ","website matches verified namespace"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"poison.long-description","severity":"low","component":"poisoning","title":"Unusually long tool description (over 2,000 characters)","evidence":"tool realty_search_auctions: …법원경매 물건을 지역·종류·감정가·유찰횟수로 필터링해 조회한다. **이 축의 자리** — 조건을 **값으로 아는** 검색이 이 도구다. 사용자의 자연어 한 줄밖에 없으면 `search`가 먼저다(질의에서 조건을 뽑아 준다). 개별 사건의 상세는 여기가 아니라 `realty_get_auction_case`(사건번호+법원명)·`fetch`(search가 준 id)다. **이 도구는 법원경매(민사집행법·각급 법원)만 조회한다 — 공매는 여기가 아니다.** 공매(국세징수법·국유재산법 등, 한국자산관리공사 온비드)는 **이 서버에 따로 있다**: 물건은 `realty_search_onbid`, 낙찰가율은 `realty_onbid_sale_rate` (2026-08-22 적재 — 물건 25,669개 · 최근 3개월 개찰 결과 113,673행). 여기서 안 나온다고 \"그런 물건 없다\"고 답하지 말고 **공매 도구로 다시 걸어라.** 구분 신호는 번호 형식이다 — 법원 사건번호는 `2025타경1234`, 공매 물건관리번호는 `2026-0600-031235`(하이픈 세 토막·'타경' 없음)다. **두 원장을 합쳐 세거나 낙찰가율을 섞어 평균내지 마라** — 근거법·주관기관·권리 인수 규칙·저감 방식이 다르다. 감정가(min_price_10k/max_price_10k)는 **만원** 단위다 — 5억은 50000. 유찰이 많을수록 최저입찰가가 감정가 대비 낮아진다(`min_bid_rate`가 그 비율). ⚠️ **이 목록에는 매각기일이 이미 지난 행이 섞여 있다**(백엔드가 기일로 걸러주지 않는다 — 인천 아파트 3억 이하 실측 48건 중 43건이 지난 기일). 지난 기일 행에는 `past_auction_note`가 붙고 응답의 `past_auction_count`가 그 페이지의 건수다. \"지금 살 수 있어?\"류 질문이면 `exclude_past=true`로 걸러라 — 지난 기일 물건은 매각·취하됐거나 다음 기일이 아직 반영되지 않은 것이라 현재 매물로 인용하면 오답이다. ⚠️ **`sort=date_asc`(기일 임박 순)는 지난 기일이 목록 앞쪽을 통째로 차지한다** (2026-08-21 실측 94,279건 중 앞 57,241건=60.7%). `exclude_past=true`면 서버가 그 접두를 건너뛰고 읽으므로 첫 호출부터 실물이 온다 — 건너뛴 행 수는 `meta.past_prefix_skipped`, 실제로 읽은 자리는 응답의 `offset`(요청값은 `requested_offset`)이다. **items가 비어도 `has_more`가 true면 '조건에 맞는 물건이 없다'는 뜻이 아니다** — 그 창이 전부 지난 기일이었을 뿐이니 `next_offset`으로 이어서 호출하라. note가 둘 중 어느 쪽인지 매번 말한다. ⚠️ **최저입찰가는 출처를 반드시 확인해라** — 건별 `min_bid_source`가 붙는다. · `court_schedule` — 법원 기일표 정본이다. 그대로 믿어도 된다(활성의 28.8%). · `item_list` — 물건목록값이다. 유찰이 있으면 **저감 한 단계만큼 낡아 실제보다 높을 수 있다**(2026-08-04 실측: 유찰 1회 이상에서 정본과 3%만 일치, 25~43% 과대). 이 경우 `min_bid_note`가 함께 온다. 사용자에게 단정적으로 말하지 말고 그 한계를 전해라. 저감률로 역산해 추정하지 마라 — 재감정으로 최저가가 **오르는** 사건도 있다. 응답의 `min_bid_stale_risk_count`가 그 페이지에서 낡았을 수 있는 건수다. 회차별 정확한 가격은 realty_auction_history의 court_schedule에 있다. 목록에는 요약 필드만 담긴다. 특정 물건의 전체 정보(면적·법원 계·주소 상세 등)는 돌아온 id로 realty_get_auction_case를 호출해 받아라. \"유찰 많이 돼 싸진 물건 찾아줘\"류 발굴 질문은 realty_auction_alerts가 지름길이다 (min_fail_count로 여기서 걸러도 같은 축 — 결과를 합쳐 세지 마라). …"}],"inputs":{"probes":[{"url":"https://realty.sallim.app/mcp?via=official","reachable":true,"authRequired":false,"latencyMs":3465,"serverInfo":{"name":"realty_mcp","version":"0.84.20"}}],"packages":[],"repo":{"found":true,"owner":"sallim-app","repo":"korea-realty","archived":false,"pushedAt":"2026-08-18T11:57:31Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/311213556?v=4","ownerCreatedAt":"2026-07-30T23:40:18Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-08-18T11:57:31.000Z","score":18}}}},"grade_history":[],"reviews":[]}