{"server":{"name":"app.sallim/korea-realty","$schema":"https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json","remotes":[{"url":"https://realty.sallim.app/mcp?via=official","type":"streamable-http"}],"version":"0.116.12","repository":{"url":"https://github.com/sallim-app/korea-realty","source":"github"},"websiteUrl":"https://realty.sallim.app/mcp/pricing","description":"Korean real estate: court auctions, 10M+ MOLIT records, subscription notice facts, loan/DSR rules"},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-10-19T13:56:02.575597Z","publishedAt":"2026-10-19T13:56:02.575597Z","statusChangedAt":"2026-10-19T13:56:02.575597Z"},"dev.protogrid/connectability":{"class":"R0","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://realty.sallim.app/mcp?via=official","transport":"streamable-http","templated":false,"headers":[],"auth":{"type":"none","location":null,"secret_name":null,"oauth":null},"protocol":{"supported_versions":["2025-11-25"],"stateless":true},"health":{"reachable":true,"uptime_30d":0.9166667,"latency_ms_p50":762,"consecutive_failures":0,"last_probe_at":"2026-10-19T13:19:06.021Z","last_ok_at":"2026-10-19T13:19:06.021Z"}}],"packages":[]},"dev.protogrid/tools":[{"name":"fetch","title":"경매 사건 상세","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    ","annotations":{"title":"경매 사건 상세","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_area_price_bands","title":"지역 평형대별 시세 구간","description":"지역의 매매 시세를 평형대 4구간(소형/중소형/중형/대형, 전용면적 기준)으로 조회한다.\n    \"○○구에서 무슨 평수대가 얼마쯤 해?\"류 질문용 — 특정 단지는 realty_search_complexes를 쓰라.\n\n    **이 축의 자리(시세 도구 3종 중)**: 지역의 가격 **수준** 비교는 이게 기본값이다.\n    이상치 필터(계약해제 제외 + **직거래 중** 같은 평형대 중개거래 중앙값의 50% 미만만 제외)가\n    적용돼 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    ","annotations":{"title":"지역 평형대별 시세 구간","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_auction_alerts","title":"급매 경매 물건","description":"유찰이 쌓여 최저입찰가가 크게 떨어진 경매 물건을 골라낸다.\n\n    유찰이 누적돼 최저입찰가가 크게 떨어진 물건을 찾는다. \"○○에서 유찰 많은 물건\"은\n    sido/sigungu로 좁혀라.\n\n    유찰이 많다는 건 싸다는 뜻이기도 하지만 권리관계·물건 하자 등 팔리지 않는 이유가\n    있다는 뜻이기도 하다. 결과를 추천으로 제시하지 말고 확인이 필요한 후보로 제시하라.\n\n    **같은 축의 다른 문**: realty_search_auctions(min_bid_count)로도 유찰 물건을 거를 수\n    있다 — 조건 필터·목록이 목적이면 그쪽, 저감 큰 후보 발굴(극단 할인 컷 포함)이면 이쪽.\n    둘을 합쳐 세지 마라(같은 물건이 양쪽에 나온다).\n    ","annotations":{"title":"급매 경매 물건","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_auction_history","title":"경매 유찰 이력·가격 저감·사진","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    ","annotations":{"title":"경매 유찰 이력·가격 저감·사진","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_auction_sale_rate","title":"낙찰가율 통계","description":"\"이 지역 이 물건은 보통 감정가의 몇 %에 낙찰되나\"를 실제 매각결과로 답한다.\n\n    입찰가를 정할 때 쓰는 핵심 지표다. `by_fail_count`에 유찰 횟수별 분포가 들어 있어\n    \"2회 유찰된 물건은 보통 몇 %에 낙찰되는가\"를 바로 읽을 수 있다.\n    낙찰가율 = 낙찰가 / 감정가 × 100. 100%를 넘으면 감정가보다 비싸게 팔린 것이다.\n\n    **\"감정가 12억에 최저가 7.68억이면 몇 번 유찰됐나\"는 이 도구가 아니다** — 그건 낙찰 통계가\n    아니라 저감 산수다(최저가 = 감정가 × (1−저감률)^유찰횟수, 법원별 저감률 실측표와 예시는\n    realty_policy_rules(topic='auction_rights', section='minimum_price_reduction')). 사건번호가\n    있으면 realty_auction_history의 기일별 이력이 정본이다(T-2026W34-353 피드백).\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    낙찰가율이다. 2026-10-17 실측(사건 중복 제거): 아파트 전국 전체 78.8%인데 전용 59㎡ 이하\n    75.7%, 60~84㎡ 81.4%, 서울은 82.4% vs 98.1%다. 대상 물건의 평형을 알면 `area_band`로 좁히고,\n    지역 요약 하나로 입찰가를 정하지 마라. '면적 미상' 밴드는 공고에 면적 표기가 없거나 공고\n    원장에 사건이 없어 면적을 못 붙인 사건이지 0이 아니다.\n\n    **이 축의 자리(경매 가격판단 3종 중)**: 이 %는 **감정가 대비** 통계다. 특정 물건이\n    실거래 **시세** 대비 싼지는 realty_compare_auction_vs_market이 자동 계산한다 —\n    분모가 다르니 두 %를 한 문장에 섞지 마라(감정가는 시세와 다른 시점·기준의 값이다).\n    ","annotations":{"title":"낙찰가율 통계","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_builder_presale_record","title":"시공사·시행사별 분양 성적 — 공급·무순위·청약 배수","description":"시공사·시행사별 분양 성적 — 공고 수·공급 세대·무순위(줍줍) 세대와 비율·청약 1순위 배수·미달 세대.\n\n    \"○○건설 분양 성적\", \"GS건설 현장 무순위 많이 나왔나\", \"대전 시공사별 분양\", \"이 시행사 다른 현장은\"류\n    질문의 자리다. builder(또는 developer)를 주면 그 회사 행과 **현장 목록**(단지·지역·공고일·공급·\n    무순위·비율·시행사)을, 아무것도 안 주면 공급 상위 N개 회사 순위를, region(시도)을 주면 그 시도로 좁힌다.\n    행마다 같은 창의 **전국 비율(baseline)**이 비교 기준으로 붙는다.\n\n    **결론에 반드시 옮길 것**(meta.disclosures):\n    · 무순위 세대는 **최종 미분양이 아니다**(당첨 후 계약 포기분 재공급). 무순위 뒤 남은 것은 별도 필드.\n    · 청약홈 밖 공급(지주택·자체분양·선착순·임의공급)은 없다 — 대구처럼 선착순으로 빼는 지역은 비율이 낮게 나온다.\n    · **재무 건전성 판정이 아니다** — PF·부채·보증은 DART 영역. \"위험\"·\"부실\" 같은 낙인을 붙이지 말고\n      수치와 전국 비율만 전하라.\n    · 공동시공은 각 사에 전량 귀속, 회사명 묶음은 우리 규칙, 무순위 연결률은 meta.match_rate.\n\n    view='sites'는 \"무순위 청약에서도 신청이 모자란 단지\" 목록이다 — 최근 회차 미달 세대(청약 미달이지 미판매·\n    계약 결과가 아니다)와 시군구 미분양 추이. 그 뒤 선착순 판매 여부는 모른다(meta.disclosures).\n    **브랜드명(자이·래미안)으로 공고 개수를 세는 질문은 이 도구가 아니다** — realty_notice_facts(keyword).\n    ","annotations":{"title":"시공사·시행사별 분양 성적 — 공급·무순위·청약 배수","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_capital_gains_tax","title":"양도세 계산 — 선언된 양도·취득·보유에 세율표 적용, 합산/연도분산/차손통산 비교","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    ","annotations":{"title":"양도세 계산 — 선언된 양도·취득·보유에 세율표 적용, 합산/연도분산/차손통산 비교","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_compare_auction_vs_market","title":"경매가 vs 실거래 시세 비교","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    ","annotations":{"title":"경매가 vs 실거래 시세 비교","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_compare_regions","title":"[유료] 지역 비교","description":"[유료] 여러 지역의 매매·전세 시세와 추이를 나란히 비교한다. 갈아타기·투자처 비교용.\n\n    \"어디가 제일 ○○해?\"류 순위·탐색 질문은 무료 realty_region_rankings로 먼저 좁혀라 —\n    이 도구는 비교 대상이 정해졌을 때 쓴다.\n\n    ⚠️ 지역별 `warning_baseline`·`warning_dispersion`을 avg_price보다 먼저 읽어라 —\n    이 소스는 이상치 미필터·단지급 혼합이라 avg_price를 그대로 \"그 지역 시세\"로 인용하면\n    특정 단지와의 비교 결론이 뒤집힌다(realty_region_price_stats와 같은 공시다).\n    ","annotations":{"title":"[유료] 지역 비교","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_complex_pyeong_price","title":"단지 평형별 매매 실거래 내역","description":"특정 단지·특정 평형의 **최근 6개월 매매 실거래**를 건별(계약일·층·가격)로 조회한다.\n    평형별 시세 요약만 필요하면 realty_search_complexes의 prices_by_area로 충분하다.\n\n    응답에는 **층 밴드별 시세 집계 `price_by_floor_band`**(저층~초고층 밴드별 평균가·건수·\n    최저 밴드 대비 프리미엄 %)가 함께 온다 — \"저층 사면 손해야?\", \"고층 프리미엄 얼마야?\"류\n    **층별 시세 질문은 이 도구가 담당**이다(한 단지·건별). 여러 단지 층 분해·기준일 전후 비교·\n    6개월 넘는 창은 realty_region_price_stats(compare_from) 한 번으로.\n\n    transactions는 **계약일 내림차순**이고, average_price·median_price는 그 정렬 기준\n    최근 5건(summary_basis에 그 5건을 그대로 싣는다)이다. 이상 거래는 지우지 않고\n    `outlier=true`로 표시만 하며(판정 근거는 outliers.method), 층 밴드에는 이상치 제외 값을\n    `*_ex_outliers`로 병기한다 — **밴드 프리미엄이 몇 건의 산물인지 확인하고 말하라.**\n\n    **이름이 더 긴 이웃 단지는 분리해서 뺀다**('○○센트레빌'에서 '○○센트레빌Ⅱ'). 무엇을 뺐는지·못 가른\n    면적이 무엇인지는 `meta.complex_isolation`에 그대로 실린다. **못 가른 것은 빼지 않고\n    못 갈랐다고 적는다** — 그 평형 수치는 단정하지 말고 그 사실을 함께 전하라.\n\n    **면적은 사용자가 말한 단위 그대로 넣어라 — 환산은 서버가 한다**:\n    - ㎡로 말했으면 → area_m2_exclusive(전용 84㎡ → 84) / area_m2_supply(공급 112.8㎡ → 112.8)\n    - 평으로 말했으면 → pyeong_supply(분양 \"34평\") / pyeong_exclusive(전용 실평수 25.4평)\n    **평형을 모르면 면적 없이 불러라** — 거절하지 않고 이 단지의 평형별 요약과 평형마다\n    다시 부를 인자를 준다(평형을 추측해 넣지 마라). '최근 거래 있었나'는 그 요약의 latest_contract로 답한다. ㎡ 값을 평 인자에 넣으면 조용히 환산하지 않고 사유와 두\n    방향 출구를 값으로 적어 거절한다.\n    이 도구는 매매 전용이다 — 전월세는 realty_complex_rent_by_pyeong을 쓴다. 매매 창이 얇은\n    신축은 분양권·입주권 전매 거래를 `presale_rights_trades`에 **따로** 싣는다(전매가 — 매매 시세 아님).\n    ","annotations":{"title":"단지 평형별 매매 실거래 내역","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_complex_rent_by_pyeong","title":"단지 평형별 전월세 시세","description":"단지의 평형별 전세 보증금·월세 중앙값을 조회한다. 전세가율(전세÷매매) 계산의 전세 축이다.\n\n    complex_key·complex_name 중 하나는 필수. 부분일치는 동명 단지가 섞일 수 있으니\n    가능하면 realty_search_complexes로 complex_key를 먼저 특정하라.\n    행 키 supply_pyeong은 **분양평**(전용㎡ ÷ 3.3058 ÷ 0.745 반올림) 기준이다.\n    ","annotations":{"title":"단지 평형별 전월세 시세","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_complex_report","title":"[유료] 단지 통합 리포트","description":"[유료] 단지 하나의 시세·전세·기본정보를 통합 조회한다.\n\n    입지는 **location.facts(원시값)로 답하라** — 최근접역 이름·직선거리, 반경 500m·1km 안\n    정류장·병원·마트 수와 1km 안 초·중·고 수를 poi 원장에서 직접 센 값이다. location.overall_score·scores는\n    미검증 참고값이라(location.score_demotion) 순위·비교·'입지 좋음' 판정에 쓰지 마라.\n    응답에 좌표(latitude/longitude)와 complex_key가 들어 있다 — 이어서\n    realty_poi_nearby(시설 목록)·realty_predict_price(예측)에 그대로 넣어 심층 분석하라.\n    ","annotations":{"title":"[유료] 단지 통합 리포트","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_demographics","title":"인구통계 (인구·가구·연령·인구이동)","description":"지역 인구·가구·고령화·순유입 통계를 조회한다.\n\n    지역 인구통계를 조회한다 — \"인구 줄고 있어?\", \"1인 가구 비율은?\", \"고령화 심해?\",\n    \"순유입 되는 동네야?\"류 질문용.\n\n    응답 meta.data_as_of가 실제 최신 시점이다 — warning이 있으면 그대로 사용자에게 전달하고,\n    밀린 수치를 \"지금 인구\"로 단정하지 말 것. 연간 계열(households·age)은 기준연도를 밝혀라.\n    households만 동명 시군구(중구·서구 등)를 거절한다(원천 단명 수집 결함) — 그 경우\n    population·migration(정식 명칭 수집)으로 대신 조회하라.\n    ","annotations":{"title":"인구통계 (인구·가구·연령·인구이동)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_get_auction_case","title":"경매 사건 상세 조회","description":"사건번호로 경매 물건의 상세를 조회한다.\n\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\n    **이 축의 자리** — 사건번호·법원명을 **따로 받아 구조화 필드**로 돌려주는 상세가 이\n    도구다. `search` 결과의 id(`\"법원명|사건번호\"`)를 그대로 들고 있다면 `fetch`가 그 덩어리를\n    쪼개지 않고 받아 문서형 텍스트로 준다 — 둘은 대체재가 아니라 입력·응답 형태가 다른\n    짝이다. 조건으로 여러 건을 훑는 것은 `realty_search_auctions`다.\n    ","annotations":{"title":"경매 사건 상세 조회","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_invest_risk","title":"[유료] 지역 투자위험 분석","description":"[유료] 지역의 투자 위험도를 변동성·유동성·공급압력 축으로 점수화한다.\n\n    응답의 disclaimer(통계 요약이며 투자 권유 아님)를 사용자에게 반드시 함께 전달하라.\n    ","annotations":{"title":"[유료] 지역 투자위험 분석","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_loan_eligibility","title":"쓸 수 있는 대출 상품 나열 — 용도×지역×주택수 교차 판정","description":"내 조건에서 쓸 수 있는 대출 상품을 상품별로 나란히 판정한다.\n\n    **\"내 조건이면 어떤 대출을 쓸 수 있나\"**를 상품별로 나란히 낸다 — 사용자가 어느 규칙 토픽을\n    물어야 할지 몰라도 되게 하는 라우터다.\n\n    이 도구가 존재하는 이유: 대출 규칙이 상품별 토픽 7곳에 흩어져 있어서, 지금까지는 **호출자가\n    어느 토픽을 물어야 할지 알아야** 했다(2026-08-14). 용도·지역·주택수만 주면 **쓸 수 있는 상품과\n    못 쓰는 이유**를 함께 낸다.\n\n    경계: ① **주택 수·생애최초·신혼은 선언**이다(서버가 사실판정하지 않는다) ② **한도 금액을\n    계산하는 건 구입 목적의 은행권뿐**이고 그건 realty_loan_limit이 한다 — 이 도구는 **자격 대조와\n    라우팅**이다 ③ 전세·중도금은 보증기관·사업장이 지배해 **한도를 계산하지 않는다**, 전세반환은\n    **경과조치 해당 여부가 서류로 보는 사실판단**이라 계산하지 않는다 ④ 규칙의\n    근거·불확실성은 각 상품 토픽(응답의 `topic`)에 있으니 함께 읽어라.\n    ","annotations":{"title":"쓸 수 있는 대출 상품 나열 — 용도×지역×주택수 교차 판정","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_loan_limit","title":"주담대 규제 상한 판정 — LTV·한도·만기·DSR (선언 조건 기준)","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    ","annotations":{"title":"주담대 규제 상한 판정 — LTV·한도·만기·DSR (선언 조건 기준)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_location_scores","title":"단지 입지 원시값(역 거리·주변 학교·정류장 수) + 참고 점수","description":"단지 입지를 **원시값**으로 답한다 — \"역세권이야? 학군 어때? 병원 가까워?\" 담당.\n\n    **답은 행마다 맨 앞의 location_facts로 하라**: 최근접 지하철역 이름·노선·직선거리(m,\n    상한 없음 — 시골 단지는 30km도 그대로 나온다), 반경 500m·1km 안 역·버스 정류장 수,\n    1km 안 초·중·고 수와 최근접 초등학교 거리, 반경 안 병원(전 의료기관·병원급 분해)·마트\n    수. 전부 poi 원장에서 직접 센 값이라 재현할 수 있다. \"역세권이야?\"는\n    subway.nearest_distance_m와 walk_band로, \"초품아야?\"는 schools.nearest_elementary로 답하라.\n\n    같은 행의 transit_score·school_score는 **미검증 참고값**이다(응답 score_demotion) —\n    transit 90점 이상이 82%(2026-10-17)이고 역이 5km 넘게 떨어진 단지도 90점이 나와 변별력이 없다.\n    **점수로 순위를 매기거나 '역세권·학군 좋음'을 판정하지 마라.** 점수가 null이면 미측정이지\n    0점이 아니다. 학군 점수는 진학률·학원·학교 수 합성(v5)이지 학교 배정이 아니다.\n\n    complex_key/complex_name이면 단지 행(원시값은 앞 5개 단지), region만 주면 지역 집계 +\n    점수 상위 5 단지(점수 순이라 순위로 인용 금지). 여러 단지는 단지마다 부르지 말고\n    realty_search_complexes 한 번으로 받되 순위는 price_per_exclusive_m2로. 점수가 없는 단지도 색인에 좌표가 있으면\n    원시값을 준다. 없는 단지는 not_found — 지어내지 말고 realty_search_complexes로 실존부터\n    확인하라. complex_key는 공백 1칸으로 정규화돼 다른 도구에 그대로 넣을 수 있다.\n    시설 **목록**(이름별 거리)이 필요하면 [유료] realty_poi_nearby.\n    **거주 후기·평판(\"살기 좋대?\"·\"주민들 평 어때?\")은 이 데이터에 없다** — 시설 개수는 평판의\n    대용이 아니니 그런 질문에는 이 도구를 부르지 말고 데이터에 없다고 답하라.\n    ","annotations":{"title":"단지 입지 원시값(역 거리·주변 학교·정류장 수) + 참고 점수","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_macro_indicators","title":"거시 지표 (기준금리·KOSPI·M2 시계열)","description":"한국 기준금리·KOSPI·M2, 미 연준금리·S&P500 등 거시 지표의 월별 시계열을 조회한다.\n    \"금리가 집값에 어떤 영향?\"류 배경 분석용.\n\n    ⚠️ 계열마다 신선도가 다르다 — meta.series_as_of가 계열별 실제 최신 시점이다(예: 미\n    연준금리·S&P·코인은 최신인데 한국 기준금리·KOSPI는 2024-12 정지, ECOS 재수집 대기).\n    밀린 계열을 \"지금 금리\"로 인용하지 말고 반드시 그 계열의 시점을 함께 밝혀라.\n    ","annotations":{"title":"거시 지표 (기준금리·KOSPI·M2 시계열)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_market_signals","title":"[유료] 시장 신호 (미분양·심리지수)","description":"[유료] 미분양 추이와 시장심리지수를 한 번에 조회한다. 매수 타이밍 판단의 거시 신호.\n    준공후 미분양(unsold_completed, 지역 합계)도 같은 모양으로 싣는다.\n    sigungu를 주면 시군구 미분양 추이(unsold_sigungu)를 별도 키로 덧붙인다.\n\n    기본 창은 **6개월**이다(방향 판단에 필요한 최소). 더 긴 추이가 필요하면 months를\n    올리되, 전국 조회에서 창을 넓히면 오래된 달부터 예산에 맞춰 떨어지고 그 사실이\n    meta.truncated·meta.truncated_note에 값으로 실린다 — region을 지정하면 전 창이 온다.\n    ","annotations":{"title":"[유료] 시장 신호 (미분양·심리지수)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_member_transfer_check","title":"조합원 지위양도 가능 판정 — 투기과열지구×사업유형×단계 (도시정비법 39조)","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    ","annotations":{"title":"조합원 지위양도 가능 판정 — 투기과열지구×사업유형×단계 (도시정비법 39조)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_move_in_supply","title":"입주 예정 물량 — 입주장 리스크","description":"지역의 입주 예정 물량을 연월별로 집계한다.\n\n    지역의 입주 예정 물량을 연월별로 집계한다 — \"○○ 입주장 리스크 있어?\", \"내년에\n    입주 물량 얼마나 쏟아져?\"류 질문용. 입주 몰림은 전세가 하락·역전세 압력 신호다.\n    **region·sigungu를 둘 다 비우면 전국 호출**이고 응답에 `by_sido`(시도별 세대·공고 수,\n    세대 내림차순, 시도 미상 공고는 sido=null로 따로)가 실린다 — 시도 비교에 시도마다\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    ","annotations":{"title":"입주 예정 물량 — 입주장 리스크","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_nonapt_prices","title":"비아파트 시세 — 빌라·오피스텔·단독·토지 (아파트는 이 도구가 아니다)","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    **도시형생활주택은 property_type에 없고 가를 수도 없다** — 원천에 유형 코드가 없어\n    아파트·연립다세대·오피스텔 신고에 섞여 있다. villa/officetel 값을 도시형생활주택\n    시세로 부르지 말고 섞여 있다고 밝혀라(응답 urban_housing_notice).\n    면적 기준: villa/officetel은 전용면적(area_m2·area_pyeong), house는 대지(land_*)와\n    건물(building_*) 분리, land는 계약면적·지목(land_category)·용도지역(zoning)이 온다.\n    land의 share_type='지분' 행은 필지 일부 거래라 면적당 가격 비교에 쓰지 말 것(집계는\n    지분·해제 제외 — 응답 note 참조).\n    경매에 나온 빌라·다세대(지분 물건 포함)의 입찰가를 정할 때 **견줄 실거래 시세**도 여기서 잡는다.\n    ","annotations":{"title":"비아파트 시세 — 빌라·오피스텔·단독·토지 (아파트는 이 도구가 아니다)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_notice_facts","title":"모집공고 팩트시트 — 전매제한·자격·층별 분양가·옵션가·중도금","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\n    `keyword`는 단지명 일부이자 **브랜드**다('자이'·'힐스테이트'): 여러 공고가 걸리면 후보와\n    **걸린 총 건수(total_matched)**를 준다 — \"자이 브랜드 공고 몇 개야?\"는 keyword 하나로\n    여기서 센다(시공사 단위 분양 성적은 realty_builder_presale_record).\n    ","annotations":{"title":"모집공고 팩트시트 — 전매제한·자격·층별 분양가·옵션가·중도금","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_notice_text","title":"모집공고 원문 쪽 읽기 — 자격 세부·유의사항 전문","description":"입주자모집공고문 원문을 쪽 단위로 읽어 준다.\n\n    입주자모집공고문 원문을 쪽 단위로 읽는다 — 팩트시트에 없는 세부(특별공급 소득·자산 기준,\n    부적격 처리, 계약 유의사항, 옵션 품목 상세)는 이 도구로 원문을 직접 확인하라.\n    표가 있는 쪽은 pdftotext 특성상 정렬이 깨질 수 있다 — 열 해석이 애매하면 단정하지 말 것.\n\n    여러 낱말은 AND로 묶인다('가점제 추첨제'→둘 다 있는 쪽). 0쪽이면 막다르지 않고 낱말별\n    히트 쪽과 부분일치 상위 쪽을 함께 돌려주니 그걸로 좁혀라(match='any'로 넓힐 수도 있다).\n    **쪽을 모를 땐 pages_only=true로 먼저 훑어라** — 전문은 한 번에 수만 자다.\n    전문 응답은 최대 6쪽이고, meta.matching_pages에 일치 쪽 전체 목록이 늘 들어 있다.\n    ","annotations":{"title":"모집공고 원문 쪽 읽기 — 자격 세부·유의사항 전문","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_onbid_sale_rate","title":"공매 낙찰가율·개찰 결과 통계","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    ","annotations":{"title":"공매 낙찰가율·개찰 결과 통계","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_poi_nearby","title":"[유료] 주변 입지 분석","description":"[유료] 좌표 주변의 지하철·학교·병원·마트 등 입지 요소를 거리순으로 조회한다.\n\n    단지 좌표는 realty_complex_report가 준다. \"역세권인가\", \"초품아인가\" 판단용.\n    최근접역 거리·반경 안 개수만 필요하면 무료 realty_location_scores의 location_facts로\n    충분하다 — 이 도구는 시설 **목록**(이름별 거리)이 필요할 때 쓴다.\n    ","annotations":{"title":"[유료] 주변 입지 분석","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_poi_stats","title":"[유료] 지역별 인프라 통계","description":"[유료] 시군구별 병원·학교·지하철역 개수 통계를 조회한다. 지역 간 인프라 비교용.\n\n    지역 키는 '시도축약 시군구' 2토큰이다(예: '서울 마포구', 세종은 1토큰). 병원·지하철은\n    수집 범위가 수도권·광역시 중심이라 지방 시군구는 0으로 나올 수 있다 — 0을 \"없다\"로\n    단정하지 말고 수집 범위 밖일 수 있다고 말하라.\n    ","annotations":{"title":"[유료] 지역별 인프라 통계","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_policy_rules","title":"법령·규제 규범 — 세율표·규제지역·대출·임대차·청약·정비사업 규칙","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\n    개별 사건·임차인 판단은 다른 도구: 재매각 보증금→realty_get_auction_case, 날짜로 묻는\n    대항력→realty_small_deposit_check, 빌라 지분 입찰가 시세→realty_nonapt_prices.\n    ","annotations":{"title":"법령·규제 규범 — 세율표·규제지역·대출·임대차·청약·정비사업 규칙","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_predict_price","title":"[유료] 단지 가격 예측 (XGBoost)","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    ","annotations":{"title":"[유료] 단지 가격 예측 (XGBoost)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_presale","title":"청약 분양 공고","description":"아파트 청약(분양) 공고를 조회한다 — 분양가·청약 접수 일정·당첨자 발표일·입주 예정·위치.\n    \"다음 달 청약 넣을 만한 데 있어?\", \"○○에 분양하는 아파트 있어?\"류 질문용.\n\n    **\"오늘/지금 접수 가능한 청약\"은 status='접수중'이다.** upcoming=true는 접수 **시작 전**(오늘\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 도구에 있다. 행마다 `rank1_result`(1순위\n    해당지역 결과 요약 — status·undersubscribed_types/total_types·shortfall_households·verdict_text)가\n    붙는다: status가 published가 아니면 **미달 여부를 모른다**는 뜻이지 경쟁이 있었다는 뜻이 아니다.\n\n    무순위(줍줍)·취소재공급이 돈 공고에는 `unsold_history`(회차·세대)가 붙는다 — 접수\n    경쟁률이 높아도 무순위가 돌았다면 \"당첨 후 계약이 안 된\" 시장이다. 없다고 이력이\n    없던 건 아니다(meta.unsold_note의 연결 한계 참조). 무순위 공고 자체(지금 나온 것·몇 번\n    나왔나)는 notice_kind로 묻는다. 같은 지역 공고들의 분양가가\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    ","annotations":{"title":"청약 분양 공고","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_presale_context","title":"분양 공고 견주기 — 같은 시군구·평형 공고들과의 5축 비교(공고 원문 축)","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    ","annotations":{"title":"분양 공고 견주기 — 같은 시군구·평형 공고들과의 5축 비교(공고 원문 축)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_presale_cost","title":"분양 총 소요자금 계산 — 중도금 이자·취득세·층별 총액","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    ","annotations":{"title":"분양 총 소요자금 계산 — 중도금 이자·취득세·층별 총액","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_presale_funding_plan","title":"분양 자금 흐름 판정 — 계약금·중도금·잔금 시점별 필요액 × 대출 규제 상한","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    ","annotations":{"title":"분양 자금 흐름 판정 — 계약금·중도금·잔금 시점별 필요액 × 대출 규제 상한","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_presale_price_trend","title":"지역 분양가 추이 — 공고 간 연도별 평당 분양가","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    ","annotations":{"title":"지역 분양가 추이 — 공고 간 연도별 평당 분양가","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_presale_vs_market","title":"분양가 적정성 분석 — 분양가 vs 주변 실거래 시세","description":"청약(분양) 공고의 분양가가 주변 실거래 시세 대비 싼지/비싼지를 주택형별로 계산한다.\n    \"이 청약 넣을 만해?\", \"분양가 적정해?\"류 질문의 정량 근거 — 웹검색으로는 못 하는\n    분양가×실거래 조인 계산이 이 도구의 존재 이유다.\n\n    공고 특정: house_manage_no가 없으면 region+keyword로 검색하고, 여러 건이면\n    후보 목록을 돌려주니 하나를 골라 다시 호출하라(추측해서 고르지 않는다).\n    기준선: 평형 행의 gap_pct는 gap_basis가 말하는 기준 대비다 — 인근 비교단지가 충분하면\n    **공고 좌표 반경·준공 연도 조건·같은 평형대 비교군**(nearby_baseline) 대비이고, 아니면\n    지역(공고 시군구, 없으면 시도) 실거래 평균(구축·외곽 포함, 이상치 미필터) 대비다. 지역 평균 대비 값은\n    gap_pct_region_avg에 늘 따로 있고, 두 기준선이 크게 갈리면 baseline_divergence가\n    붙는다 — 그때 지역 평균 대비 수치로 '비싸다'를 말하지 마라. 청약 경쟁률·당첨 가점\n    커트라인은 realty_subscription_odds에 있다(\"넣을 만해?\"엔 둘을 같이 써라).\n    지역 수준 교차확인은 realty_area_price_bands(이상치 필터·중앙값)로 하라.\n    이 도구는 **현재 공고 1건의 적정성**이다 — 같은 지역 공고들의 분양가 시계열\n    (\"기다릴수록 얼마씩 올랐나\")은 realty_presale_price_trend.\n    ","annotations":{"title":"분양가 적정성 분석 — 분양가 vs 주변 실거래 시세","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_public_rental_notices","title":"공공임대 모집공고 — LH 행복주택·국민임대·매입임대 등 마감 전 공고(접수 예정 포함)","description":"마감 전 공공임대 모집공고(접수 예정 포함) — LH 행복주택·국민임대·영구임대·통합공공임대·공공임대·매입임대·전세임대.\n\n    \"행복주택 모집 공고 있어?\", \"서울 청년 전세임대 지금 신청돼?\", \"경기 매입임대 모집\", \"LH 임대 공고\"류\n    질문의 자리다. 공고마다 유형·지역·진행상태·마감일·남은 일수와 **원문 공고 주소(source_url)**를 준다.\n    마감 임박 순이고 총계(meta.total_matched)·잘림(meta.truncated)이 함께 나온다.\n\n    **결론에 반드시 옮길 것**:\n    · 원천은 LH 공고(+마이홈의 LH 밖 공급기관 일부)다. **SH·GH·iH 등 지방공사 자체 공고와 장기전세는 없다**\n      — 0건이나 적은 건수를 '모집이 없다'로 말하지 마라(meta.coverage.not_covered).\n    · 자격(소득·자산·무주택) 판정은 하지 않는다 — 신청 가능 여부는 source_url 공고문으로 안내하라.\n    · 수집 시각은 meta.freshness다 — 캐시라 그 뒤 공고는 없다.\n    · 마감 전이면 **접수 시작 전 공고도 든다**(LH 공고중·status 접수예정) — '지금 신청 가능'으로 말하지 말고\n      접수 기간은 공고문으로 확인하라. 지금 접수 중이 확실한 것은 status 접수중뿐이다.\n    ","annotations":{"title":"공공임대 모집공고 — LH 행복주택·국민임대·매입임대 등 마감 전 공고(접수 예정 포함)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_reconstruction","title":"[유료] 재건축 유망 단지","description":"[유료] 건령·거래활성 기반 재건축 **후보 스크리닝** 상위 단지를 조회한다.\n\n    점수 = 건령(최대 70, 30년 연한 기준) + 최근 12개월 거래활성 전국 백분위(최대 30).\n    사업성(용적률·대지지분·안전진단·조합 단계)은 반영되지 않는다 — 후보 발굴용이지\n    투자 판단 근거가 아니며, 응답의 disclaimer를 사용자에게 그대로 전하라.\n    ","annotations":{"title":"[유료] 재건축 유망 단지","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_redevelopment","title":"[유료] 서울 재개발·재건축 사업장","description":"[유료] 서울시 정비사업(재개발·재건축·가로주택) 사업장 목록을 조회한다.\n\n    [유료] 서울시 정비사업(재개발·재건축·가로주택 등) 사업장 목록 — 사업명·유형·\n    진행 단계·위치. \"○○구 재개발 어디까지 진행됐어?\"·\"면목동 재개발 어디 있어?\"류 질문용.\n    구(region)·동(dong)·유형(project_type)·진행 단계(stage)로 거를 수 있다.\n\n    **커버리지는 서울 한정**(정보몽땅 원천) — 타 시도는 이 도구로 답할 수 없다고 밝혀라.\n    세대수·준공예정은 원천 목록이 제공하지 않아 null이다(지어내지 말 것). 원천이 진행\n    단계를 비워 둔 사업장이 있다(약 2%) — stage가 빈 행은 '단계 미상'이지 '진행 없음'이 아니다.\n    재건축 **유망도 점수**는 이 도구가 아니라 realty_reconstruction이 담당하고,\n    \"지금 사면 조합원 지위 승계돼?\"는 realty_member_transfer_check(무료)가 담당한다.\n    ","annotations":{"title":"[유료] 서울 재개발·재건축 사업장","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_redevelopment_burden","title":"정비사업 분담금 계산 — 선언된 감정평가액·비례율로 권리가액·분담금","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    ","annotations":{"title":"정비사업 분담금 계산 — 선언된 감정평가액·비례율로 권리가액·분담금","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_region_price_stats","title":"지역 실거래 시세 통계","description":"지역의 아파트 실거래 시세 **추이**(월별)를 조회한다. 경매가가 싼지 판단하는 기준선이 된다.\n\n    **이 축의 자리(시세 도구 3종 중)**: 월별 흐름·방향이 필요할 때 이걸 쓴다. 지역의\n    가격 **수준**을 인용할 거면 realty_area_price_bands를 쓰라 — 평형(pyeong)을 지정하면\n    이 축은 셀 평균이라 직거래 이상치가 안 걸러지고(전체 평형은 해제·직거래 이상치 제외 —\n    행 avg_basis), **평형 지정 값이 bands와 갈리면 bands 쪽이 정상 매매에 가깝다**(세종\n    소형 실측 4,400만원 차). 단지가 특정된 질문(\"○○아파트\n    얼마야\")은 realty_search_complexes가 기본이다 — 지역 평균은 단지 간 편차(같은 동\n    같은 평형에서 단지 평균 24% 차)를 뭉갠다.\n\n    region은 시군구명(예: '강남구') 또는 **법정동까지**(예: '강남구 대치동',\n    '세종특별자치시 나성동') — 세종처럼 시군구가 하나인 도시는 동 단위로 좁혀야 신도심·\n    구도심이 섞이지 않는다(2026-08-08, 8/7 테스터 제안 수용). 동명 지역이 여럿이면\n    시도를 앞에 붙여라 — 안 붙이면 **고르지 않고 거절**하며(region_ambiguous) 토큰이\n    정확히 같은 후보를 준다(그 목록을 사용자에게 되묻고, 고른 이름을 그대로 다시 넣어라).\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\n    **기준일 전후 비교·단지별 층/평형 분해는 여기서 한 번에**: 단지 목록엔 단지마다 층 밴드\n    분해(평형 미지정이면 평형대 4구간도)가 붙고 compare_from을 주면 전후 비교가 붙는다. 창은\n    months 전체(6개월 고정 아님)·계약해제 제외다. '고층 신고가냐 시세 상승이냐'는 전후 창의 층\n    분해로 가른다. 한쪽 3건 미만이면 변화율은 판정 보류, 기준일 이후 창은 신고기한 30일로 미완결.\n    ","annotations":{"title":"지역 실거래 시세 통계","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_region_rankings","title":"지역 순위 (시세·상승률·전세가율·교통·학군)","description":"시군구 순위를 가격·상승률·전세가율 같은 축으로 조회한다.\n\n    지역(시군구) 순위를 조회한다 — \"제일 비싼 동네 어디야?\", \"요즘 많이 오른 지역은?\",\n    \"전세가율 높은 곳은?\"류 질문용.\n\n    price=거래량 가중 전용 평당가(최소 5건, 최신월은 집계 진행 중일 수 있음) ·\n    growth=전용 60-85㎡ 고정 YoY(평형 구성 왜곡 제거). 응답 methodology의 산식·단위를\n    답변에 반영하라. investment=전세가율(시군구×전용평 셀로 매매·전세를 **같은 평형끼리** 짝지어\n    산출, 전 행이 같은 기준월·짝지은 건수 공시). 같은 평형·단지 수준은 realty_rental_yield.\n    **transit·school도 보류다**(2026-09-26, D-2026W39-16) — 입지 점수는 90점 이상이 86.7%라\n    변별력이 없어 지역 순위를 내지 않는다. \"교통 좋은 동네\"는 단지를 특정해\n    realty_location_scores의 location_facts(최근접역 거리·반경 안 정류장·학교 수)로 답하라.\n    비교 대상이 두어 곳으로 정해진 질문(\"A vs B 어디가 나아?\")은 [유료]\n    realty_compare_regions가 시세·추이를 나란히 준다 — 이 도구는 순위·탐색용이다.\n    ","annotations":{"title":"지역 순위 (시세·상승률·전세가율·교통·학군)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_region_trend_basket","title":"지역 추이 — 동일 단지 고정 바스켓 (구성 변화 제거)","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    ","annotations":{"title":"지역 추이 — 동일 단지 고정 바스켓 (구성 변화 제거)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_remodel_feasibility","title":"개조 가능성 — 벽을 헐 수 있나·욕실을 옮길 수 있나(법령 + 공고 인용)","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    ","annotations":{"title":"개조 가능성 — 벽을 헐 수 있나·욕실을 옮길 수 있나(법령 + 공고 인용)","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_rental_yield","title":"[유료] 전월세 수익률","description":"[유료] 시군구별 월세 수익률·평균 매매가·평균 월세를 조회한다. 수익형 투자 스크리닝용.\n\n    기본 응답은 최신 완결월 1개월치를 수익률 내림차순으로 자른 것이다 — 전체 기간·전체\n    지역이 아니다(truncated 필드 확인). 특정 월은 year_month로 조회하라.\n    ","annotations":{"title":"[유료] 전월세 수익률","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_search_auctions","title":"경매 물건 조건 검색","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` — 법원 기일표 정본이다. 그대로 믿어도 된다(2026-10-17 실측 활성의 23.2%).\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_bid_count로 여기서 걸러도 같은 축 — 결과를 합쳐 세지 마라).\n    ","annotations":{"title":"경매 물건 조건 검색","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_search_complexes","title":"아파트 단지 검색·평형별 시세","description":"아파트 단지를 이름·지역으로 검색하고 **평형별 실거래 시세**를 함께 돌려준다.\n    \"○○아파트 34평 얼마야\"류 단지 질문의 1차 도구다. query·region 중 하나는 필수.\n\n    **이 축의 자리(시세 도구 3종 중)**: 단지가 특정되면 **이게 기본**이다. 지역 평균\n    도구들(realty_region_price_stats·realty_area_price_bands)은 단지 간 편차를 뭉개므로\n    단지 질문에 쓰지 마라 — 같은 동 같은 평형에서 단지 평균이 24% 벌어진 실측이 있다.\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.status — transit 90점 이상 82%, 2026-10-17).\n    \"역세권이야?\"는 행의 nearest_station·subway_distance_m(직선 m)으로 답하라.\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가 받는다**: \"500세대 이상\", \"1,000세대 넘는 대단지\", \"300세대 이하 소규모\"는\n    이 인자로 넣어라 — 종전엔 전달할 자리가 없어 그 질문이 통째로 실패했다. 행마다\n    households가 실린다. **households가 null인 단지는 세대수가 원장에 없는 것이지\n    작은 단지가 아니다** — 그래서 세대수 조건을 걸면 그 단지들은 크든 작든 제외되고,\n    몇 건이 그렇게 빠졌는지는 meta.households_scope가 적는다.\n\n    **'3억 이하 오래된 아파트'는 max_trade_price_10k·max_construction_year·sort='year_asc'가\n    받는다**: 예) region='노원구',\n    max_trade_price_10k=30000, max_construction_year=1996, sort='year_asc', period_months=12.\n    거래가 상한은 평균가가 아니라 **창 안 최저 실거래가**로 판정한다(행의 min_trade_price).\n    '재개발 호재'는 이 도구 축이 아니다 — 정비사업 구역은 realty_redevelopment(전체 표면).\n    단지 평판·거주 후기(\"살기 좋대?\")는 원장에 없다 — 부르지 마라.\n\n    **거래 적은(환금성 낮은) 단지 확인 = sort='turnover_asc'** — 행마다 turnover_pct(창 안 매매\n    건수 ÷ 세대수 × 100, 창 그대로)와 turnover_pct_annualized(12개월 환산)가 실린다. 사실값이다 —\n    회전율이 낮다고 투자 부적격이라 판정하지 않는다. 세대수 미상이면 null + 사유(미상 ≠ 저회전).\n    ","annotations":{"title":"아파트 단지 검색·평형별 시세","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_search_onbid","title":"공매(온비드) 물건 검색","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    ","annotations":{"title":"공매(온비드) 물건 검색","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_small_deposit_check","title":"소액임차인 최우선변제 — 담보물권 설정일로 적용 시행령 판을 고른다","description":"소액임차인 최우선변제의 **금액표를 고르는 도구**다 — 판정기가 아니다.\n\n    \"전입은 근저당보다 빠르고 확정일자는 늦으면?\"처럼 **임차인 한 사람의 날짜들**(전입·\n    확정일자·근저당)로 대항력·우선변제·최우선변제를 묻는 질문은 여기서 시작하라 — 근저당\n    날짜로 금액표를 고르고 `not_a_conclusion`이 남은 요건을 적는다. 두 권리의 요건 원문은\n    realty_policy_rules(topic=auction_rights)가 함께 준다.\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    ","annotations":{"title":"소액임차인 최우선변제 — 담보물권 설정일로 적용 시행령 판을 고른다","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_subscription_odds","title":"청약 경쟁률·당첨 가점 — 내 가점으로 되나","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    ","annotations":{"title":"청약 경쟁률·당첨 가점 — 내 가점으로 되나","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_subscription_score","title":"청약 가점 계산 — 선언된 기간·인원에 배점표(84점) 적용","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    ","annotations":{"title":"청약 가점 계산 — 선언된 기간·인원에 배점표(84점) 적용","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_supply_demand_balance","title":"시군구 수급 균형 — 입주 예정 대 세대 증가","description":"시군구마다 앞으로 들어올 아파트와 늘어나는 세대를 같은 창으로 나눠 수급을 판정한다.\n\n    \"○○ 공급 과잉이야?\", \"세종 대전 서울 경기 수급\", \"어디가 입주 대비 수요가 많아?\"류 질문의\n    자리 — 입주(청약홈 공고, 향후 N개월)를 연 단위로 환산해 최근 12개월 세대 증가로 나눈\n    **비율**과 판정(과잉 >1.5 · 공급 우위 1~1.5 · 균형 0.5~1 · 부족 <0.5 · 세대 감소 중)을 주고,\n    같은 행에 교차검증 신호(순이동·매매 거래량 증감·전세/월세 증감과 월세 비중·1순위 경쟁률·\n    낙찰가율·미분양)를 싣는다. 판정과 신호가 엇갈리면 `conflict`에 적는다.\n\n    **결론에 반드시 옮길 것**:\n    · 입주는 **하한**이다 — 정비사업 조합원분이 공고에 없어 서울처럼 재건축 비중이 큰 곳은\n      '부족'이 실제보다 과장된다. `meta.disclosures`를 그대로 전하라.\n    · `permit_pipeline_households`(사업승인 기준)는 **입주에 더하지 마라**(이중계상).\n    · `denominator_unstable=true`면 비율이 분모 탓에 흔들린다 — 배수를 단정하지 마라.\n    · 판정 구간은 **우리 규칙**이지 공식 기준이 아니다. 호가 매물·비아파트는 데이터에 없다.\n    · 지표마다 기준 시점이 다르다 — `meta.series_as_of`로 밝혀라.\n    ","annotations":{"title":"시군구 수급 균형 — 입주 예정 대 세대 증가","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_supply_pipeline","title":"공고 전 공급 파이프라인 — 사업승인 기준 예정 물량","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    ","annotations":{"title":"공고 전 공급 파이프라인 — 사업승인 기준 예정 물량","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"realty_vacant_housing","title":"빈집(미거주주택) — 시군구 빈집 수·비율·건축연도·원인 유형","description":"통계청 빈집(미거주주택) — 빈집 수·빈집 비율·전체 주택, 아파트/비아파트, 건축연도 구간, 원인 유형.\n\n    \"○○ 빈집 몇 채야\", \"빈집 왜 늘었어\", \"빈집률 높은 시\", \"과천 빈집\", \"지방 빈집\"류 질문의 자리다.\n    시군구를 주면 연도 시계열(2015~)·아파트/비아파트 분리·건축연도 구간(최근 2년 준공·1980년대·1979 이전 등)·\n    재고 대 세대 증감 분해·준공후 미분양 몫·**같은 유형(시·구·군) 안 백분위**·원인 유형 라벨\n    (정비사업 이주형·공급·입주형·인구유출·노후형·관광·세컨드형(추정), 규칙과 근거 수치 동봉)을 준다.\n\n    **결론에 반드시 옮길 것**:\n    · `definition` — 통계청 미거주주택은 조사 시점(11월 1일) 비어 있는 집 전부(매매·이사 대기·미분양 포함)이고\n      **법정 빈집(1년 이상 미사용)과 다르다.** 지자체 법정 빈집 실태조사 수치는 이 도구에 없다.\n    · 빈집 수(vacant_housing_count)와 빈집 비율(vacancy_rate_pct)을 섞지 마라.\n    · 원인 유형은 우리 규칙의 라벨이고, 빈집률로 가격을 내다보지 마라 — 같은 기간 동행 관측만 있다\n      (meta.findings_not_prediction).\n    · null 값은 0이 아니다 — null_reasons(KOSIS 비공개 'X' 등)를 옮겨라.\n    ","annotations":{"title":"빈집(미거주주택) — 시군구 빈집 수·비율·건축연도·원인 유형","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"report_issue","title":"답변 오류 신고","description":"사용자가 **답변 오류 제보나 개선 요청을 전해 달라고 했을 때만** 운영자에게 보낸다.\n\n    쓰는 때: 사용자가 \"이거 틀렸으니 신고해 줘\", \"운영자에게 알려 줘\", \"이런 데이터도 넣어\n    달라고 전해 줘\"처럼 제보·요청을 부탁했을 때. 보내기 전에 무엇이 전달되는지 사용자에게\n    알린다. kind='결함'은 틀린 답 제보, kind='질문기록'은 개선 요청이다.\n\n    쓰지 않는 때: 사용자가 요청하지 않았는데 질문을 남기려고 부르지 않는다. 답하기 전에\n    먼저 부르지도 않는다 — 이 도구는 답변·정정을 대신하지 않는다.\n\n    전달 내용(인자)과 같은 사용자의 직전 호출 기록 요약이 운영자 검토용으로 저장된다\n    (개인정보처리방침 https://realty.sallim.app/privacy). 무인증 공개 서버라 쓰기 표면을 이\n    도구 하나로 묶어 시간당 상한(전체 60건·발신자당 20건)을 걸고, 일일 조회 한도(quota)와는\n    무관하게 접수된다.\n    ","annotations":{"title":"답변 오류 신고","readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"},{"name":"search","title":"경매 물건 검색","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    되지만, **면적·층·기일 범위는 그 도구에도 인자가 없다**(외부 QA 2026-10-04 ③) — 기일은\n    `exclude_past=true`(오늘 이후만)·`sort=\"date_asc\"`까지만 되고, 면적·층은 결과 행과\n    `fetch` 상세의 값을 보고 직접 걸러야 한다. 없는 인자로 재호출하라고 안내하지 마라.\n\n    각 결과의 id는 이어서 fetch(id)에 그대로 넣으면 상세를 볼 수 있다.\n\n    **이 축의 자리** — 경매 검색은 둘이고 입력 형태로 갈린다. 사용자의 말을 문장 그대로\n    넘길 때가 이 도구(`search`)이고, 지역·종류·감정가·유찰횟수를 **값으로 이미 알 때**는\n    `realty_search_auctions`다(면적·층·기일 범위는 **어느 쪽에도 필터가 없다** — 위 참조).\n    상세는 `fetch`로 이어간다 — 여기 나온 id를 그대로 넣으면 된다.\n    ","annotations":{"title":"경매 물건 검색","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T13:19:06.021Z"}],"dev.protogrid/trust":{"score":90,"components":{"hygiene":75,"liveness":97,"freshness":100,"provenance":85},"drivers":["+repository","+dns-namespace","+website","+reachable","+uptime-92%","+updated-0d-ago","-multi-version-spam(270)"],"flags":["multi-version-spam"],"blocked":false,"computed_at":"2026-10-19T15:46:33.170Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."},"dev.protogrid/quality":{"score":66,"label":"needs work","components":{"auth":null,"hygiene":79,"protocol":75,"stability":25,"dependencies":null},"checks":[{"id":"protocol.modern","detail":"newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28","status":"warn","category":"protocol"},{"id":"protocol.stateless","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"protocol.transport","detail":"streamable HTTP","status":"pass","category":"protocol"},{"id":"protocol.list_ttl","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"auth.prm","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.as_metadata","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.cimd","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.secret_in_url","detail":"no templated URL","status":"na","category":"auth"},{"id":"tools.descriptions","detail":"every tool has a description","status":"pass","category":"hygiene"},{"id":"tools.description_length","detail":"17 tools have descriptions over 1,024 characters, which crowds the context","status":"warn","category":"hygiene"},{"id":"tools.schemas","detail":"every tool has an object input schema","status":"pass","category":"hygiene"},{"id":"tools.annotations","detail":"56 of 56 tools declare readOnlyHint or destructiveHint","status":"pass","category":"hygiene"},{"id":"tools.directory_hints","detail":"every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint","status":"pass","category":"hygiene"},{"id":"tools.token_cost","detail":"about 34,907 tokens to load every tool, a large share of an agent's context","status":"fail","category":"hygiene"},{"id":"tools.api_dump","detail":"tools are not a one-to-one API dump","status":"pass","category":"hygiene"},{"id":"stability.changes","detail":"138 tool changes in 30 days","status":"warn","category":"stability"},{"id":"stability.rug_pull","detail":"3 tools kept their name but changed most of their description in 30 days; review before trusting them","status":"fail","category":"stability"},{"id":"deps.known_vulns","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.mcp_sdk_version","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.resolvable","detail":"no npm or PyPI package","status":"na","category":"dependencies"}],"drivers":["-tools.token_cost","-stability.rug_pull","~protocol.modern","~tools.description_length","~stability.changes"],"flags":[],"tool_count":56,"token_estimate":34907,"tools_hash":"60d7662fbe9c90bfd0dc70fc631e753a","tools_changed_at":"2026-10-18T00:33:52.869Z","computed_at":"2026-10-19T15:48:21.482Z","disclaimer":"Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed."},"dev.protogrid/identity":{"canonical_id":"app.sallim/korea-realty","aliases":[],"alias_count":0,"repository_key":"github:sallim-app/korea-realty","owner":{"verified":false,"method":null,"since":null}}},"next_actions":[{"action":"list_tools","description":"Every current tool with input schemas","href":"/v1/servers/app.sallim%2Fkorea-realty/tools","arguments":{"name":"app.sallim/korea-realty"}},{"action":"get_connection","description":"Minimal connection block for the preferred remote or package","href":"/v1/servers/app.sallim%2Fkorea-realty/connection?target=mcpServers","arguments":{"name":"app.sallim/korea-realty","target":"mcpServers"}},{"action":"search","description":"Find other servers by intent","href":"/v1/search?q={query}","arguments":{"q":"{query}"}}]}