app.sallim/korea-realty
repo:https://github.com/sallim-app/korea-realty
Korean real estate: court auctions, 10M+ MOLIT records, subscription notice facts, loan/DSR rules
- transport:
- remote
- credential class:
- open
Owner verification
Not yet verified. Verifying proves you control this server and is free, permanently — it never changes a published score.
Start verification →Tools
- fetchshallow
search가 돌려준 id로 경매 사건의 전체 내용을 가져온다. id 형식은 "법원명|사건번호" (예: "서울동부지방법원|2025타경51727"). 사건번호는 법원 간 중복되므로 법원명 없이 조회하면 후보 목록이 돌아올 수 있다. rights(매각물건명세서 요약)가 있으면 법원 공시의 전달로만 인용하고, 없으면(rights_note 참조) 권리관계를 지어내지 말 것 — 권리분석 판단은 이 도구의 데이터 밖이다. **이 축의 자리** — 사건 상세도 둘이고 입력과 응답 형태로 갈린다. 이 도구는 `search`가 준 `"법원명|사건번호"` 한 덩어리를 그대로 받아 **문서형 텍스트**를 돌려준다(ChatGPT 커넥터 규격). 사용자가 사건번호를 말로 불러줬거나, `rights`·`min_bid_source` 같은 필드를 **값으로** 다뤄야 하면 `realty_get_auction_case`(사건번호·법원명을 따로 받는 구조화 응답)를 써라. 유찰 이력·기일별 저감은 어느 쪽도 아니고 `realty_auction_history`다.
- realty_area_price_bandsshallow
지역의 매매 시세를 평형대 4구간(소형/중소형/중형/대형, 전용면적 기준)으로 조회한다. "○○구에서 무슨 평수대가 얼마쯤 해?"류 질문용 — 특정 단지는 realty_search_complexes를 쓰라. **이 축의 자리(시세 도구 3종 중)**: 지역의 가격 **수준** 비교는 이게 기본값이다. 이상치 필터(P75의 50% 미만 제외)가 적용돼 realty_region_price_stats의 미필터 평균과 값이 다르며, **수준이 갈리면 이쪽을 우선하라**. 월별 **추이**가 필요하면 region_price_stats, 단지가 특정되면 search_complexes. 구간 라벨의 평수는 **전용평**이다. 사용자의 분양평 감각으로는 소형<60㎡≈분양 24평 미만, 중소형 60~85㎡≈분양 24~34평, 중형 85~115㎡≈분양 34~47평, 대형 115㎡+≈분양 47평 이상.
- realty_auction_alertsshallow
유찰이 누적돼 최저입찰가가 크게 떨어진 물건을 찾는다. "○○에서 유찰 많은 물건"은 sido/sigungu로 좁혀라. 유찰이 많다는 건 싸다는 뜻이기도 하지만 권리관계·물건 하자 등 팔리지 않는 이유가 있다는 뜻이기도 하다. 결과를 추천으로 제시하지 말고 확인이 필요한 후보로 제시하라. **같은 축의 다른 문**: realty_search_auctions(min_fail_count)로도 유찰 물건을 거를 수 있다 — 조건 필터·목록이 목적이면 그쪽, 저감 큰 후보 발굴(극단 할인 컷 포함)이면 이쪽. 둘을 합쳐 세지 마라(같은 물건이 양쪽에 나온다).
- realty_auction_historyshallow
경매 사건의 유찰 이력(기일별 최저가 저감 시계열)·가격 변동 이벤트·물건 사진 URL을 조회한다. "몇 번 유찰됐어? 얼마나 떨어진 거야? 사진 있어?"류 질문의 담당 도구. 사진은 법원 원천에서 기일 후 소멸해 **수집 시점 보존본만 존재**한다(국내 공개 API에 드문 축). court_schedule에서 result='유찰'인 행이 유찰 이력, min_bid_10k의 저감이 가격 흐름이다. result가 null인 행은 미래 기일이거나 미해독 법원 코드(result_code 원문 병기)다 — 의미를 지어내지 말고 그대로 전하라. **최저가(min_bid_10k)가 없는 행에는 `kind_note`가 붙는다 — 그 행은 입찰 기일이 아니다**(원천 전수에서 최저가·유찰 표기는 kind_code=01에만 붙는다). fail_count가 기일표의 유찰 행 수와 다르면 `fail_count_note`가 그 이유를 댄다 (출처가 목록 원천 vs 기일표로 갈린다) — 둘을 합쳐 세지 마라. tracking·price_events는 2026-07-23 이후 일일 스냅샷 비교분이라 비어 있을 수 있다(비어 있음 ≠ 변동 없음, court_schedule이 정본). ⚠️ court_schedule이 빈 물건(기일표 미수집)의 `current_min_bid_10k`는 건별 `min_bid_source`를 봐야 한다 — item_list면 낡았을 수 있어 min_bid_note가 함께 온다. 그 경우 현재 최저가를 단정하지 말고 note를 사용자에게 전하라(목록·상세와 같은 경고).
- realty_auction_sale_rateshallow
"이 지역 이 물건은 보통 감정가의 몇 %에 낙찰되나"를 실제 매각결과로 답한다. 입찰가를 정할 때 쓰는 핵심 지표다. `by_fail_count`에 유찰 횟수별 분포가 들어 있어 "2회 유찰된 물건은 보통 몇 %에 낙찰되는가"를 바로 읽을 수 있다. 낙찰가율 = 낙찰가 / 감정가 × 100. 100%를 넘으면 감정가보다 비싸게 팔린 것이다. 표본의 집계 기간은 응답의 `sample_period`(매각기일 min~max)에 있다 — "요즘"류 질문에는 이 범위를 함께 전하라. 기간을 좁히는 파라미터는 백엔드가 지원하지 않는다 (요청해도 조용히 무시됨을 실측했다 — 그래서 노출하지 않는다). usage_name에 '빌라'를 넣으면 표준 분류인 '다세대'로 자동 매핑해 집계한다(원문 '빌라'는 소수 비표준 표기 행만 잡혀 표본이 조용히 왜곡된다 — 응답에 매핑 사실이 공시된다). 연립주택 통계는 usage_name='연립주택'으로 따로 물어라. **평형을 섞지 마라(2026-08-16 축 신설)**: 응답의 `by_area_band`가 전용면적대별 낙찰가율이다. 실측(사건 중복 제거): 아파트 전국 전체 79.2%인데 전용 59㎡ 이하 75.7%, 60~84㎡ 82.2%, 서울은 88.9% vs 97.3%다. 대상 물건의 평형을 알면 `area_band`로 좁히고, 지역 요약 하나로 입찰가를 정하지 마라. '면적 미상' 밴드는 공고에 면적 표기가 없는 사건이지 0이 아니다. **이 축의 자리(경매 가격판단 3종 중)**: 이 %는 **감정가 대비** 통계다. 특정 물건이 실거래 **시세** 대비 싼지는 realty_compare_auction_vs_market이 자동 계산한다 — 분모가 다르니 두 %를 한 문장에 섞지 마라(감정가는 시세와 다른 시점·기준의 값이다).
- realty_capital_gains_taxshallow
선언된 양도가·취득가·필요경비·보유기간에 **양도소득세 세율표를 결정론으로 적용**한다 — 기본·단기·분양권 세율, 장특공제 표1, 기본공제, 다주택 중과(선언), 지방소득세 10%. 두 번째 자산을 주면 **같은 해 합산 vs 연도분산 vs 차손통산**을 비교해 어느 쪽이 유리한지 산출한다. "지금 팔면 양도세 얼마?"·"두 채를 올해 같이 팔까 나눠 팔까?"의 자리다. 경계를 지켜라: ① 입력 전부 **선언**이다 — 보유기간 기산·주택 수·조정대상지역 해당은 사실판단이라 서버가 판정하지 않는다. ② **1세대1주택 비과세·12억 초과 고가주택 안분· 감면 특례는 계산하지 않는다**(not_curated) — 비과세 가능성이 있으면 이 계산기를 쓰지 말고 홈택스 모의계산·세무사를 안내하라. 이 결과는 양도 전액이 과세된다는 전제다. ③ 세율표·필요경비 분류·중과 경과조치의 원문·근거 조문은 realty_policy_rules(topic=capital_gains_tax)가 진실원이고, 조정대상지역 지정 현황은 topic=regulated_area다. 응답의 traps·pending_legislation·disclaimer를 함께 전하라.
- realty_compare_auction_vs_marketshallow
경매 물건의 최저입찰가를 같은 단지 실거래 시세와 대조해 할인율·표면수익률을 낸다. 기본은 **오늘 이후 기일 물건만**이다(지난 기일이 섞여 나오던 결함 수리, 2026-08-08). 주소·단지명 정규화 정확매칭으로 붙이며, 감정가가 기준선의 50~150% 범위인 건만 비교한다 (지분경매·특수물건을 배제하기 위함). 결과의 `signal`은 주의/관심/보통/낮음/판정보류다. **시세 기준선은 같은 단지의 같은 면적대(±10%) 실거래 평균이다**(2026-08-16 수리 — 종전엔 단지 전 평형 혼합 평균이라 대형·소형이 섞인 단지에서 할인율이 통째로 어긋났다). 면적을 맞추지 못하면 `discount_vs_market_pct`는 **null**이고 signal은 '판정보류'다 — 그 자리를 `discount_vs_all_types_pct`(혼합평균 대비)로 대신 채워 말하지 마라. ⚠️ 유찰 물건은 `auction.min_bid_source`를 확인하라 — item_list면 최저가가 낡았을 수 있고(`min_bid_note` 동봉) 그 최저가로 계산된 할인율·수익률도 함께 틀어진다. 이 도구는 다른 도구보다 느리다(출처 조회 포함 2~4초). **이 축의 자리(경매 가격판단 3종 중)**: "이 물건 싸?"는 이게 1차다(시세 자동 조인). 입찰가 책정은 realty_auction_sale_rate(감정가 대비 실제 낙찰가율)와 함께 쓰되, 이 도구의 할인율(시세 대비)과 낙찰가율(감정가 대비)은 **분모가 달라 섞으면 안 된다**. 기준 시세를 손으로 잡을 땐 realty_area_price_bands(수준)/region_price_stats(추이).
- realty_compare_regionsshallow
[유료] 여러 지역의 매매·전세 시세와 추이를 나란히 비교한다. 갈아타기·투자처 비교용. "어디가 제일 ○○해?"류 순위·탐색 질문은 무료 realty_region_rankings로 먼저 좁혀라 — 이 도구는 비교 대상이 정해졌을 때 쓴다. ⚠️ 지역별 `warning_baseline`·`warning_dispersion`을 avg_price보다 먼저 읽어라 — 이 소스는 이상치 미필터·단지급 혼합이라 avg_price를 그대로 "그 지역 시세"로 인용하면 특정 단지와의 비교 결론이 뒤집힌다(realty_region_price_stats와 같은 공시다).
- realty_complex_pyeong_priceshallow
특정 단지·특정 평형의 **최근 6개월 매매 실거래**를 건별(계약일·층·가격)로 조회한다. 평형별 시세 요약만 필요하면 realty_search_complexes의 prices_by_area로 충분하다. 응답에는 **층 밴드별 시세 집계 `price_by_floor_band`**(저층~초고층 밴드별 평균가·건수· 최저 밴드 대비 프리미엄 %)가 함께 온다 — "저층 사면 손해야?", "고층 프리미엄 얼마야?"류 **층별 시세 질문은 이 도구가 담당**이다(층 밴드 축은 다른 도구에 없다). transactions는 **계약일 내림차순**이고, average_price·median_price는 그 정렬 기준 최근 5건(summary_basis에 그 5건을 그대로 싣는다)이다. 이상 거래는 지우지 않고 `outlier=true`로 표시만 하며(판정 근거는 outliers.method), 층 밴드에는 이상치 제외 값을 `*_ex_outliers`로 병기한다 — **밴드 프리미엄이 몇 건의 산물인지 확인하고 말하라.** **이름이 더 긴 이웃 단지는 분리해서 뺀다**(0.58.0) — 백엔드가 단지를 이름 부분일치로 찾아 '○○센트레빌' 조회에 '○○센트레빌Ⅱ'가 섞여 들던 자리다. 무엇을 뺐는지·못 가른 면적이 무엇인지는 `meta.complex_isolation`에 그대로 실린다. **못 가른 것은 빼지 않고 못 갈랐다고 적는다** — 그 평형 수치는 단정하지 말고 그 사실을 함께 전하라. 평수는 pyeong_supply(분양)·pyeong_exclusive(전용) 중 사용자가 쓴 쪽에 넣어라 — 하나는 필수. 이 도구는 매매 전용이다 — 전월세는 realty_complex_rent_by_pyeong을 쓴다.
- realty_complex_rent_by_pyeongshallow
단지의 평형별 전세 보증금·월세 중앙값을 조회한다. 전세가율(전세÷매매) 계산의 전세 축이다. complex_key·complex_name 중 하나는 필수. 부분일치는 동명 단지가 섞일 수 있으니 가능하면 realty_search_complexes로 complex_key를 먼저 특정하라. 행 키 supply_pyeong은 **분양평**(전용㎡ ÷ 3.305 ÷ 0.745 반올림) 기준이다.
- realty_complex_reportshallow
[유료] 단지 하나의 시세·전세·기본정보를 통합 조회한다. 응답에 좌표(latitude/longitude)와 complex_key가 들어 있다 — 이어서 realty_poi_nearby(입지)·realty_predict_price(예측)에 그대로 넣어 심층 분석하라.
- realty_demographicsshallow
지역 인구통계를 조회한다 — "인구 줄고 있어?", "1인 가구 비율은?", "고령화 심해?", "순유입 되는 동네야?"류 질문용. 응답 meta.data_as_of가 실제 최신 시점이다 — warning이 있으면 그대로 사용자에게 전달하고, 밀린 수치를 "지금 인구"로 단정하지 말 것. 연간 계열(households·age)은 기준연도를 밝혀라. households만 동명 시군구(중구·서구 등)를 거절한다(원천 단명 수집 결함) — 그 경우 population·migration(정식 명칭 수집)으로 대신 조회하라.
- realty_get_auction_caseshallow
사건번호로 경매 물건의 상세를 조회한다. 사건번호는 법원 간 유일하지 않다(전국 평균 2.8개 법원에서 중복). court_name을 생략하면 중복 시 오류와 함께 후보 법원 목록이 돌아오니, 그걸 보고 법원을 지정해 다시 호출하라. `rights` = 매각물건명세서 핵심(최선순위 설정·인수되는 권리 원문·위험 플래그·배당요구종기). 이것은 법원 공시의 전달이지 권리분석 판단이 아니다 — 답할 때 rights.disclaimer를 함께 전하고, 등기부·임차인 현황 전체가 아님을 밝혀라. rights가 null이면 명세서 미수집 상태(rights_note에 사유)이므로 권리관계를 절대 지어내지 말 것. ⚠️ `rights.claim_amt_10k`는 **경매신청 채권자의 청구금액**(만원)이다 — 임차인 보증금이 아니다(claim_amt_note 참조). 보증금 액수는 이 데이터에 없다. `min_bid_source`가 item_list면 최저가가 낡았을 수 있다 — 함께 오는 `min_bid_note`를 사용자에게 전하고 단정하지 마라(목록 도구와 같은 경고다). 유찰 이력·기일별 저감·사진은 realty_auction_history가 담당이다. **이 축의 자리** — 사건번호·법원명을 **따로 받아 구조화 필드**로 돌려주는 상세가 이 도구다. `search` 결과의 id(`"법원명|사건번호"`)를 그대로 들고 있다면 `fetch`가 그 덩어리를 쪼개지 않고 받아 문서형 텍스트로 준다 — 둘은 대체재가 아니라 입력·응답 형태가 다른 짝이다. 조건으로 여러 건을 훑는 것은 `realty_search_auctions`다.
- realty_invest_riskshallow
[유료] 지역의 투자 위험도를 변동성·유동성·공급압력 축으로 점수화한다. 응답의 disclaimer(통계 요약이며 투자 권유 아님)를 사용자에게 반드시 함께 전달하라.
- realty_loan_eligibilityshallow
**"내 조건이면 어떤 대출을 쓸 수 있나"**를 상품별로 나란히 낸다 — 사용자가 어느 규칙 토픽을 물어야 할지 몰라도 되게 하는 라우터다. 이 도구가 존재하는 이유: 대출 규칙이 상품별 토픽 7곳에 흩어져 있어서, 지금까지는 **호출자가 어느 토픽을 물어야 할지 알아야** 했다(2026-08-14). 용도·지역·주택수만 주면 **쓸 수 있는 상품과 못 쓰는 이유**를 함께 낸다. 경계: ① **주택 수·생애최초·신혼은 선언**이다(서버가 사실판정하지 않는다) ② **한도 금액을 계산하는 건 구입 목적의 은행권뿐**이고 그건 realty_loan_limit이 한다 — 이 도구는 **자격 대조와 라우팅**이다 ③ 전세·중도금은 보증기관·사업장이 지배해 **한도를 계산하지 않는다**, 전세반환은 **경과조치 해당 여부가 서류로 보는 사실판단**이라 계산하지 않는다 ④ 규칙의 근거·불확실성은 각 상품 토픽(응답의 `topic`)에 있으니 함께 읽어라.
- realty_loan_limitshallow
선언된 조건(지역·시가·차주 유형·소득)에 대해 **주담대 규제 상한**을 결정론으로 계산한다 — LTV 상한액, 수도권·규제지역 가액구간 한도(6/4/2억), 만기 상한(30년), 스트레스 DSR 반영 최대 대출액과 **어느 규제가 최종 상한인지**(binding). "10억 집, 생애최초, 연소득 8천이면 얼마까지 나와?"류 질문의 자리다. 경계를 지켜라: ① 차주 유형은 **선언**이다 — 생애최초·주택 수 해당 여부는 사실판단이라 서버가 판정하지 않는다(응답 inputs_declared가 그 선언을 에코한다). ② 결과는 규제 상한이지 **대출 승인·확약이 아니다** — 은행 심사(소득 인정·방공제·신용도)로 더 줄 수 있다. ③ **DSR 상한은 금리유형(rate_type)에 따라 크게 갈린다** — 기본값 '변동'은 스트레스 금리 전액 가산이라 가장 작은 값이다. 사용자가 상품을 안 정한 상태면 `dsr.by_rate_type` 비교표를 함께 전하고 "N억까지만 된다"고 단정하지 마라. ③ 규칙 원표·근거는 realty_policy_rules(topic=loan_rules), 규제지역 지정 현황은 topic=regulated_area, 생애최초 취득세 감면의 세율표 본체는 topic=acquisition_tax. 특정 분양 공고에 대한 시점별(계약금·중도금·잔금) 자금 판정은 realty_presale_funding_plan. 응답의 uncertainties·disclaimer를 사용자에게 함께 전하라.
- realty_location_scoresshallow
단지의 학군(v5)·교통(지하철·버스) 점수를 조회한다 — "이 아파트 학군 어때? 역세권이야?" 담당. complex_key/complex_name이면 단지 점수, region만 주면 지역 집계+축별 상위 5 단지. 학군 점수는 학원가 강도+군집 보정의 **스크리닝 지표**다 — 학원가 데이터가 시 단위라 도심 외곽 면/읍이 다소 높게 나올 수 있고, 학교 배정·수준 판단이 아니다(그렇게 팔지 말 것). subway_distance_m는 최근접역 직선거리(도보 거리 아님). 점수 미산정 단지는 not_found가 정직한 답이다 — 지어내지 말고 realty_search_complexes로 단지 실존부터 확인하라. 돌려주는 complex_key는 공백 1칸으로 정규화돼 있어 다른 도구에 그대로 넣을 수 있다. "역세권이야?"는 [유료] realty_poi_nearby와 겹친다 — 점수·스크리닝은 이쪽(무료), 주변 시설의 실제 목록·거리가 필요하면 poi_nearby.
- realty_macro_indicatorsshallow
한국 기준금리·KOSPI·M2, 미 연준금리·S&P500 등 거시 지표의 월별 시계열을 조회한다. "금리가 집값에 어떤 영향?"류 배경 분석용. ⚠️ 계열마다 신선도가 다르다 — meta.series_as_of가 계열별 실제 최신 시점이다(예: 미 연준금리·S&P·코인은 최신인데 한국 기준금리·KOSPI는 2024-12 정지, ECOS 재수집 대기). 밀린 계열을 "지금 금리"로 인용하지 말고 반드시 그 계열의 시점을 함께 밝혀라.
- realty_market_signalsshallow
[유료] 미분양 추이와 시장심리지수를 한 번에 조회한다. 매수 타이밍 판단의 거시 신호.
- realty_member_transfer_checkshallow
투기과열지구에서 재건축·재개발 물건을 **지금 사면 조합원 지위를 승계받을 수 있는지**를 도시정비법 39조 2항으로 결정론 판정한다 — 투기과열지구 여부(regulated_area) × 사업 유형 × 진행 단계(서울은 정보몽땅 목록에서 자동 결합). "한남3구역 지금 사도 입주권 나와?"의 자리다. 경계를 지켜라: ① 판정은 **원칙 제한 여부**까지다 — 예외(양도인의 근무·질병·상속·해외이주, 10년 소유+5년 거주 등)는 양도인 사정의 사실판단이라 갈림길로만 주고, **사업지연 예외 3종은 인가일·착공일 데이터가 없어 판정 불가를 실토한다**. ② 재개발엔 부칙 함정(2018-01-25 이전 사업시행인가 신청 구역은 제한 밖)이 있어 선언 없이는 단정하지 않는다. ③ 제한이 없어도 **토지거래허가구역은 별개 제도**다(서울 전역 지정 중 — 실거주 의무 등). ④ 조문 원문·예외 전체 목록은 realty_policy_rules(topic=redevelopment_rules), 투기과열 지정 현황은 topic=regulated_area, 분양자격 자체가 불확실하면 topic=redevelopment_entitlement, 사업장 목록·단계 열람은 realty_redevelopment. 응답의 exceptions·disclosures를 함께 전하라.
- realty_move_in_supplyshallow
지역의 입주 예정 물량을 연월별로 집계한다 — "○○ 입주장 리스크 있어?", "내년에 입주 물량 얼마나 쏟아져?"류 질문용. 입주 몰림은 전세가 하락·역전세 압력 신호다. **하한 집계다** — 청약홈 공고(2020-02 이후) 기반이라 공고 없는 공급(민간임대·후분양 일부)이 빠지고, 무엇보다 **공고는 입주 평균 30개월 전에 난다**(전국 실측). 그래서 조회 구간이 오늘+30개월을 넘어가면 그 구간 입주분은 아직 공고조차 안 된 것이 대부분이다. 실사고: 세종 2028~2030 조회에 676세대가 나오자 "입주장 리스크 없음"으로 답했으나 실제 계획은 그 6배였다. 응답의 **`reading` 문장을 결론에 그대로 반영하라** — `interpretation`이 `lower_bound`면 "물량 없음/적음"이라 말하지 말고 "공고된 것만 N세대(하한)"라고 답해야 한다. `coverage.region_recent_annual_rate`(그 지역 최근 공고 실적)와 비교해 값이 크게 낮으면 공급이 끊긴 게 아니라 공고 시차다. **그때는 realty_supply_pipeline을 이어서 불러라** — 사업승인은 났지만 아직 공고 안 난 물량이 거기 있다(세종 실측: 이 도구 676세대 → 파이프라인 3,483세대). 단 **두 축의 세대수를 더하지 마라**(이중계상) — 공고가 난 단지는 승인 목록에도 남아 양쪽에 다 잡힌다. 파이프라인 쪽 값이 상위 집합에 가깝다.
- realty_nonapt_pricesshallow
빌라(다세대·연립)·오피스텔·단독주택·토지의 실거래 **매매가**를 조회한다 — 아파트 밖 질문의 1차 도구. 응답 = 최근 거래(recent) + 집계(stats: 표본 수·가격·상위 구성). **매매 데이터만 있다** — 전월세를 물으면 이 축엔 데이터가 없다고 답하라(추정 금지). 면적 기준: villa/officetel은 전용면적(area_m2·area_pyeong), house는 대지(land_*)와 건물(building_*) 분리, land는 계약면적·지목(land_category)·용도지역(zoning)이 온다. land의 share_type='지분' 행은 필지 일부 거래라 면적당 가격 비교에 쓰지 말 것(집계는 지분·해제 제외 — 응답 note 참조). 아파트는 realty_region_price_stats·search_complexes 담당.
- realty_notice_factsshallow
입주자모집공고 **원문**에서 추출·검증한 팩트시트 — 전매제한·재당첨제한·거주의무· 거주요건, 청약 일정, 층별 분양가표(대지비·건축비·회차별 납부액), 특별공급 배정, 발코니 확장·유상옵션 가격, 중도금 회차 일정, 예비입주자 규칙. 전매제한 기간, 재당첨 제한, 거주의무, 특별공급 자격·배정, 층/타입별 분양가, 발코니 확장비·유상옵션 금액, 중도금 회차와 납부일 — 이 값들을 묻는 질문이 이 도구의 자리다(추정하거나 웹에서 찾을 필요 없이 공고 원문 값이 나온다). 모든 값에 공고 쪽 번호(`p`)가 붙으니 답변에 notice_version(공고 판본)과 쪽 번호를 함께 제시하라. 팩트시트 미추출 공고는 원문 앞쪽(단지 주요정보 표) 텍스트를 unverified_source_text로 준다 — 수치 인용 시 "공고 원문 기준·미검증"을 명시하라. 상세 조항 전문(특공 소득기준, 부적격 처리 등)은 realty_notice_text로 원문 쪽을 직접 읽어라. 여기 없는 값은 지어내지 말 것.
- realty_notice_textshallow
입주자모집공고문 원문을 쪽 단위로 읽는다 — 팩트시트에 없는 세부(특별공급 소득·자산 기준, 부적격 처리, 계약 유의사항, 옵션 품목 상세)는 이 도구로 원문을 직접 확인하라. 표가 있는 쪽은 pdftotext 특성상 정렬이 깨질 수 있다 — 열 해석이 애매하면 단정하지 말 것. 여러 낱말은 AND로 묶인다('가점제 추첨제'→둘 다 있는 쪽). 0쪽이면 막다르지 않고 낱말별 히트 쪽과 부분일치 상위 쪽을 함께 돌려주니 그걸로 좁혀라(match='any'로 넓힐 수도 있다). **쪽을 모를 땐 pages_only=true로 먼저 훑어라** — 전문은 한 번에 수만 자다. 전문 응답은 최대 6쪽이고, meta.matching_pages에 일치 쪽 전체 목록이 늘 들어 있다.
- realty_onbid_sale_rateshallow
공매가 "보통 감정가의 몇 %에 낙찰되나"와 "얼마나 유찰되나"를 실제 개찰 결과로 답한다. **법원경매의 realty_auction_sale_rate와 같은 이름의 다른 지표다.** 분모가 둘 다 감정가지만 평가 주체·저감 규칙·매물 성격이 달라 **두 %를 한 문장에 섞으면 안 된다**. "경매 낙찰가율"을 물었으면 어느 쪽인지 확인하라. **이 축의 자리** — 공매 축 2종 중 통계 쪽이다. 개별 물건과 회차별 최저가는 realty_search_onbid다. 낙찰가율은 재산구분별로 갈라 읽어라(`by_property_type`). ⚠️ **표본은 최근 3개월 개찰분이고, 그중 '낙찰' 건만 낙찰가율에 든다.** 온비드 전체 입찰결과 688,264건 중 우리가 받은 것은 113,673건이고, 그 안에서 낙찰은 3,824건이다 (나머지는 유찰·취소·개찰중). `outcome_mix`가 그 분포이고 여기서 나온 낙찰 비율은 **성립률이지 낙찰가율이 아니다**. ⚠️ **낙찰가율은 원천이 준 값을 그대로 쓴다**(`apslPrcCtrsScfbPrcRto` = 감정가 대비 낙찰가율). 낙찰 3,824건 중 이 값이 있는 것은 2,896건이다 — 나머지는 감정가가 원장에 없는 건이라 **모르는 것이지 0이 아니다**(`ratio_missing`). ⚠️ **평균이 아니라 중앙값을 인용하라.** 지분·산지 물건이 감정가의 386%에 팔린 사례가 실제로 있어(공유자 경합) 평균이 위로 끌린다. `median_pct`가 정본이고 `p25_pct`· `p75_pct`로 폭을 함께 전하라. ⚠️ **지역은 물건명에서 되찾은 것이다.** 입찰결과 원장에 지역 컬럼이 아예 없어서, 물건 목록과 붙여 보려 했으나 **낙찰 3,824건 중 물건 목록에서 찾아지는 것은 83건 (2.2%)뿐이다** — 물건 목록은 현재 진행분 스냅샷이라 이미 팔린 물건이 빠져 있다. 그래서 물건명 접두의 시도·시군구 표기를 파싱해 쓴다(전체 96.1%·낙찰 90.0%에서 잡힌다). 파싱이 안 된 건은 지역 필터에서 **조용히 빠지므로** 응답의 `region_basis`를 함께 전하라.
- realty_poi_nearbyshallow
[유료] 좌표 주변의 지하철·학교·병원·마트 등 입지 요소를 거리순으로 조회한다. 단지 좌표는 realty_complex_report가 준다. "역세권인가", "초품아인가" 판단용. 단지의 학군·교통 **점수**만 필요하면 무료 realty_location_scores로 충분하다 — 이 도구는 실제 시설 목록·거리를 셀 때 쓴다.
- realty_poi_statsshallow
[유료] 시군구별 병원·학교·지하철역 개수 통계를 조회한다. 지역 간 인프라 비교용. 지역 키는 '시도축약 시군구' 2토큰이다(예: '서울 마포구', 세종은 1토큰). 병원·지하철은 수집 범위가 수도권·광역시 중심이라 지방 시군구는 0으로 나올 수 있다 — 0을 "없다"로 단정하지 말고 수집 범위 밖일 수 있다고 말하라.
- realty_policy_rulesshallow
단지에 종속되지 않는 **일반 규범**을 근거 조문·확인일과 함께 준다 — 취득세율표, 규제지역 **현재** 지정 현황, 주담대 규제 원표, 개인회생×대출, 주택임대차 갱신(갱신권· 5% 상한·매수인 실거주 거절), 양도세(세율·필요경비·중과·개편 계류), 청약통장·가점 배점표, 정비구역 요건·조합원 지위양도, 재개발 분양자격 갈림길(서울). "취득세 얼마야?", "갱신권 썼는데 집주인이 팔면?", "지금 팔면 중과야?"류 질문의 자리다. 특정 조건의 상한 **계산**은 realty_loan_limit, 가점 점수 계산은 realty_subscription_score, 비례율·분담금 계산은 realty_redevelopment_burden, 양도세 시나리오 계산은 realty_capital_gains_tax, 조합원 지위양도 가능 판정은 realty_member_transfer_check — 이 표가 그 계산기들의 진실원이다. 클라이언트에 세율을 하드코딩하지 마라 — "85㎡ 이하 1.1%"는 6억 이하일 때만 맞고, 9억 초과에 그대로 쓰면 수천만원 틀린다(실측: 16.9억 84타입에서 3,700만원 차). **판정은 하지 않는다**: "이 사람이 1주택인가"는 분양권·상속지분·일시적 2주택 특례가 얽힌 사실판단이다 — 표의 applicable_if·exceptions를 보고 사용자에게 확인 질문을 던져라. 개별 공고의 규제 플래그(공고일 스냅샷)는 realty_presale, 공고 원문 값은 realty_notice_facts, 이 표를 써서 총 소요자금까지 계산하는 건 realty_presale_cost. 응답의 uncertainties(확인 못 한 것)와 disclaimer를 함께 전하라.
- realty_predict_priceshallow
[유료] 단지의 **다음 달** 평균 매매가를 평형대별로 예측한다 (XGBoost v4_clean). complex_name 또는 complex_key 중 하나는 필수. 동명 단지가 여러 지역에 있으면 먼저 realty_complex_report로 단지를 특정한 뒤 complex_key로 호출하라. 예측 지평은 1개월(익월) 고정 — 그 너머는 모델이 검증되지 않아 제공하지 않는다. 커버리지 밖은 정직하게 거절된다(지어내지 않음) — ①최근 3개월 내 월 거래 3건 미만이거나 ②과거 거래 이력이 없는 신축 첫 달(모델이 지역·평형 평균을 토해 2~4배 틀린다, 실측). 예측이 없을 뿐 시세 데이터는 있으니 그때는 실거래 도구로 답하라. 응답 predictions[].caution이 있으면 반드시 함께 전달하라 — 예측 대상이 '익월에 거래된 매물들의 평균가'라, 시세가 그대로여도 거래 구성이 바뀌면 흔들린다(실측 16.3%가 ±10% 초과). 응답의 as_of_ym(기준월)·disclaimer(검증 MAPE)를 사용자 답변에 반드시 함께 전달하라 — 예측은 참고 지표이지 투자 보장이 아니다.
- realty_presaleshallow
아파트 청약(분양) 공고를 조회한다 — 분양가·청약 접수 일정·당첨자 발표일·입주 예정·위치. "다음 달 청약 넣을 만한 데 있어?", "○○에 분양하는 아파트 있어?"류 질문용. "넣을 만해?/적정가야?"까지 물으면 이어서 realty_presale_vs_market으로 분양가를 실거래 시세와 대조하라(응답의 house_manage_no가 그 도구의 입력이다). price_min/price_max는 주택형별 분양 최고가의 최소·최대(만원)다 — 한 공고에 여러 주택형(house_type_count)이 있다. 청약 자격·순위 요건은 이 데이터에 없다(지어내지 말 것). 경쟁률·당첨 가점 커트라인은 realty_subscription_odds 도구에 있다. 무순위(줍줍)·취소재공급이 돈 공고에는 `unsold_history`(회차·세대)가 붙는다 — 접수 경쟁률이 높아도 무순위가 돌았다면 "당첨 후 계약이 안 된" 시장이다. 없다고 이력이 없던 건 아니다(meta.unsold_note의 연결 한계 참조). 같은 지역 공고들의 분양가가 올라온 추이("기다림의 비용")는 realty_presale_price_trend. 규제지역 플래그: speculation_zone(투기과열지구)·adjustment_area(조정대상지역)· price_cap_applied(분양가상한제), Y/N — **모집공고일(announced_on) 기준 스냅샷**이라 이후 지정·해제가 바뀔 수 있다. "현재 규제지역"으로 단정하지 말고 공고일과 함께 전하라. 전매제한·거주의무 기간은 이 데이터에 없다(플래그에서 유추 금지) — realty_notice_facts가 공고 원문 값을 쪽 번호와 함께 준다.
- realty_presale_costshallow
공고 원문(팩트시트) 기반 **결정론 계산**: 층별 분양가 + 발코니 확장비 + 회차별 중도금 이자(일할) + 취득세(표준세율) = 층별 총 소요자금. "이 분양 실제로 얼마 드나"의 자리다 — 클라이언트마다 손계산하면 입주일 가정 하나로 백만원대가 갈린다(실측 124만원). 경계(신고 #43의 선 그대로): 여기까지가 "공고+세법에서 결정론적으로 나오는 것"이다. 월 상환액·매수 vs 전세 손익분기는 개인 파라미터가 지배하므로 계산하지 않는다 — 전세 시세는 realty_complex_rent_by_pyeong으로 받아 클라이언트가 개인 가정을 얹어라. 자기자금·차주 조건을 **선언**받아 필요 대출액과 규제 상한 통과까지 판정하는 건 realty_presale_funding_plan이 한다. 세율표 자체는 realty_policy_rules가 근거 조문과 함께 준다(중과·감면 등 이 계산이 가정으로 제친 것들이 거기 있다 — assumptions를 반드시 사용자에게 전하라).
- realty_presale_funding_planshallow
공고 하나에 대해 **"내 자기자금으로 닫히는가"**를 결정론으로 판정한다 — 시점별 (계약금→중도금 회차→잔금) 필요액, 잔금 시점의 필요 대출액, 그 대출이 규제 상한 (LTV·가액구간 한도·DSR — realty_loan_limit과 같은 엔진) 안에 드는지, 부족하면 얼마가 부족한지. "이 분양 당첨되면 진행 가능해?"류 질문의 자리다. 경계: ① 차주 유형·소득은 **선언**이다(서버는 판정하지 않는다). ② 판정은 **현행 규제·현재 자기자금 기준**이다 — 잔금 시점(수년 뒤)의 규제·금리·저축 증가는 반영하지 않으며 그 사실을 assumptions에 싣는다. ③ 승인·확약이 아니다. ④ 저축 계획·갈아타기 전략·매수 적정성 판단은 이 도구 밖이다 — 시세 비교는 realty_presale_vs_market, 규칙 원표는 realty_policy_rules. 응답의 assumptions·uncertainties를 함께 전하라. ⑤ 입주시 시세·전세보증금도 **선언**이다 — 선언하면 각각 시세 기준 잔금대출 시나리오 (scenario_at_expected_price)와 전세 잔금 시나리오(jeonse_scenario — 거주의무·대출 병행 불가 게이트)를 병렬로 준다. 서버는 미래 시세·전세가를 추정하지 않는다.
- realty_presale_price_trendshallow
같은 지역 분양 공고들의 **연도별 평당 분양가 추이**를 낸다 — "지금 넣을까, 기다릴까"에서 **기다림의 비용**(다음 공고가 얼마에 나올까)을 정량화하는 축이다. 재당첨 제한이 걸린 결정(분양가상한제 10년 등)에서 특히 판단을 가른다. 기준(답변에 그대로 전달): **공급면적(분양평) 평당 최고 분양가**(만원/평), 발코니 확장·유상옵션 미포함. 연도별 주택형 믹스가 다르면 중앙값이 흔들린다 — announcements가 1~2건인 연도는 추이로 읽지 말고, 평형대를 고정하려면 exclusive_m2_min/max(국평=80~85)를 써라. 이 축의 자리: 개별 공고의 적정성(분양가 vs 실거래)은 realty_presale_vs_market, 실거래 가격 추이는 realty_region_price_stats — 이 도구는 **분양가끼리의 시계열**이다.
- realty_presale_vs_marketshallow
청약(분양) 공고의 분양가가 주변 실거래 시세 대비 싼지/비싼지를 주택형별로 계산한다. "이 청약 넣을 만해?", "분양가 적정해?"류 질문의 정량 근거 — 웹검색으로는 못 하는 분양가×실거래 조인 계산이 이 도구의 존재 이유다. 공고 특정: house_manage_no가 없으면 region+keyword로 검색하고, 여러 건이면 후보 목록을 돌려주니 하나를 골라 다시 호출하라(추측해서 고르지 않는다). 한계(지어내지 말 것): 실거래 평균은 해당 지역 全단지(구축 포함) 기준이라 신축 프리미엄이 반영되지 않았다. 청약 경쟁률·당첨 가점 커트라인은 이 도구가 아니라 realty_subscription_odds에 있다("넣을 만해?"엔 둘을 같이 써라). 기준선 우선순위: market_avg는 **이상치 미필터** 지역 평균이다 — 결론에는 comparison_by_size[].comparable_complexes(반경 내 급 맞는 단지 실거래)를 우선하고, 지역 수준 교차확인은 realty_area_price_bands(이상치 필터·중앙값)로 하라. 이 도구는 **현재 공고 1건의 적정성**이다 — 같은 지역 공고들의 분양가 시계열 ("기다릴수록 얼마씩 올랐나")은 realty_presale_price_trend.
- realty_reconstructionshallow
[유료] 건령·거래활성 기반 재건축 **후보 스크리닝** 상위 단지를 조회한다. 점수 = 건령(최대 70, 30년 연한 기준) + 최근 12개월 거래활성 전국 백분위(최대 30). 사업성(용적률·대지지분·안전진단·조합 단계)은 반영되지 않는다 — 후보 발굴용이지 투자 판단 근거가 아니며, 응답의 disclaimer를 사용자에게 그대로 전하라. (구버전 점수 포화로 2026-07-30 보류했다가 산식 v2 재계산 검증 후 재개 — DATA-060)
- realty_redevelopmentshallow
[유료] 서울시 정비사업(재개발·재건축·가로주택 등) 사업장 목록 — 사업명·유형· 진행 단계·위치. "○○구 재개발 어디까지 진행됐어?"류 질문용. **커버리지는 서울 한정**(정보몽땅 원천) — 타 시도는 이 도구로 답할 수 없다고 밝혀라. 세대수·준공예정은 원천 목록이 제공하지 않아 null이다(지어내지 말 것). 진행 단계 필터는 미지원 — 결과의 stage 필드(한글: 조합설립인가·관리처분인가 등)로 판별하라. 재건축 **유망도 점수**는 이 도구가 아니라 realty_reconstruction이 담당하고, "지금 사면 조합원 지위 승계돼?"는 realty_member_transfer_check(무료)가 담당한다.
- realty_redevelopment_burdenshallow
재개발·재건축 조합원의 권리가액과 추가 분담금(또는 환급금)을 결정론으로 계산한다 — 권리가액 = 종전자산 감정평가액 × 비례율, 분담금 = 조합원분양가 − 권리가액. "감정평가 3억에 비례율 98%면 얼마 더 내?"의 자리다. 경계를 지켜라: ① 입력 전부 **선언**이다 — 감정평가액·비례율은 조합 자료에서 가져와야 하고 서버는 검증하지 않는다. ② 이 산식은 법정 산식이 아니라 통용 실무 산식이며, 비례율은 관리처분인가 전엔 추정치라 준공까지 계속 변한다 — 응답의 sensitivity(비례율 ±10%p 스윙)와 disclosures를 반드시 함께 전하라. ③ 산식 출처·변동 함정의 원문은 realty_policy_rules(topic=redevelopment_rules)의 proportion_formula가 진실원이다. 분양자격 자체가 불확실하면 topic=redevelopment_entitlement(갈림길 지도)부터.
- realty_region_price_statsshallow
지역의 아파트 실거래 시세 **추이**(월별)를 조회한다. 경매가가 싼지 판단하는 기준선이 된다. **이 축의 자리(시세 도구 3종 중)**: 월별 흐름·방향이 필요할 때 이걸 쓴다. 지역의 가격 **수준**을 인용할 거면 realty_area_price_bands를 쓰라 — 이 축은 이상치(지분· 증여성 직거래)가 필터되지 않아 평균이 눌리며, **두 도구 값이 갈리면 bands 쪽이 정상 매매에 가깝다**(세종 소형 실측 4,400만원 차). 단지가 특정된 질문("○○아파트 얼마야")은 realty_search_complexes가 기본이다 — 지역 평균은 단지 간 편차(같은 동 같은 평형에서 단지 평균 24% 차)를 뭉갠다. region은 시군구명(예: '강남구') 또는 **법정동까지**(예: '강남구 대치동', '세종특별자치시 나성동') — 세종처럼 시군구가 하나인 도시는 동 단위로 좁혀야 신도심· 구도심이 섞이지 않는다(2026-08-08, 8/7 테스터 제안 수용). 동명 지역이 여럿이면 시도를 앞에 붙여라 — 안 붙이면 거래량 최다 지역 기준으로 답하고 region_candidates로 나머지 후보를 실토한다(그 목록을 사용자에게 전달할 것). metric: price(매매) | rental(전월세). rental도 **months 창 월별 추이**(monthly_trend: 전세 평균·중앙, 월세 보증금·월세, 건수 분리)를 준다 — "전세 떨어지는 중이야?", 역전세 판단용(입주 물량은 realty_move_in_supply와 조합). 상단 필드는 최신월 스냅샷. 평수는 둘 중 사용자가 쓴 쪽에만 넣는다: - pyeong_supply: 분양평수(공급면적). 흔히 말하는 "34평"이 이것이다 — 내부에서 ×0.745로 환산한다. - pyeong_exclusive: 전용면적 기준 실평수. 이 데이터의 원래 기준이다.
- realty_region_rankingsshallow
지역(시군구) 순위를 조회한다 — "제일 비싼 동네 어디야?", "요즘 많이 오른 지역은?", "전세가율 높은 곳은?"류 질문용. price=거래량 가중 전용 평당가(최소 5건, 최신월은 집계 진행 중일 수 있음) · growth=전용 60-85㎡ 고정 YoY(평형 구성 왜곡 제거) · transit/school=단지 점수의 시군구 평균. **investment는 원천 정지·기준월 혼재로 보류 중**(호출 시 대안 안내 — 전세가율은 realty_rental_yield). 응답 methodology의 산식·단위를 답변에 반영하라. 비교 대상이 두어 곳으로 정해진 질문("A vs B 어디가 나아?")은 [유료] realty_compare_regions가 시세·추이를 나란히 준다 — 이 도구는 순위·탐색용이다.
- realty_region_trend_basketshallow
지역 가격 추이를 **양쪽 창에 모두 거래가 있는 동일 단지들로만** 계산한다. **왜 필요한가**: 구 월평균 추이는 '가격이 변한 것'과 '팔린 단지가 바뀐 것'을 구분하지 못한다. 표본이 얇으면 후자가 지배하는데, 그걸 시세 변동으로 읽으면 오답이다 (2026-08-14 실사고: 용산 33평 월 1~7건 표본으로 '전년 대비 −9.6%'를 만들었다). 이 도구는 **naive(전체 평균 변화)와 basket(동일 단지 변화)을 나란히** 주고 그 차이를 `composition_effect`로 보여준다 — 차이가 크면 그 지역 평균 추이는 구성 잡음이다. 단지별 값은 **평당가**라 단지 안의 평형 구성 변화도 흡수한다. 한계를 반드시 함께 전하라: 바스켓이 얇으면(단지 수가 적으면) 이 값도 못 믿는다. 취소·직거래는 제외했고, 단지 내 동·층 구성 변화까지는 보정하지 못한다.
- realty_remodel_feasibilityshallow
**"이 아파트를 내가 원하는 대로 고칠 수 있나"**에 답하는 자리 — 두 축이다: **①벽**(내력벽을 헐어 방을 틀 수 있나) **②배관**(층상/층하 — 욕실·주방을 옮길 수 있나). "벽식구조면 리모델링 못 하죠?"·"내력벽 철거 2016년에 허용되지 않았나요?"·"욕실 위치 바꿀 수 있나요?"·"인테리어 하는데 구청 가야 하나요?"가 이 도구의 질문이다. **모델이 학습 데이터로 자신 있게 틀리는 자리**라 조문 원문을 값으로 준다 — 통설 둘("2016년 유예로 내력벽 철거 허용", "벽식=개인 리모델링 불가")이 **둘 다 틀렸고**, 이 도구가 그것을 조문으로 깬다. 답은 두 층으로 온다. **①규범 층은 커버리지 100%**(근거=법령 원문·시행일)이고 단지를 몰라도 답이 된다 — 전문은 realty_policy_rules(topic='unit_alteration_rules'). **②단지 층은 분양 모집공고 원문 인용**이며 커버리지가 희박하다: 아카이브 2,851건 중 쪽 원문 보유 2,294건, 그중 구조형식 언급 258건(11.2%)·배관방식 선언 221건·가변성 등급 34건뿐이고 **2020~2026 분양 한정이라 기존(준공된) 아파트는 0% 덮는다.** 커버리지는 매 응답에 실린다 — 그대로 사용자에게 전하라. **없으면 unknown이고, unknown은 '아니다'가 아니다.** 준공연도로 구조형식을 추정하지 마라(모집단 비율을 개별 사실로 둔갑시키는 것이다). 값이 없을 때는 막다르게 두지 말고 응답의 how_to_find_out(관리사무소 설계도서·구청 행위허가 상담 등 실제로 확인 가능한 경로)을 안내하라 — 그것이 이 도구의 값어치다.
- realty_rental_yieldshallow
[유료] 시군구별 월세 수익률·평균 매매가·평균 월세를 조회한다. 수익형 투자 스크리닝용. 기본 응답은 최신 완결월 1개월치를 수익률 내림차순으로 자른 것이다 — 전체 기간·전체 지역이 아니다(truncated 필드 확인). 특정 월은 year_month로 조회하라.
- realty_search_auctionsshallow
법원경매 물건을 지역·종류·감정가·유찰횟수로 필터링해 조회한다. **이 축의 자리** — 조건을 **값으로 아는** 검색이 이 도구다. 사용자의 자연어 한 줄밖에 없으면 `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`로 걸러라 — 지난 기일 물건은 매각·취하됐거나 다음 기일이 아직 반영되지 않은 것이라 현재 매물로 인용하면 오답이다. ⚠️ **최저입찰가는 출처를 반드시 확인해라** — 건별 `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로 여기서 걸러도 같은 축 — 결과를 합쳐 세지 마라).
- realty_search_complexesshallow
아파트 단지를 이름·지역으로 검색하고 **평형별 실거래 시세**를 함께 돌려준다. "○○아파트 34평 얼마야"류 단지 질문의 1차 도구다. query·region 중 하나는 필수. **이 축의 자리(시세 도구 3종 중)**: 단지가 특정되면 **이게 기본**이다. 지역 평균 도구들(realty_region_price_stats·realty_area_price_bands)은 단지 간 편차를 뭉개므로 단지 질문에 쓰지 마라 — 같은 동 같은 평형에서 단지 평균이 24% 벌어진 실측이 있다 (동 평균 3.96억으로 답했다가 대장 단지 호가와 1억 어긋난 사고). 반대로 지역 전체의 수준·추이 질문이면 저 둘로 가라. prices_by_area가 평형별 시세다 — pyeong_exclusive(전용평)와 pyeong_supply_est(분양평 어림)를 병기하므로, 사용자가 말한 "34평"(보통 분양평)은 pyeong_supply_est로 맞춰 답하라. 단지 수준 avg_price는 전 평형이 섞인 평균이니 평수 질문에 쓰지 말 것. 층별(저층/고층/RR) 시세·프리미엄 질문은 realty_complex_pyeong_price로 — 거기 층 밴드별 집계(price_by_floor_band)가 있다(이 도구엔 층 축이 없다). 응답의 complex_key는 realty_complex_rent_by_pyeong·[유료] 단지 도구들에 그대로 넣는 키다.
- realty_search_onbidshallow
한국자산관리공사 **온비드 공매** 물건을 지역·용도·재산구분·감정가로 조회한다. 법원경매가 아니다. 공매는 국세징수법(압류재산)·국유재산법·공유재산법에 따른 처분이고 주관은 캠코다 — 아래 '이 축의 자리'와 응답의 `not_court_auction`을 반드시 함께 전하라. **이 축의 자리** — 공매 축은 도구가 둘뿐이다. 물건을 찾고 회차별 최저가 일정을 보는 것이 이 도구, "보통 감정가의 몇 %에 낙찰되나"는 realty_onbid_sale_rate다. **법원경매를 물었다면 여기가 아니라 realty_search_auctions**이고, 사건번호에 '타경'이 들어 있으면 그쪽이다. 사용자가 그냥 "경매"라고만 했으면 **어느 쪽인지 되물어라** — 둘을 합쳐 세거나 섞어 평균내면 그 답은 틀린다. **행이 물건이 아니다.** 원장의 한 행은 물건이 아니라 **공매조건(회차)**이다 — 한 물건이 1~10회차 입찰 일정을 미리 갖고 회차마다 최저입찰가가 내려간다(실측: 물건당 3.51행). 이 도구는 **물건 단위로 접어서** 돌려준다: `rounds_total`(전체 회차)·`rounds_remaining` (마감 전 회차)·`next_round`(다음 입찰 회차의 기간과 최저입찰가)·`last_round`(마지막 예정 회차 = 더 안 팔리면 도달하는 바닥값). 응답의 `condition_rows`가 접기 전 행 수다 — **행 수를 물건 수로 인용하지 마라**(71% 과대). ⚠️ **최저입찰가 '비공개'** — 원문이 숫자가 아니라 '비공개'인 회차가 있다(529행). 그 회차의 금액은 **null**이지 0이 아니다. `min_bid_undisclosed_rounds`가 그 수이고, 평균·최저값 계산에서 빠져 있다. ⚠️ **압류재산 주소는 번지가 가려진다** — 결과 원장 기준 압류재산의 61.7%가 '강원특별자치도 춘천시 ***********' 꼴이다. 물건 목록 쪽은 번지까지 나오지만 (실측 마스킹 0건), 같은 물건을 결과에서 다시 찾을 때는 시군구까지만 유효하다. ⚠️ **시도 표기를 우리가 손봤다** — 원천에 '전남광주통합특별시' 같은 통합 표기가 7,757행 있어 시군구로 분해해 `sido`에 넣었다. 손보기 전 원문은 `sido_source`, 분해 근거는 `sido_basis`('as_is' = 원문 그대로 / 'split_by_sgg' = 시군구로 갈랐다)에 있다. 권리분석·감정평가서·공고 원문은 이 원장에 없다. 공매의 권리 인수 규칙은 법원경매와 다르므로 realty_policy_rules(민사집행법 기준)의 답을 여기에 옮기지 마라.
- realty_small_deposit_checkshallow
소액임차인 최우선변제의 **금액표를 고르는 도구**다 — 판정기가 아니다. "최우선변제금 얼마까지 나와요?"에 현행표를 읊으면 틀린다. 적용되는 표는 **최선순위 담보물권을 취득한 날이 속한 시행령 판**이고(부칙 경과조치), 2008-08-21 이후 7개 판이 서로 다르다. 2015년 근저당이 붙은 서울 주택이면 지금 경매라도 2014-01-01 판 (9,500만원 이하 / 3,200만원)으로 잰다 — 현행표(1억6,500 / 5,500)를 쓰면 소액임차인이 아닌 사람을 소액임차인이라 답하게 된다. 경계를 지켜라: ① **범위에 든다 ≠ 받는다.** 경매개시결정등기 전 대항요건·배당요구종기까지 배당요구·주택가액 1/2 한도·다수 임차인 안분·임차권등기 후 임차인 제외가 전부 남아 있다 (응답 `not_a_conclusion`). ② `security_right_date`가 없으면 **표를 고르지 않는다** — 현행표를 기본값으로 주는 순간 이 도구가 막으려던 오답이 된다. ③ 시 안에서 동에 따라 과밀억제권역이 갈리는 곳(인천·남양주·시흥)은 구간을 **안 고르고** 별표 원문을 낸다. ④ **주택만**이다 — 상가는 상가건물임대차보호법으로 금액표가 다르다. ⑤ 배당액 계산· 말소기준권리 판정·인수 여부는 하지 않는다. 규칙 전체와 갈림길은 realty_policy_rules(topic=auction_rights)가 진실원이다.
- realty_subscription_oddsshallow
청약 경쟁률과 **실제 당첨 가점 커트라인**을 낸다 — "나 가점 52점인데 당첨될까?"의 정량 근거. 가점 자체를 모르는 사용자는 realty_subscription_score(무주택·부양가족·가입기간 선언 → 배점표 적용)로 먼저 점수를 만들어 my_score로 넘겨라. **비어 있으면 왜 비었는지부터 읽어라(2026-08-20 축 신설).** 이 축의 원천은 주 1회 전량 수집 이라 "아직 공표가 안 됐다"와 "공표는 됐는데 우리가 아직 안 걷었다"가 똑같이 빈 배열로 보인다 — 실측(공고 2026000323)에서 청약홈엔 1순위 경쟁률 4.33·12.90·15.55가 이미 공표됐는데 우리 응답은 by_house_type=[]였다. `freshness_verdict.verdict`가 그 둘을 가른다: `not_yet_published`(접수가 안 끝났다 — 없는 게 정상) · `not_yet_collected` (**우리 미수집이다. 절대 '경쟁률이 없다'고 답하지 말고 check_url로 안내하라**) · `unknown`(못 가른다) · `not_published` · `collected`. 대조 재료인 접수 종료일은 announcement.rcept_endde·freshness_verdict.apply_end에 있다. result_status의 뜻은 응답의 `result_status_legend`가 정본이다(`special_only`는 일반공급 결과가 아직인데 특별공급 신청현황만 온 상태 — '결과 없음'이 아니다). **지역별 경쟁률의 분모는 추정하지 말고 `allocated_households_rank1_local`을 써라 (2026-08-21 신설).** 공표 경쟁률은 (그 지역구분 신청 ÷ 배정 세대수)라 분모를 되돌릴 수 있고, 해당지역 1순위 행의 98.3%에서 그 분모가 정수 하나로 특정된다(전수 실측). 되찾지 못한 행은 그 값이 null이고 `allocated_households_basis.range`에 구간만 있다 — 그때는 세대수로 단정하지 마라. 공고 원문 비율로 만든 `regional_priority. estimated_allocation.est_*`는 **실측이 있는 행에서 쓰면 안 된다**(실측과 어긋나면 `estimate_superseded`가 붙는다 — 실측 2026000323 084.9165A: 추정 47 vs 실측 78세대). 두 가지 경로를 자동으로 고른다: 1) 결과가 발표된 공고 → 그 단지의 주택형별 1순위 해당지역 경쟁률·당첨 최저/평균/최고 가점. 2) 아직 접수 전이라 결과가 없는 단지 → 같은 지역 최근 공고들의 실제 커트라인 분포 (regional_benchmark). **다른 단지의 실적이다** — 질의 단지의 예상 커트라인이 아니라는 점을 반드시 함께 말하라. 분위수를 인용하기 전에 distinct_complex_count·samples_by_complex를 먼저 보라 — 단지가 1~2곳이면 그건 지역 분포가 아니라 한 단지 안의 주택형 편차다 (warning_sample_concentration이 붙는다). **시도 하나로 답하지 마라(2026-08-16 축 신설).** 아파트는 시군구·평형·시기·가격대로 갈린다 — 실측(서울 최근 2년): 은평 전용 59㎡ 커트라인 중앙 45점 vs 강남 59㎡ 74점(29점 차), 연도별 중앙값 2022년 50점 → 2025년 69점, 2025년 분기별 69/66.5/56/70. 그래서 "내 가점으로 어디까지 되나"류에는 breakdown='sigungu'(+ area_band, 예산이 있으면 budget_max_10k)를, "언제가 쌌나"류에는 breakdown='quarter'|'year'를 써라. 사용자가 예산을 말했는데 budget_max_10k를 안 넣으면 **살 수 없는 단지가 섞인 답**이 나간다. 지어내지 말 것: 이 도구는 당첨 확률을 계산하지 않는다(가점 동점자 처리·특별공급 비율· 추첨제 물량은 데이터에 없다). 낼 수 있는 건 "과거 커트라인 대비 내 점수의 위치"까지다. 커트라인이 null인 칸은 0점이 아니라 당첨자 없음/가점제 미적용이다(score_status 참조). 분양가가 적정한지까지 물으면 realty_presale_vs_market을 이어서 쓰라.
- realty_subscription_scoreshallow
민영주택 일반공급 가점제 점수(만점 84)를 **선언된 값**에 배점표를 적용해 계산한다 — 무주택기간 32 + 부양가족 35 + 통장 가입기간 17. "내 청약 가점 몇 점이야?"의 자리다. 경계를 지켜라: ① 세 입력 전부 **선언**이다 — 기산점·부양가족 인정은 등본·혼인관계 사실판단이라 서버가 판정하지 않고, 응답 traps(오기입=부적격 당첨 취소 사유)를 반드시 함께 전하라. ② 산출 점수는 realty_subscription_odds의 my_score로 넘겨 당첨 커트라인과 비교하는 것이 다음 수다. ③ 배점표 원문·기산 규칙은 realty_policy_rules(topic=subscription_account)가 진실원이다.
- realty_supply_pipelineshallow
**아직 분양 공고가 안 난** 예정 공급을 사업계획승인 기준으로 본다 — "지금 넣을까, 다음 걸 기다릴까", "이 동네 앞으로 입주 폭탄 있나"류 질문의 자리. 청약홈(realty_presale·realty_move_in_supply)은 **모집공고일에야** 등록되므로 공고 전 물량이 구조적으로 안 보인다. 이 도구의 원천은 주택법 **사업계획승인**이라 공고 2~3년 전 단계가 잡힌다: 사업명·세대수·승인일·착공예정일·사용검사 예정일(=예상 입주). 재당첨 제한(분양가상한제 단지는 10년)·전매제한이 걸린 결정에서는 **대안 정보가 없으면 "지금 아니면 끝"이라는 잘못된 압박**이 생긴다 — 청약 상담이면 이 도구를 함께 불러라. 두 축을 **더하지 마라**(이중계상) — 이미 공고가 난 단지도 승인 목록에 남아 있다. **이미 모집공고가 난 사업**은 블록 표기가 겹치면 행에 `announced_notice`가 붙는다 — 그 행은 '다음 분양'이 아니라 realty_presale·realty_subscription_odds의 영역이다. 표식이 없어도 기공고일 수 있다(meta.announced_cross_check 참조). 승인 전(지구계획·공모) 물량은 여기에도 없으니 이 값도 하한이다(`interpretation`). **층수 축(2026-08-20 신설)**: `max_floor`·`min_floor`는 사업계획승인 시점의 **계획** 층수다(변경승인으로 움직인다 — 준공 확정층수가 아니고, 출처는 `max_floor_source`). `min_floor`는 그 사업의 공동주택 주건축물 중 가장 낮은 동이라 **실제로 그 층수의 동이 있다**는 뜻이고, 저층 선호(고소공포)·고층 조망 상담의 근거가 된다. 값이 비면 **'저층'으로 읽지 말고** 행의 `max_floor_absent_reason`을 그대로 전하라(아직 동 등록 전이거나 3차 수집 전이다). `business_body`(사업주체·시공사)는 미준공 구간에서 **구조적으로 빈다** — 준공 후 등록되는 원장에만 있어 3차로도 안 메워진다.
- report_issueshallow
답이 틀렸을 때 신고하거나(kind='결함'), 남길 값이 있는 **질문 원문을 기록한다**(kind='질문기록'). **결함**: 사용자가 "그거 틀렸다", "이상하다", "숫자가 안 맞는다"고 하면 **먼저 이 도구를 호출한 뒤** 정정 답변을 하라. 신고는 서버 운영자에게 전달되어 실제 수정에 쓰인다. 사용자가 지적하지 않았는데 추측으로 부르지는 말 것. **질문기록**: 이 서버는 클라이언트가 이미 도구 호출로 번역한 뒤를 보므로 **사용자의 원문 질문을 볼 수 없다**. 그래서 어떤 질문이 실제로 오는지, 무엇을 못 답하는지가 계측에 안 잡힌다. 복합 질문·부분 답변·전제 오류 셋 중 하나면 원문(일반형으로 치환)을 남겨라 — 질문은행과 로드맵의 원천이 된다. **개인 식별 조합은 반드시 일반형으로 바꿔서** 넣는다. 두 종류가 한 도구인 이유: 무인증 공개 서버라 쓰기 표면을 하나로 묶어 상한을 함께 건다 (CLAUDE.md 규칙 2). 시간당 상한도 공유한다. **이 도구는 일일 조회 한도(quota) 밖이다** — 다른 도구가 `quota_exceeded`로 막혀도 신고는 접수된다(2026-08-18 수리). 한도를 다 쓴 사람의 신고가 못 오면 우리는 우리가 못 본 것을 영영 모른다. 남용 방지는 시간당 상한(전체 60건·발신자당 20건)이 진다.
- searchshallow
법원경매 물건을 자연어로 검색한다. **경매 전용** — 청약·분양 공고는 realty_presale, 분양가 적정성은 realty_presale_vs_market, 시세 통계는 realty_region_price_stats. 지역·물건종류·유찰횟수·감정가를 질의에서 뽑아 필터링한다. 예: "서울 강남구 아파트", "유찰 2회 이상인 경기도 오피스텔", "서울 아파트 감정가 5억 이하". 이 파서는 최소 어댑터라 못 쓰는 축(면적·기일·층 등)이 있다. 못 쓴 조건은 응답의 `unapplied_conditions`에 적히므로, 그게 비어 있지 않으면 결과 범위를 좁게 오인하지 말고 `realty_search_auctions`로 조건을 직접 지정해 다시 조회하라. 각 결과의 id는 이어서 fetch(id)에 그대로 넣으면 상세를 볼 수 있다. **이 축의 자리** — 경매 검색은 둘이고 입력 형태로 갈린다. 사용자의 말을 문장 그대로 넘길 때가 이 도구(`search`)이고, 지역·종류·감정가·유찰횟수를 **값으로 이미 알 때**는 `realty_search_auctions`다(면적·기일·층 등 이 파서가 못 쓰는 축도 거기서 지정한다). 상세는 `fetch`로 이어간다 — 여기 나온 id를 그대로 넣으면 된다.
Embed this server’s score
Tool count and median score across every tool in this server’s corpus — honest in a way a single cherry-picked tool’s badge wouldn’t be.
[](https://vouch.tools/servers/e4d10256-a46f-4e58-95d0-541efb0b529f)