Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

app.sallim/korea-realty

REMOTE · REALTY.SALLIM.APP · SCANNED OCT 2

Korean real estate: court auctions, 10M+ MOLIT records, subscription notice facts, loan/DSR rules

−1 this week 80 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security74
Transport & Reachability100
Schema Quality & AI Usability57
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 51681 tokens (~939/item across 55 items; 55 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "realty_member_transfer_check" implies "transfer" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Fail
  • An AI judge read all 56 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the app.sallim/korea-realty MCP server?

app.sallim/korea-realty is a hosted endpoint at https://realty.sallim.app/mcp?via=official, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · realty.sallim.app

# add to Claude Code
claude mcp add --transport http app-sallim-korea-realty 'https://realty.sallim.app/mcp?via=official'
// .cursor/mcp.json
{
  "mcpServers": {
    "app-sallim-korea-realty": {
      "url": "https://realty.sallim.app/mcp?via=official"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "app-sallim-korea-realty": {
      "type": "http",
      "url": "https://realty.sallim.app/mcp?via=official"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.app-sallim-korea-realty]
url = "https://realty.sallim.app/mcp?via=official"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-sallim-korea-realty": {
      "type": "remote",
      "url": "https://realty.sallim.app/mcp?via=official",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add app-sallim-korea-realty --url 'https://realty.sallim.app/mcp?via=official' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  app-sallim-korea-realty:
    url: "https://realty.sallim.app/mcp?via=official"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "app-sallim-korea-realty": {
      "Transport": "http",
      "Url": "https://realty.sallim.app/mcp?via=official"
    }
  }
}
# add to Vellum
assistant mcp add app-sallim-korea-realty -t streamable-http -u 'https://realty.sallim.app/mcp?via=official'
// mcp.json
{
  "mcpServers": {
    "app-sallim-korea-realty": {
      "type": "http",
      "url": "https://realty.sallim.app/mcp?via=official"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Oct 26 +43
    • Authorization: unverified → partial ▲ security
    • Injection markers: unverified → pass ▲ security
    • Stability: unverified → pass ▲ security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “realty_market_signals” rewrote its description, which is the text the model reads security
    • Tool “realty_auction_sale_rate” rewrote its description, which is the text the model reads security
    • Tool “realty_region_rankings” rewrote its description, which is the text the model reads security
    • Tool “realty_redevelopment” rewrote its description, which is the text the model reads security
    • Tool “realty_search_complexes” rewrote its description, which is the text the model reads security
    • Tool coverage: unverified → 100 ▲ functional
    • Server version: 0.98.10 → 0.98.14 functional
    • Server version: 0.98.4 → 0.98.10 functional
    • Server version: 0.97.1 → 0.98.4 functional
    • Server version: 0.96.4 → 0.97.1 functional
    • Server version: 0.95.22 → 0.96.4 functional
    • New tool “realty_public_rental_notices” functional
    • “realty_market_signals” added an optional parameter “sigungu” cosmetic
    • “realty_reconstruction” added an optional parameter “region” cosmetic
    • “realty_redevelopment” added an optional parameter “stage” cosmetic
    • “realty_redevelopment” added an optional parameter “region” cosmetic
    • “realty_redevelopment” added an optional parameter “dong” cosmetic
    • “realty_search_complexes” added an optional parameter “max_trade_price_10k” cosmetic
    • “realty_search_complexes” added an optional parameter “max_construction_year” cosmetic
    • “realty_poi_stats” reworded the description of “region” cosmetic
    • “realty_policy_rules” reworded the description of “topic” cosmetic
    • “realty_redevelopment” reworded the description of “sigungu” cosmetic
    • “realty_search_complexes” reworded the description of “sort” cosmetic
  • 1 Oct 26 −44
    • Authorization: partial → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Stability: pass → unverified ▼ security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “realty_search_complexes” rewrote its description, which is the text the model reads security
    • Tool coverage: 100 → unverified ▼ functional
    • First check of Schema quality: unverified functional
    • Server version: 0.95.26 → 0.96.2 functional
    • Server version: 0.95.23 → 0.95.26 functional
    • Server version: 0.95.22 → 0.95.23 functional
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
    • New tool “realty_public_rental_notices” functional
    • “realty_search_complexes” added an optional parameter “max_construction_year” cosmetic
    • “realty_search_complexes” added an optional parameter “max_trade_price_10k” cosmetic
    • “realty_search_complexes” reworded the description of “sort” cosmetic
  • 30 Sept 26 0
    • Tool safety: pass → unverified ▼ security
    • Stability: pass → unverified ▼ security
    • Authorization: partial → unverified ▼ security
    • Tool coverage: 100 → unverified ▼ functional
    • First check of Schema quality: unverified functional
    • Server version: 0.95.20 → 0.95.22 functional
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 29 Sept 26 +12
    • Judged manipulation: unverified → pass ▲ security
    • Schema quality: unverified → excellent ▲ functional
    • Server version: 0.95.15 → 0.95.20 functional
  • 28 Sept 26 −12
    • Judged manipulation: pass → unverified ▼ security
    • Schema quality: excellent → unverified ▼ functional
    • Server version: 0.95.14 → 0.95.15 functional
    • Server version: 0.95.12 → 0.95.14 functional
    • Server version: 0.95.11 → 0.95.12 functional
    • Server version: 0.95.9 → 0.95.11 functional
    • “realty_move_in_supply” reworded the description of “region” cosmetic
    • “realty_policy_rules” reworded the description of “topic” cosmetic
  • 27 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “realty_nonapt_prices” rewrote its description, which is the text the model reads security
    • Tool “realty_market_signals” rewrote its description, which is the text the model reads security
    • Tool “realty_builder_presale_record” rewrote its description, which is the text the model reads security
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
    • Server version: 0.95.2 → 0.95.8 functional
    • Server version: 0.95.0 → 0.95.2 functional
    • Server version: 0.94.1 → 0.95.0 functional
    • Server version: 0.92.2 → 0.94.1 functional
    • Server version: 0.91.5 → 0.92.2 functional
    • Server version: 0.91.2 → 0.91.5 functional
    • Server version: 0.91.1 → 0.91.2 functional
    • New tool “realty_builder_presale_record” functional
    • New tool “realty_supply_demand_balance” functional
    • “realty_builder_presale_record” added an optional parameter “view” cosmetic
    • “realty_builder_presale_record” added an optional parameter “min_shortfall” cosmetic
    • “realty_builder_presale_record” added an optional parameter “sort” cosmetic
  • 26 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “realty_presale_vs_market” rewrote its description, which is the text the model reads security
    • Tool “realty_complex_report” rewrote its description, which is the text the model reads security
    • Tool “realty_search_complexes” rewrote its description, which is the text the model reads security
    • Tool “realty_region_rankings” rewrote its description, which is the text the model reads security
    • Tool “realty_poi_nearby” rewrote its description, which is the text the model reads security
    • Tool “realty_location_scores” rewrote its description, which is the text the model reads security
    • Tool “realty_region_price_stats” rewrote its description, which is the text the model reads security
    • Tool “realty_area_price_bands” rewrote its description, which is the text the model reads security
    • Tool “realty_complex_pyeong_price” rewrote its description, which is the text the model reads security
    • Server version: 0.90.1 → 0.91.1 functional
    • Server version: 0.89.1 → 0.90.1 functional
    • Server version: 0.88.5 → 0.89.1 functional
    • Server version: 0.87.0 → 0.88.5 functional
    • Server version: 0.86.13 → 0.87.0 functional
    • Server version: 0.86.9 → 0.86.13 functional
    • “realty_complex_pyeong_price” added an optional parameter “complex_key” cosmetic
    • “realty_complex_pyeong_price” reworded the description of “complex_name” cosmetic
    • “realty_region_rankings” reworded the description of “metric” cosmetic
    • “realty_rental_yield” reworded the description of “pyeong_supply” cosmetic
    • “realty_region_price_stats” reworded the description of “region” cosmetic
    • “realty_complex_pyeong_price” made “complex_name” optional cosmetic
    • Tool “realty_location_scores” changed its title: 단지 학군·교통 점수 → 단지 입지 원시값(역 거리·주변 학교·정류장 수) + 참고 점수 cosmetic
  • 25 Sept 26 0
    • Server version: 0.86.8 → 0.86.9 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 2 Oct 2026 · Probed https://realty.sallim.app/mcp?via=official

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=sallim.app CN=WE1,O=Google Trust Services,C=US 26 Sept 2026 25 Dec 2026 ECDSA 256 ECDSA-SHA256 a53184a488eac9550e9f7c9b16c3ec31
SANs: sallim.app, *.sallim.app
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of realty.sallim.app. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
app. present 23684 8 Verified
sallim.app. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://realty.sallim.app/mcp?via=official Verified 200
http (plaintext) http://realty.sallim.app/mcp?via=official HTTPS enforced 301 https://realty.sallim.app/mcp?via=official
MCP tools · 55 exposed · ~47,493 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
fetch ~454

search가 돌려준 id로 경매 사건의 전체 내용을 가져온다. id 형식은 "법원명|사건번호" (예: "서울동부지방법원|2025타경51727"). 사건번호는 법원 간 중복되므로 법원명 없이 조회하면 후보 목록이 돌아올 수 있다. rights(매각물건명세서 요약)가 있으면 법원 공시의 전달로만 인용하고, 없으면(rights_note 참조) 권리관계를 지어내지 말 것 — 권리분석 판단은 이 도구의 데이터 밖이다. **이 축의 자리** — 사건 상세도 둘이고 입력과 응답 형태로 갈린다. 이 도구는 `search`가 준 `"법원명|사건번호"` 한 덩어리를 그대로 받아 **문서형 텍스트**를 돌려준다(ChatGPT 커넥터 규격). 사용자가 사건번호를 말로 불러줬거나, `rights`·`min_bid_source` 같은 필드를 **값으로** 다뤄야 하면 `realty_get_auction_case`(사건번호·법원명을 따로 받는 구조화 응답)를 써라. 유찰 이력·기일별 저감은 어느 쪽도 아니고 `realty_auction_history`다.

NameTypeReqDescription
idstringyessearch가 돌려준 id를 **그대로** 넣는다 — `법원명|사건번호` 형식이다 (예: '서울동부지방법원|2025타경51727'). 파이프 앞은 정식 법원명이고 지원은 '진주지원'처럼 지원명만 오는 행도 있다. 파이프 뒤는 `2026타경3571` 꼴 (연도 4자리 + '타경' + 일련번호, 일련번호는 3~6자리). 법원명 없이 사건번호만 넣으면 사건번호…

No output schema declared.

No examples provided.

realty_area_price_bands ~486

지역의 매매 시세를 평형대 4구간(소형/중소형/중형/대형, 전용면적 기준)으로 조회한다. "○○구에서 무슨 평수대가 얼마쯤 해?"류 질문용 — 특정 단지는 realty_search_complexes를 쓰라. **이 축의 자리(시세 도구 3종 중)**: 지역의 가격 **수준** 비교는 이게 기본값이다. 이상치 필터(계약해제 제외 + **직거래 중** 같은 평형대 중개거래 중앙값의 50% 미만만 제외)가 적용돼 realty_region_price_stats의 미필터 평균과 값이 다르며, **수준이 갈리면 이쪽을 우선하라**. 월별 **추이**가 필요하면 region_price_stats, 단지가 특정되면 search_complexes. 구간 라벨의 평수는 **전용평**이다. 사용자의 분양평 감각으로는 소형<60㎡≈분양 24평 미만, 중소형 60~85㎡≈분양 24~34평, 중형 85~115㎡≈분양 34~47평, 대형 115㎡+≈분양 47평 이상.

NameTypeReqDescription
by_dongboolean–법정동 × 평형대 중앙값을 함께 낸다. '이 구에서 어디가 싼가'류 질문의 자리다 — 실측(마포구 6개월, 전용 60~84㎡): 서교동 6.8억 ~ 용강동 27.1억으로 한 구 안에서 4배 갈린다. 표본 3건 이상 칸만 나온다
period_monthsinteger–집계 기간(개월) (허용 범위 1~24)
regionstringyes시군구명 (예: 마포구). **법정동까지 넣어도 된다**(예: '마포구 아현동') — 구 하나로 뭉치면 신도심·구도심이 한 값이 된다

No output schema declared.

No examples provided.

realty_auction_alerts ~728

유찰이 쌓여 최저입찰가가 크게 떨어진 경매 물건을 골라낸다. 유찰이 누적돼 최저입찰가가 크게 떨어진 물건을 찾는다. "○○에서 유찰 많은 물건"은 sido/sigungu로 좁혀라. 유찰이 많다는 건 싸다는 뜻이기도 하지만 권리관계·물건 하자 등 팔리지 않는 이유가 있다는 뜻이기도 하다. 결과를 추천으로 제시하지 말고 확인이 필요한 후보로 제시하라. **같은 축의 다른 문**: realty_search_auctions(min_fail_count)로도 유찰 물건을 거를 수 있다 — 조건 필터·목록이 목적이면 그쪽, 저감 큰 후보 발굴(극단 할인 컷 포함)이면 이쪽. 둘을 합쳐 세지 마라(같은 물건이 양쪽에 나온다).

NameTypeReqDescription
limitinteger–반환 개수 (최대 50) (허용 범위 1~50)
max_discount_pctinteger–감정가 대비 최대 할인율(%) — 80%+ 극단 할인은 지분매각·대지권 없음 등 특수물건이 대부분이라, 실수요 후보를 찾을 땐 79 이하로 걸러라 (허용 범위 0~100)
min_bid_countinteger–최소 유찰 횟수 (허용 범위 0~100)
min_discount_pctinteger–감정가 대비 최소 할인율(%) (허용 범위 0~100)
sido––시도 (예: 세종, 경기도) ⚠️ '광주'는 광주광역시와 경기도 광주시 둘 다라 **한쪽으로 읽지 않고 거절한다**(error='sido_ambiguous') — 광역시면 '광주광역시', 경기도 광주시면 sido='경기도'·sigungu='광주시'로 갈라 넣어라.
sigungu––시군구 (예: 강남구, 수원시) ⚠️ 시도 없이 시군구만 주면 **합치지 않고 거절한다**(error='region_ambiguous') — '중구'처럼 여러 시도에 같은 이름이 있으면 합친 값은 어느 지역의 것도 아니다. sido와 갈라 넣어라(예: sido='서울특별시'·sigungu='중구'). 거절 응답이 후보를 준다.
usage_name––물건 종류 — 원장 값 예: 아파트·오피스텔·다세대·연립주택·단독주택·다가구주택·근린시설·상가·대지·임야·전답. 부분일치라 '빌라'는 '연립주택,다세대,빌라' 행에 걸린다(**표기를 바꾸지 않는다** — '다세대'로 자동 매핑하는 것은 낙찰가율 통계 realty_auction_sale_rate 쪽이다). '토지'는 이 원장에 없는 이름이라 거절된다 — 대…

No output schema declared.

No examples provided.

realty_auction_history ~623

경매 사건 하나의 유찰 이력·가격 변동·물건 사진을 조회한다. 경매 사건의 유찰 이력(기일별 최저가 저감 시계열)·가격 변동 이벤트·물건 사진 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를 사용자에게 전하라(목록·상세와 같은 경고).

NameTypeReqDescription
case_nostringyes사건번호 — `2026타경3571` 꼴이다(연도 4자리 + '타경' + 일련번호 3~6자리). 원장 전수가 '타경' 접두이고 '2024타경101026'처럼 6자리도 있다. '2026-3571'·'3571'처럼 접두 없이 넣지 마라
court_name––법원명 — '서울동부지방법원'·'인천지방법원'처럼 정식명으로 넣는다('진주지원'처럼 지원명만인 행도 있다). 사건번호는 법원 간 유일하지 않아(전국 평균 2.8개 법원에서 중복) 생략하면 후보 목록이 돌아온다

No output schema declared.

No examples provided.

realty_auction_sale_rate ~1,313

"이 지역 이 물건은 보통 감정가의 몇 %에 낙찰되나"를 실제 매각결과로 답한다. 입찰가를 정할 때 쓰는 핵심 지표다. `by_fail_count`에 유찰 횟수별 분포가 들어 있어 "2회 유찰된 물건은 보통 몇 %에 낙찰되는가"를 바로 읽을 수 있다. 낙찰가율 = 낙찰가 / 감정가 × 100. 100%를 넘으면 감정가보다 비싸게 팔린 것이다. **"감정가 12억에 최저가 7.68억이면 몇 번 유찰됐나"는 이 도구가 아니다** — 그건 낙찰 통계가 아니라 저감 산수다(최저가 = 감정가 × (1−저감률)^유찰횟수, 법원별 저감률 실측표와 예시는 realty_policy_rules(topic='auction_rights', section='minimum_price_reduction')). 사건번호가 있으면 realty_auction_history의 기일별 이력이 정본이다(T-2026W34-353 피드백). 표본의 집계 기간은 응답의 `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이 자동 계산한다 — 분모가 다르니 두 %를 한 문장에 섞지 마라(감정가는 시세와 다른 시점·기준의 값이다).

NameTypeReqDescription
area_band––전용면적대로 좁힌다. 낙찰가율은 평형에 따라 갈린다 — 대상 물건의 평형을 알면 반드시 넣어라(응답의 by_area_band로도 확인된다)
bid_count_max––유찰 횟수 **상한**(이하). 예: 2를 주면 유찰 0·1·2회 물건의 매각결과만 집계한다. 유찰이 쌓일수록 낙찰가율이 내려가므로 대상 물건의 유찰 횟수에 맞춰 좁혀라. 비우면 유찰 횟수 무관 전체(응답의 by_fail_count에 횟수별 분포가 그대로 온다) (허용 범위 0~100)
sido––시도 — '서울'처럼 줄여 써도 되고 '서울특별시'도 된다(서버가 정식명으로 편다). 원장 표기는 서울특별시·경기도·부산광역시·세종특별자치시·강원특별자치도 같은 정식명이다. ⚠️ '광주'는 광주광역시와 경기도 광주시 둘 다라 **한쪽으로 읽지 않고 거절한다**(error='sido_ambiguous') — 광역시면 '광주광역시', 경기도 광주시면 sido…
sigungu––시군구 — 원장 표기 그대로 넣는다(예: '강남구', '평택시', '기장군'). 특례시·일반구는 '수원시 권선구'처럼 두 토막이다. 시도 이름을 여기 붙이지 마라('서울 강남구'는 안 맞는다) — 시도는 sido로 준다 ⚠️ 시도 없이 시군구만 주면 **합치지 않고 거절한다**(error='region_ambiguous') — '중구'처럼 여러 시도에 같…
usage_namestring–물건 종류 — 원장 값 예: 아파트·오피스텔·다세대·연립주택·단독주택·다가구주택·근린시설·상가·대지·임야·전답. '빌라'는 표준 분류가 아니라 서버가 '다세대'로 매핑하고 그 사실을 응답에 공시한다. 비우면 전 종류

No output schema declared.

No examples provided.

realty_builder_presale_record ~748

시공사·시행사별 분양 성적 — 공고 수·공급 세대·무순위(줍줍) 세대와 비율·청약 1순위 배수·미달 세대. "○○건설 분양 성적", "GS건설 현장 무순위 많이 나왔나", "대전 시공사별 분양", "이 시행사 다른 현장은"류 질문의 자리다. builder(또는 developer)를 주면 그 회사 행과 **현장 목록**(단지·지역·공고일·공급· 무순위·비율·시행사)을, 아무것도 안 주면 공급 상위 N개 회사 순위를, region(시도)을 주면 그 시도로 좁힌다. 행마다 같은 창의 **전국 비율(baseline)**이 비교 기준으로 붙는다. **결론에 반드시 옮길 것**(meta.disclosures): · 무순위 세대는 **최종 미분양이 아니다**(당첨 후 계약 포기분 재공급). 무순위 뒤 남은 것은 별도 필드. · 청약홈 밖 공급(지주택·자체분양·선착순·임의공급)은 없다 — 대구처럼 선착순으로 빼는 지역은 비율이 낮게 나온다. · **재무 건전성 판정이 아니다** — PF·부채·보증은 DART 영역. "위험"·"부실" 같은 낙인을 붙이지 말고 수치와 전국 비율만 전하라. · 공동시공은 각 사에 전량 귀속, 회사명 묶음은 우리 규칙, 무순위 연결률은 meta.match_rate. view='sites'는 "무순위 청약에서도 신청이 모자란 단지" 목록이다 — 최근 회차 미달 세대(청약 미달이지 미판매· 계약 결과가 아니다)와 시군구 미분양 추이. 그 뒤 선착순 판매 여부는 모른다(meta.disclosures).

NameTypeReqDescription
builder––시공사명(부분일치, ㈜·주식회사 무시, '지에스건설'→GS건설 같은 별칭 흡수). 주면 그 회사 행 + 현장 목록
developer––시행사(사업주체)명(부분일치). builder와 같이 주면 그 시행사와 한 현장만 남긴다
groupstring–순위 모드의 묶음 단위
min_shortfallinteger–sites: 최근 회차 미달 세대 하한 (허용 범위 0~100000)
region––시도로 좁힌다(예: '대전', '경기') — 시군구는 받지 않는다
sincestring–본공고 공고월 하한 YYYY-MM(기본 2024-07)
sortstring–sites 정렬
top_ninteger–회사를 안 줬을 때 순위 모드의 행 수(공급 세대 내림차순) (허용 범위 1~50)
viewstring–sites=무순위 청약 미달 단지 목록(최근 회차 △N, since는 최근 회차 월)

No output schema declared.

No examples provided.

realty_capital_gains_tax ~1,321

선언된 양도가·취득가·필요경비·보유기간에 **양도소득세 세율표를 결정론으로 적용**한다 — 기본·단기·분양권 세율, 장특공제 표1, 기본공제, 다주택 중과(선언), 지방소득세 10%. 두 번째 자산을 주면 **같은 해 합산 vs 연도분산 vs 차손통산**을 비교해 어느 쪽이 유리한지 산출한다. "지금 팔면 양도세 얼마?"·"두 채를 올해 같이 팔까 나눠 팔까?"의 자리다. 경계를 지켜라: ① 입력 전부 **선언**이다 — 보유기간 기산·주택 수·조정대상지역 해당은 사실판단이라 서버가 판정하지 않는다. ② **1세대1주택 비과세·12억 초과 고가주택 안분· 감면 특례는 계산하지 않는다**(not_curated) — 이 결과는 양도 전액이 과세된다는 전제다. **그렇다고 사용자를 밖으로 내보내지 마라 — 계산기가 없을 뿐 갈림길 지도는 우리에게 있다**: `realty_policy_rules(topic='one_home_exemption_map')`이 5관문(세대·1주택· 보유2년·조정지역 거주2년·12억)과 5경로(일시적2주택·상속·합가·부득이한 사유·상생임대)를 확인 체크리스트와 함께 준다. 비과세 가능성이 보이면 **거기부터** 가고, 그 관문을 다 훑고도 사실판단이 남을 때 비로소 홈택스 모의계산·세무사를 안내하라. ③ 세율표·필요경비 분류·중과 경과조치의 원문·근거 조문은 realty_policy_rules(topic=capital_gains_tax)가 진실원이고, 조정대상지역 지정 현황은 topic=regulated_area다. 응답의 traps·pending_legislation·disclaimer를 함께 전하라.

NameTypeReqDescription
acquisition_price_10kintegeryes취득가액(만원). 증여받은 자산은 이월과세(10년)로 증여자 원취득가가 될 수 있다 — 응답 traps 확인
asset2_acquisition_price_10k––두 번째 자산의 취득가액(만원)
asset2_asset_typestring–두 번째 자산의 종류
asset2_expenses_10kinteger–두 번째 자산의 필요경비(만원)
asset2_holding_years––두 번째 자산의 보유기간(년) — **transfer_year 기준**이다. 연도분산 시나리오는 이 자산을 다음 해에 파는 가정이라 서버가 보유기간을 +1년으로 다시 계산한다(응답 scenarios.split_years.asset2_recomputed에 실토) (허용 범위 0~100)
asset2_multi_home_surchargestring–두 번째 자산의 중과 선언 — 첫 자산 매도 후 주택 수가 줄어 지위가 달라질 수 있다. 시나리오별 지위 변화도 선언 그대로 쓴다(서버는 판정하지 않는다)
asset2_transfer_price_10k––두 번째 자산의 양도가액(만원) — 주면 '올해 같이 팔기 vs 내년으로 나누기' 시나리오를 비교한다. asset2_acquisition_price_10k·asset2_holding_years와 함께 줘야 한다
asset_typestring–자산 종류 — 단기세율·장특공제가 갈린다. 분양권은 보유 2년이 넘어도 60%다
holding_yearsnumberyes보유기간(년, 소수 허용 — 예: 1.5). 취득일~양도일이며 상속·증여 기산 특례는 사실판단이라 호출자가 확정해 선언한다 (허용 범위 0~100)
multi_home_surchargestring–다주택 중과 **선언** — 양도 시점에 그 주택이 조정대상지역 안이고(현재 지정 현황은 topic=regulated_area) 세대 주택 수가 2/3+인 경우. 주택 수 판정(분양권·입주권 가산, 지방 저가주택 제외)은 사실판단이라 서버가 하지 않는다
necessary_expenses_10kinteger–필요경비 합계(만원) — 취득·양도 부대비용과 자본적 지출만. 도배·싱크대 같은 수익적 지출은 불인정이다(경계·증빙 요건은 topic=capital_gains_tax 원문)
share_pctnumber–본인 지분율(%, 공동명의면 예: 50). 양도세는 인별 과세라 본인 지분만 계산하고 기본공제 250만원도 각자 받는다 — 배우자 몫은 배우자 지분으로 따로 호출하라. 두 자산 모두에 같은 지분을 적용한다 (허용 범위 0 초과~100)
transfer_price_10kintegeryes양도가액(만원, 예: 90000=9억). 예정이면 예상 매도가를 선언
transfer_yearintegeryes양도(예정) 연도. 2027 이후는 계류 중인 세제개편안이 결과를 뒤집을 수 있어 응답에 실토가 붙는다. 2025 이전 과거 양도는 당시 규칙(중과 유예 등)이라 다루지 않는다 (허용 범위 2026~2035)

No output schema declared.

No examples provided.

realty_compare_auction_vs_market ~1,139

경매 물건의 최저입찰가를 같은 단지 실거래 시세와 대조해 할인율·표면수익률을 낸다. 기본은 **오늘 이후 기일 물건만**이다(지난 기일이 섞여 나오던 결함 수리, 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(추이).

NameTypeReqDescription
case_no––특정 사건 하나만 비교할 때 — `2026타경3571` 꼴(연도 4자리 + '타경' + 일련번호). 주면 지역 조건 대신 이 사건만 보고, 기일 제한도 걸지 않는다. 사건번호는 법원 간 중복되니 court_name을 반드시 함께 주라
court_name––법원명 — case_no와 함께 쓴다. 사건번호는 법원 간 유일하지 않아(평균 2.8배 중복) 이걸 빼면 다른 법원 물건이 섞이고 최저가 출처도 확정되지 않는다
include_pastboolean–지난 기일 물건 포함 여부 — 기본은 오늘 이후 기일만(입찰 가능 후보). case_no 특정 조회는 이 값과 무관하게 기일 제한이 없다
limitinteger–비교할 물건 수 (최대 50) (허용 범위 1~50)
sido––시도 — '서울'처럼 줄여 써도 되고 '서울특별시'도 된다(서버가 정식명으로 편다). 원장 표기는 서울특별시·경기도·부산광역시·세종특별자치시·강원특별자치도 같은 정식명이다. ⚠️ '광주'는 광주광역시와 경기도 광주시 둘 다라 **한쪽으로 읽지 않고 거절한다**(error='sido_ambiguous') — 광역시면 '광주광역시', 경기도 광주시면 sido…
sigungu––시군구 — 원장 표기 그대로 넣는다(예: '강남구', '평택시', '기장군'). 특례시·일반구는 '수원시 권선구'처럼 두 토막이다. 시도 이름을 여기 붙이지 마라('서울 강남구'는 안 맞는다) — 시도는 sido로 준다 ⚠️ 시도 없이 시군구만 주면 **합치지 않고 거절한다**(error='region_ambiguous') — '중구'처럼 여러 시도에 같…
usage_namestring–물건 종류 — 이 도구는 같은 단지 실거래와 붙이므로 '아파트'가 기본이다. 오피스텔·다세대·연립주택도 되지만 단지 매칭률이 떨어진다. 원장 값 예: 아파트·오피스텔·다세대·연립주택·단독주택·근린시설·상가

No output schema declared.

No examples provided.

realty_compare_regions ~237

[유료] 여러 지역의 매매·전세 시세와 추이를 나란히 비교한다. 갈아타기·투자처 비교용. "어디가 제일 ○○해?"류 순위·탐색 질문은 무료 realty_region_rankings로 먼저 좁혀라 — 이 도구는 비교 대상이 정해졌을 때 쓴다. ⚠️ 지역별 `warning_baseline`·`warning_dispersion`을 avg_price보다 먼저 읽어라 — 이 소스는 이상치 미필터·단지급 혼합이라 avg_price를 그대로 "그 지역 시세"로 인용하면 특정 단지와의 비교 결론이 뒤집힌다(realty_region_price_stats와 같은 공시다).

NameTypeReqDescription
monthsinteger–추이 개월 수 (허용 범위 1~60)
regions–yes비교할 시군구 2개 이상 — 배열(['강남구','서초구']) 또는 쉼표 문자열('강남구,서초구')

No output schema declared.

No examples provided.

realty_complex_pyeong_price ~1,485

특정 단지·특정 평형의 **최근 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`에 그대로 실린다. **못 가른 것은 빼지 않고 못 갈랐다고 적는다** — 그 평형 수치는 단정하지 말고 그 사실을 함께 전하라. **면적은 사용자가 말한 단위 그대로 넣어라 — 환산은 서버가 한다**(2026-08-22 제보: "잠실엘스 34평형=전용 84㎡" 질문에서 84가 pyeong_exclusive로 갔다): - ㎡로 말했으면 → area_m2_exclusive(전용 84㎡ → 84) / area_m2_supply(공급 112.8㎡ → 112.8) - 평으로 말했으면 → pyeong_supply(분양 "34평") / pyeong_exclusive(전용 실평수 25.4평) **평형을 모르면 면적 없이 불러라** — 거절하지 않고 이 단지의 평형별 요약과 평형마다 다시 부를 인자를 준다(평형을 추측해 넣지 마라). ㎡ 값을 평 인자에 넣으면 조용히 환산하지 않고 사유와 두 방향 출구를 값으로 적어 거절한다 — 조용한 환산은 사용자의 말을 바꿔치기하는 것이다. 이 도구는 매매 전용이다 — 전월세는 realty_complex_rent_by_pyeong을 쓴다. 매매 창이 얇은 신축은 분양권·입주권 전매 거래를 `presale_rights_trades`에 **따로** 싣는다(전매가 — 매매 시세 아님).

NameTypeReqDescription
area_m2_exclusive––전용면적을 **㎡ 그대로** 받는다(예: 84, 59, 114.98). 사용자가 '전용 84㎡'라고 말했으면 환산하지 말고 84를 여기 넣어라 — 서버가 평으로 환산하고 그 사실을 응답에 적는다. pyeong_exclusive와 동시에 주면 거절한다 (허용 범위 0 초과~500)
area_m2_supply––공급(분양)면적을 **㎡ 그대로** 받는다(예: 112.8). pyeong_supply와 동시에 주면 거절한다 (허용 범위 0 초과~800)
complex_key––정확한 단지 키 — realty_search_complexes·complex_ambiguous 후보가 돌려주는 complex_key. 주면 이름·지역보다 우선한다. **같은 동에 같은 이름의 다른 단지**(키 끝 '(1995)' 등)는 이름으로는 못 가르므로 이 인자로만 부를 수 있다
complex_name––단지명 (예: 마포래미안푸르지오2단지). complex_key를 주면 생략해도 된다
limitinteger–개별 거래 내역 수 (허용 범위 1~50)
pyeong_exclusive––전용면적 기준 **실평수(평)** — ㎡가 아니다. 전용 84㎡면 25.4를 넣는다. **사용자가 ㎡로 말했으면 area_m2_exclusive를 쓰라** — ㎡ 값을 여기 넣으면 서버가 조용히 환산하지 않고 사유를 대고 거절한다(1평=3.3058㎡) (허용 범위 0 초과~400)
pyeong_supply––분양평수(공급면적, **평**) — 사용자가 말하는 '34평'이 보통 이것이다. **㎡로 말했으면 여기가 아니라 area_m2_supply를 쓰라** (허용 범위 0 초과~400)
quoted_price_10k––사용자가 **들은 가격**(호가·중개사 제시가·매물 가격, 만원). 주면 실거래 분포와 대조해 `quote_check`로 돌려준다. 이 서버는 **호가 데이터가 없다** — 실거래(MOLIT)뿐이라 '호가가 비싸다/싸다'를 판정하는 게 아니라 **실거래 어디쯤인지 위치만** 알려준다. 사용자가 가격을 말했는데 이 인자를 안 주면 모델이 그 값을 검증 없이…
quoted_prices_10k––사용자가 **매물 목록에서 복사·다운로드해 온 호가 여러 개**(만원 배열). 값이 2개 이상이면 단일 대조 대신 **호가 분포 ↔ 실거래 분포**를 비교한다(중위 대 중위, 두 구간이 겹치는지). 호가는 사용자가 가져온 것이라 서버는 **출처·수집시점·중복 매물 여부를 모른다** — 그 한계도 함께 응답에 싣는다
region––동명 단지 구분용 시군구명 (예: 마포구)

No output schema declared.

No examples provided.

realty_complex_rent_by_pyeong ~334

단지의 평형별 전세 보증금·월세 중앙값을 조회한다. 전세가율(전세÷매매) 계산의 전세 축이다. complex_key·complex_name 중 하나는 필수. 부분일치는 동명 단지가 섞일 수 있으니 가능하면 realty_search_complexes로 complex_key를 먼저 특정하라. 행 키 supply_pyeong은 **분양평**(전용㎡ ÷ 3.305 ÷ 0.745 반올림) 기준이다.

NameTypeReqDescription
compare_saleboolean–같은 12개월 창의 **매매가를 함께 뽑아 전세가율·전월세 전환율·갭을 계산**한다(기본 켬). 종전엔 note가 '매매를 period_months=12로 따로 불러 나눠라'라고만 지시해 호출자가 손으로 했고, 창을 안 맞추면 전세가율이 수 %p 왜곡됐다 — 그 계산을 서버가 진다
complex_key––정확한 단지 키 — realty_search_complexes가 돌려주는 complex_key
complex_name––키를 모를 때 단지명 부분일치
region––동명 단지를 가르는 지역 — 시군구나 **동**까지(예: '강동구', '방화동'). complex_ambiguous가 돌아오면 이 인자로 좁혀 다시 부르라

No output schema declared.

No examples provided.

realty_complex_report ~217

[유료] 단지 하나의 시세·전세·기본정보를 통합 조회한다. 입지는 **location.facts(원시값)로 답하라** — 최근접역 이름·직선거리, 반경 500m·1km 안 정류장·병원·마트 수와 1km 안 초·중·고 수를 poi 원장에서 직접 센 값이다. location.overall_score·scores는 미검증 참고값이라(location.score_demotion) 순위·비교·'입지 좋음' 판정에 쓰지 마라. 응답에 좌표(latitude/longitude)와 complex_key가 들어 있다 — 이어서 realty_poi_nearby(시설 목록)·realty_predict_price(예측)에 그대로 넣어 심층 분석하라.

NameTypeReqDescription
complex_key––정확한 단지 키
name––단지명 (예: 반포자이)

No output schema declared.

No examples provided.

realty_demographics ~362

지역 인구·가구·고령화·순유입 통계를 조회한다. 지역 인구통계를 조회한다 — "인구 줄고 있어?", "1인 가구 비율은?", "고령화 심해?", "순유입 되는 동네야?"류 질문용. 응답 meta.data_as_of가 실제 최신 시점이다 — warning이 있으면 그대로 사용자에게 전달하고, 밀린 수치를 "지금 인구"로 단정하지 말 것. 연간 계열(households·age)은 기준연도를 밝혀라. households만 동명 시군구(중구·서구 등)를 거절한다(원천 단명 수집 결함) — 그 경우 population·migration(정식 명칭 수집)으로 대신 조회하라.

NameTypeReqDescription
metricstringyespopulation=월별 인구·세대수 / households=연별 가구원수별 가구(1인가구 등) / age=연령대(5세 구간) 분포·고령화 — 시도 단위만 / migration=월별 전입·전출·순이동
monthsinteger–population·migration 시계열 창(개월) — 최대 60(5년)이고 더 긴 창은 이 도구로 못 받는다. 연간 계열엔 미적용 (허용 범위 1~60)
regionstringyes시도(예: 서울)나 시군구(예: 강남구, 수원시). age는 시도 단위만 제공. age에 한해 '전국'도 가능

No output schema declared.

No examples provided.

realty_get_auction_case ~766

사건번호로 경매 물건의 상세를 조회한다. 사건번호는 법원 간 유일하지 않다(전국 평균 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`다.

NameTypeReqDescription
case_nostringyes사건번호 — `2026타경3571` 꼴이다(연도 4자리 + '타경' + 일련번호 3~6자리). 원장 전수가 '타경' 접두이고 '2024타경101026'처럼 6자리도 있다. '2026-3571'처럼 하이픈으로 써도 서버가 '타경'으로 펴고 무엇을 폈는지 응답에 적는다. 다만 '3571'처럼 **연도가 없으면 못 편다**(연도를 지어내면 다른 사건이 된다)…
court_name––법원명 — '서울동부지방법원'·'인천지방법원'처럼 정식명으로 넣는다('진주지원'처럼 지원명만인 행도 있다). '의정부지법'처럼 줄여 넣어도 서버가 정식명으로 편다. 사건번호는 법원 간 유일하지 않아(전국 평균 2.8개 법원에서 중복) 생략하면 후보 목록이 돌아온다. **여기 넣은 법원에 그 사건이 없으면 서버가 법원 없이 한 번 더 찾아보고**, 그래도…

No output schema declared.

No examples provided.

realty_invest_risk ~83

[유료] 지역의 투자 위험도를 변동성·유동성·공급압력 축으로 점수화한다. 응답의 disclaimer(통계 요약이며 투자 권유 아님)를 사용자에게 반드시 함께 전달하라.

NameTypeReqDescription
regionstringyes시군구명 (예: 강남구)

No output schema declared.

No examples provided.

realty_loan_eligibility ~761

내 조건에서 쓸 수 있는 대출 상품을 상품별로 나란히 판정한다. **"내 조건이면 어떤 대출을 쓸 수 있나"**를 상품별로 나란히 낸다 — 사용자가 어느 규칙 토픽을 물어야 할지 몰라도 되게 하는 라우터다. 이 도구가 존재하는 이유: 대출 규칙이 상품별 토픽 7곳에 흩어져 있어서, 지금까지는 **호출자가 어느 토픽을 물어야 할지 알아야** 했다(2026-08-14). 용도·지역·주택수만 주면 **쓸 수 있는 상품과 못 쓰는 이유**를 함께 낸다. 경계: ① **주택 수·생애최초·신혼은 선언**이다(서버가 사실판정하지 않는다) ② **한도 금액을 계산하는 건 구입 목적의 은행권뿐**이고 그건 realty_loan_limit이 한다 — 이 도구는 **자격 대조와 라우팅**이다 ③ 전세·중도금은 보증기관·사업장이 지배해 **한도를 계산하지 않는다**, 전세반환은 **경과조치 해당 여부가 서류로 보는 사실판단**이라 계산하지 않는다 ④ 규칙의 근거·불확실성은 각 상품 토픽(응답의 `topic`)에 있으니 함께 읽어라.

NameTypeReqDescription
annual_income_10k––부부합산 연소득(만원) — 정책상품 소득요건 대조에 쓴다
homes_owned––**세대 기준** 보유 주택 수(선언) — 0=무주택, 1, 2+=다주택. 명의가 갈려도 세대로 센다. 서버는 주택 수를 판정하지 않는다 (허용 범위 0~9)
house_price_10k––대상 주택 가격(만원) — 정책상품 가격요건 대조에 쓴다
is_first_time––생애최초 해당 여부(**선언** — 서버는 판정하지 않는다)
is_newlywed––신혼 해당 여부(선언)
purposestringyes자금 용도 — **같은 담보라도 용도가 규제를 가른다**(구입=LTV·가액구간 한도, 생활안정=1억 한도·다주택 금지, **전세반환=세입자에게 보증금 돌려주는 목적(퇴거자금) — 원칙 1억이지만 6·27 이전 계약분 경과조치가 붙는 유일한 축**, 전세=세입자로 들어갈 때 쓰는 전세자금대출, 중도금=집단대출). ⚠️ **'전세'와 '전세반환'을 섞지 마라…
region––소재지(시군구까지, 예: '서울 마포구'·'세종특별자치시') — 수도권·규제지역 판정에 쓴다
total_assets_10k––총자산(만원) — **버팀목 전세는 자산 요건이 핵심 관문**이라 전세 문의면 받아라

No output schema declared.

No examples provided.

realty_loan_limit ~1,415

선언한 조건으로 주택담보대출 규제 상한을 결정론으로 계산한다. 선언된 조건(지역·시가·차주 유형·소득)에 대해 **주담대 규제 상한**을 결정론으로 계산한다 — 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를 사용자에게 함께 전하라.

NameTypeReqDescription
annual_income_10k––연소득(만원) — interest_rate_pct와 함께 주면 DSR 상한 대출액까지 계산
borrowerstringyes차주 유형 — **사용자 선언**이다(서버는 생애최초·주택 수를 판정하지 않는다). 생애최초=본인·배우자 모두 주택 소유 이력 없음, 1주택_처분조건부=6개월 내 기존주택 처분 약정, 서민실수요=우대 요건 충족을 선언한 경우
credit_loan_10k––신용대출 잔액 또는 받을 예정액(만원). **직접 연 원리금을 계산해 넣지 마라** — 산정만기 5년 강제·산식 두 갈래·스트레스 1억 문턱이 전부 함정이라 서버가 계산한다. existing_annual_debt_payment_10k와 함께 주면 둘 다 합산한다
credit_loan_rate_pct––신용대출 약정금리(%) — credit_loan_10k를 줬으면 필수다(이자 없이는 원리금을 못 낸다) (허용 범위 0 초과~20)
desired_loan_10k––받으려는 주담대 금액(만원). 주면 '이만큼 되나'를 판정하고, DSR에 막히면 **무엇을 얼마나 바꾸면 들어가는지**(금리유형·만기·신용대출 축소·금리)를 함께 낸다. '4억 받으려는데 되나요'류 질문의 자리 — 최대치만 받아 모델이 역산하게 두지 마라
existing_annual_debt_payment_10kinteger–기존 대출의 연간 원리금 상환액 합계(만원) — DSR 계산에서 차감
house_price_10kintegeryes주택 시가(만원 단위, 예: 100000=10억). 가액구간 한도가 '시가' 기준이라 분양가·공시가가 아닌 시세를 넣는다
interest_rate_pct––약정금리 가정(%, 예: 4.2) — DSR 계산에 필요. 없으면 DSR 금액 계산은 생략된다 (허용 범위 0 초과~20)
is_metro––수도권(서울·경기·인천) 여부 직접 선언 — region 대신/우선 적용
is_regulated––규제지역(투기과열·조정대상) 여부 직접 선언 — region 대신/우선 적용
lenderstring–업권 — DSR 한도가 은행 40% / 제2금융권 50%로 갈린다
loan_term_yearsinteger–희망 만기(년). 수도권·규제지역은 30년 상한으로 조정되며 조정 사실을 응답에 싣는다 (허용 범위 1~50)
rate_fixed_years––혼합형의 고정금리 기간 또는 주기형의 금리변동주기(년). 미지정이면 시중은행 통상인 5년으로 가정하고 가정 사실을 응답에 싣는다. 변동·순수고정에는 무의미 (허용 범위 0~50)
rate_typestring–주담대 금리유형 — **스트레스 금리 적용비율이 갈리는 축이다**(변동 100%, 혼합형·주기형은 고정기간 비중별 차등, 순수고정 미적용). 기본값 '변동'은 최악 가정이라 한도가 가장 작게 나온다. 사용자가 상품을 안 정했으면 응답의 by_rate_type 비교표를 함께 전하라. 혼합형=고정기간 후 변동, 주기형=N년 주기로 금리 재산정, 순수고정=만기…
region––주택 소재지(시군구까지, 예: '서울 마포구'·'성남시 분당구'·'부산 해운대구'). 규제지역·수도권 판정에 쓴다. 해석이 모호하면 후보를 돌려주니 is_regulated·is_metro로 직접 선언해도 된다

No output schema declared.

No examples provided.

realty_location_scores ~548

단지 입지를 **원시값**으로 답한다 — "역세권이야? 학군 어때? 병원 가까워?" 담당. **답은 행마다 맨 앞의 location_facts로 하라**: 최근접 지하철역 이름·노선·직선거리(m, 상한 없음 — 시골 단지는 30km도 그대로 나온다), 반경 500m·1km 안 역·버스 정류장 수, 1km 안 초·중·고 수와 최근접 초등학교 거리, 반경 안 병원(전 의료기관·병원급 분해)·마트 수. 전부 poi 원장에서 직접 센 값이라 재현할 수 있다. "역세권이야?"는 subway.nearest_distance_m와 walk_band로, "초품아야?"는 schools.nearest_elementary로 답하라. 같은 행의 transit_score·school_score는 **미검증 참고값**이다(응답 score_demotion) — transit 90점 이상이 86.7%이고 역이 5km 넘게 떨어진 단지도 90점이 나와 변별력이 없다. **점수로 순위를 매기거나 '역세권·학군 좋음'을 판정하지 마라.** 점수가 null이면 미측정이지 0점이 아니다. 학군 점수는 학원가 강도 지표이지 학교 배정·수준이 아니다. complex_key/complex_name이면 단지 행(원시값은 앞 5개 단지), region만 주면 지역 집계 + 점수 상위 5 단지(점수 순이라 순위로 인용 금지). 점수가 없는 단지도 색인에 좌표가 있으면 원시값을 준다. 없는 단지는 not_found — 지어내지 말고 realty_search_complexes로 실존부터 확인하라. complex_key는 공백 1칸으로 정규화돼 다른 도구에 그대로 넣을 수 있다. 시설 **목록**(이름별 거리)이 필요하면 [유료] realty_poi_nearby.

NameTypeReqDescription
complex_key––정확한 단지 키 — realty_search_complexes가 돌려주는 complex_key
complex_name––단지명 일부 (부분일치)
region––지역명 — 단독이면 지역 집계+상위 단지, complex_name과 함께면 검색 범위

No output schema declared.

No examples provided.

realty_macro_indicators ~295

한국 기준금리·KOSPI·M2, 미 연준금리·S&P500 등 거시 지표의 월별 시계열을 조회한다. "금리가 집값에 어떤 영향?"류 배경 분석용. ⚠️ 계열마다 신선도가 다르다 — meta.series_as_of가 계열별 실제 최신 시점이다(예: 미 연준금리·S&P·코인은 최신인데 한국 기준금리·KOSPI는 2024-12 정지, ECOS 재수집 대기). 밀린 계열을 "지금 금리"로 인용하지 말고 반드시 그 계열의 시점을 함께 밝혀라.

NameTypeReqDescription
indicators––쉼표 구분 지표명: bok_base_rate(한국 기준금리 %), kospi(월말 종가), korea_m2(M2 평잔·원계열, 조원), fed_rate(미 연준금리 월평균 %), us_m2(미 M2 계절조정 $B), sp500, btc_usd, eth_usd(월말 종가). 비우면 전체. 목록에 없는 이름은 거절한다(조용히 버리지 않는다)
monthsinteger–최근 몇 개월치 (허용 범위 1~240)

No output schema declared.

No examples provided.

realty_market_signals ~396

[유료] 미분양 추이와 시장심리지수를 한 번에 조회한다. 매수 타이밍 판단의 거시 신호. 준공후 미분양(unsold_completed, 지역 합계)도 같은 모양으로 싣는다. sigungu를 주면 시군구 미분양 추이(unsold_sigungu)를 별도 키로 덧붙인다. 기본 창은 **6개월**이다(방향 판단에 필요한 최소). 더 긴 추이가 필요하면 months를 올리되, 전국 조회에서 창을 넓히면 오래된 달부터 예산에 맞춰 떨어지고 그 사실이 meta.truncated·meta.truncated_note에 값으로 실린다 — region을 지정하면 전 창이 온다.

NameTypeReqDescription
monthsinteger–시계열 개월 수 (기본 6). 전국(region 미지정)에서 창을 넓히면 시도 18곳×월 행이 곱으로 늘어 응답이 도구 결과 한계에 걸린다 — 긴 창이 필요하면 region으로 지역을 좁혀라 (허용 범위 1~36)
region––지역명 (예: 서울). 비우면 전국
sigungu––시군구명 (예: 창원시·수원시·중구). 주면 그 시군구의 미분양 추이를 unsold_sigungu에 **따로** 싣는다 — 시도 배열(unsold)과 합산하지 마라(이중계상). 같은 이름이 여러 시도에 있으면(중구·동구 등) region으로 시도를 함께 줘라. 심리지수·준공후 미분양은 시도 단위라 시군구로 안 좁혀진다

No output schema declared.

No examples provided.

realty_member_transfer_check ~824

투기과열지구 정비사업 물건을 지금 사면 조합원 지위를 승계받는지 판정한다. 투기과열지구에서 재건축·재개발 물건을 **지금 사면 조합원 지위를 승계받을 수 있는지**를 도시정비법 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를 함께 전하라.

NameTypeReqDescription
first_approval_application_after_20180125––**재개발 부칙 선언** — 이 구역의 최초 사업시행계획인가 신청이 2018-01-25(법률 제14943호 시행일) 이후인가. 이전이면 관리처분인가 후에도 지위양도가 가능하다(서울 22개 구역 실재). 모르면 비워두라 — 서버가 미확인으로 실토한다
is_speculation_zone––투기과열지구 여부 직접 선언 — region 대신/우선 적용
project_name––사업장·구역 이름(예: '한남3구역') — 서울이면 정비사업 목록에서 진행 단계를 자동으로 잇는다(유일 매치만). 서울 밖은 목록이 없어 project_stage 선언이 필요하다
project_stage––진행 단계 직접 선언 — project_name 조회 대신/우선 적용. 허용값은 서울 정비사업 목록(정보몽땅)의 실측 어휘 전량이라, **자동 조회가 돌려준 stage를 그대로 다시 넣으면 같은 판정이 재현된다**(예: '철거'·'철거 및 착공'·'추진위구성')
project_typestringyes사업 유형 — 제한 개시 시점이 갈린다(재건축=조합설립인가 후, 재개발=관리처분인가 후). 가로주택·소규모재건축 등 소규모정비사업은 별도 법제라 이 도구가 판정하지 않는다
region––사업장 소재지(시군구까지, 예: '서울 용산구'·'성남시 수정구') — 투기과열지구 판정과 (서울이면) 단계 자동 조회에 쓴다. 모호하면 후보를 돌려주니 is_speculation_zone을 직접 선언해도 된다

No output schema declared.

No examples provided.

realty_move_in_supply ~1,022

지역의 입주 예정 물량을 연월별로 집계한다. 지역의 입주 예정 물량을 연월별로 집계한다 — "○○ 입주장 리스크 있어?", "내년에 입주 물량 얼마나 쏟아져?"류 질문용. 입주 몰림은 전세가 하락·역전세 압력 신호다. **기본 창은 오늘부터 앞이다** — from_ym을 안 주면 이번 달에서 시작하므로 months=12는 "앞으로 12개월"이지 "최근 12개월"이 아니다. **과거를 물었으면 from_ym을 과거로 줘라** (최근 12개월 = from_ym='YYYYMM'(12개월 전) + months=12). 응답 meta.window_direction이 그 회차의 창이 과거인지 미래인지를 라벨로 실토하니 결론에 기간을 그대로 밝혀라. **하한 집계다** — 청약홈 공고(2020-02 이후) 기반이라 공고 없는 공급(민간임대·후분양 일부)이 빠지고, 무엇보다 **공고는 입주 평균 30개월 전에 난다**(전국 실측). 그래서 조회 구간이 오늘+30개월을 넘어가면 그 구간 입주분은 아직 공고조차 안 된 것이 대부분이다. 실사고: 세종 2028~2030 조회에 676세대가 나오자 "입주장 리스크 없음"으로 답했으나 실제 계획은 그 6배였다. 응답의 **`reading` 문장을 결론에 그대로 반영하라** — `interpretation`이 `lower_bound`면 "물량 없음/적음"이라 말하지 말고 "공고된 것만 N세대(하한)"라고 답해야 한다. `coverage.region_recent_annual_rate`(그 지역 최근 공고 실적)와 비교해 값이 크게 낮으면 공급이 끊긴 게 아니라 공고 시차다. **그때는 realty_supply_pipeline을 이어서 불러라** — 사업승인은 났지만 아직 공고 안 난 물량이 거기 있다(세종 실측: 이 도구 676세대 → 파이프라인 3,483세대). 단 **두 축의 세대수를 더하지 마라**(이중계상) — 공고가 난 단지는 승인 목록에도 남아 양쪽에 다 잡힌다. 파이프라인 쪽 값이 상위 집합에 가깝다.

NameTypeReqDescription
from_ym––조회 창의 **시작** 월, YYYYMM 6자리(예: 202508). 생략하면 **이번 달**이라 창이 전부 미래가 된다 — 이 도구의 기본 방향은 '입주 **예정**'이라서다. **'최근 N개월'·'지난해'처럼 지나간 물량을 물었으면 여기를 과거로 줘라**: 최근 12개월 = from_ym='202508' + months=12, 작년 한 해 = from…
months––from_ym부터 **앞으로 몇 개월**을 볼지 — to_ym 대신 쓰는 간편 인자(예: 24). **뒤로 세지 않는다** — months=12만 주면 from_ym이 이번 달이라 '앞으로 12개월'이 되고, '최근 12개월'을 원했다면 from_ym을 12개월 전으로 함께 줘야 한다. to_ym과 함께 주면 오류다(둘 중 하나만) (허용 범위 1~120)
region––**시도만** (예: 서울, 경기, 세종, 부산). 시군구('강남구')는 sigungu에 넣어라 — region에 넣으면 서버가 sigungu로 옮겨 조회하고 그 사실을 meta.unapplied_conditions에 적는다(시군구 어휘에 없는 이름은 옮기지 못하고 역시 거기 적는다). realty_supply_pipeline의 region은 시군구·동도…
sigungu––시군구 정확한 이름 (예: 수원시, 강남구)
to_ym––조회 창의 **끝** 월, YYYYMM 6자리(기본 from_ym+36개월). months와 같은 축이라 둘 중 하나만 준다

No output schema declared.

No examples provided.

realty_nonapt_prices ~918

빌라·오피스텔·단독주택·토지의 매매 실거래가를 조회한다(아파트는 이 도구가 아니다). **아파트는 이 도구가 아니다.** 빌라(다세대·연립)·오피스텔·단독주택·토지 **전용** 실거래 **매매가** 조회다 — 응답 = 최근 거래(recent) + 집계(stats: 표본 수·가격·상위 구성). 질문에 '아파트'가 있으면 여기서 멈추고 아파트 축으로 가라 — 지역·법정동 월별 추이는 realty_region_price_stats, 단지·평형별 시세는 realty_search_complexes, 단지 평형의 건별 내역(계약일·층·가격)은 realty_complex_pyeong_price다. **셋 다 region에 '강남구 대치동'처럼 법정동을 그대로 받는다** — 동 단위로 좁히려고 이 도구로 오지 마라. property_type 네 값 중 아파트에 가까운 것은 없고, 아무거나 고르면 **응답은 200이고 행도 채워져 나오므로 틀린 줄 모른다**(2026-08-23 PlayMCP QA 실측: '강남구 대치동 아파트 최근 실거래가'에 villa 5건이 아파트로 답해졌다). **매매 데이터만 있다** — 전월세를 물으면 이 축엔 데이터가 없다고 답하라(추정 금지). **도시형생활주택은 property_type에 없고 가를 수도 없다** — 원천에 유형 코드가 없어 아파트·연립다세대·오피스텔 신고에 섞여 있다. villa/officetel 값을 도시형생활주택 시세로 부르지 말고 섞여 있다고 밝혀라(응답 urban_housing_notice). 면적 기준: villa/officetel은 전용면적(area_m2·area_pyeong), house는 대지(land_*)와 건물(building_*) 분리, land는 계약면적·지목(land_category)·용도지역(zoning)이 온다. land의 share_type='지분' 행은 필지 일부 거래라 면적당 가격 비교에 쓰지 말 것(집계는 지분·해제 제외 — 응답 note 참조).

NameTypeReqDescription
area_band––전용면적대로 좁힌다(빌라·오피스텔만 — 단독주택은 전용면적 개념이 없다). 비아파트는 같은 동네에서도 면적 편차가 커서 지역 평균 하나로는 답이 안 된다. 안 넣어도 stats.by_area_band로 밴드별 분포가 온다
limitinteger–최근 거래 행 수 (허용 범위 1~30)
price_max––최대 매매가(만원)
price_min––최소 매매가(만원)
property_typestringyesvilla=다세대·연립(빌라), officetel=오피스텔, house=단독·다가구, land=토지. **이 네 값에 아파트는 없다** — 사용자가 아파트를 물었으면 아무 값이나 고르지 말고 이 도구를 부르지 마라(realty_search_complexes·realty_region_price_stats가 그 자리다). 2026-08-23 실측: '강남구…
regionstringyes지역명 부분일치 (예: 관악구, 서울특별시 강남구, 강남구 역삼동). **법정동까지 되는 것은 이 도구만이 아니다** — 아파트 축의 realty_region_price_stats·realty_search_complexes도 '강남구 대치동'을 그대로 받는다. 동 단위로 좁히려고 이 도구를 고르지 마라

No output schema declared.

No examples provided.

realty_notice_facts ~636

입주자모집공고 원문에서 추출·검증한 팩트시트를 항목별로 준다. 입주자모집공고 **원문**에서 추출·검증한 팩트시트 — 전매제한·재당첨제한·거주의무· 거주요건, 청약 일정, 층별 분양가표(대지비·건축비·회차별 납부액), 특별공급 배정, 발코니 확장·유상옵션 가격, 중도금 회차 일정, 예비입주자 규칙. 전매제한 기간, 재당첨 제한, 거주의무, 특별공급 자격·배정, 층/타입별 분양가, 발코니 확장비·유상옵션 금액, 중도금 회차와 납부일 — 이 값들을 묻는 질문이 이 도구의 자리다(추정하거나 웹에서 찾을 필요 없이 공고 원문 값이 나온다). 모든 값에 공고 쪽 번호(`p`)가 붙으니 답변에 notice_version(공고 판본)과 쪽 번호를 함께 제시하라. 팩트시트 미추출 공고는 원문 앞쪽(단지 주요정보 표) 텍스트를 unverified_source_text로 준다 — 수치 인용 시 "공고 원문 기준·미검증"을 명시하라. 상세 조항 전문(특공 소득기준, 부적격 처리 등)은 realty_notice_text로 원문 쪽을 직접 읽어라. 여기 없는 값은 지어내지 말 것. ⚠️ 큰 공고는 팩트시트 전체가 도구 결과 한계(64KiB)를 넘는다. 그때 **큰 절부터 떼어** 보내고 `meta.truncated`·`meta.omitted_sections`(절 이름·크기·되부르는 인자)에 그 사실을 적는다 — 뗀 절은 `section='분양가'`처럼 이름을 지정해 전문으로 받아라. **팩트시트에 없다고 공고에 없다고 답하지 마라**(못 봄 ≠ 없음).

NameTypeReqDescription
house_manage_no––공고 관리번호 (realty_presale 응답의 house_manage_no)
keyword––단지명 일부 (예: '우미린' — 공백 무관 매칭)
section––팩트시트의 한 절만 전문으로 받는다 (예: '분양가', '공급'). 비우면 전체 — 다만 전체가 도구 결과 한계를 넘으면 큰 절부터 떼어 내고 뗀 절 이름을 meta.omitted_sections에 적는다. 그때 이 인자로 되받아라.

No output schema declared.

No examples provided.

realty_notice_text ~524

입주자모집공고문 원문을 쪽 단위로 읽어 준다. 입주자모집공고문 원문을 쪽 단위로 읽는다 — 팩트시트에 없는 세부(특별공급 소득·자산 기준, 부적격 처리, 계약 유의사항, 옵션 품목 상세)는 이 도구로 원문을 직접 확인하라. 표가 있는 쪽은 pdftotext 특성상 정렬이 깨질 수 있다 — 열 해석이 애매하면 단정하지 말 것. 여러 낱말은 AND로 묶인다('가점제 추첨제'→둘 다 있는 쪽). 0쪽이면 막다르지 않고 낱말별 히트 쪽과 부분일치 상위 쪽을 함께 돌려주니 그걸로 좁혀라(match='any'로 넓힐 수도 있다). **쪽을 모를 땐 pages_only=true로 먼저 훑어라** — 전문은 한 번에 수만 자다. 전문 응답은 최대 6쪽이고, meta.matching_pages에 일치 쪽 전체 목록이 늘 들어 있다.

NameTypeReqDescription
house_manage_nostringyes공고 관리번호 (realty_presale·realty_notice_facts로 특정)
matchstring–여러 낱말 처리 — all=모두 포함(기본), any=하나라도 포함(넓게 훑을 때)
pages––쪽 범위 직접 지정 (예: '1-3', '44'). **query와 택일이며 함께 주면 거절한다**(error='query_and_pages_conflict') — 종전엔 query를 조용히 버렸다. pages와 함께 준 pages_only는 무의미하므로 무시하고 meta.pages_only_ignored로 실토한다
pages_onlyboolean–참이면 본문 없이 일치 쪽 번호+발췌만 준다 — 먼저 이걸로 쪽을 고르고 pages로 좁혀 재호출하면 왕복·토큰이 크게 준다
query––찾을 키워드. 공백으로 나눈 낱말을 모두 포함하는 쪽을 찾는다(AND, 공백 무관 매칭) — 예 '가점제 추첨제', '신혼부부 소득'

No output schema declared.

No examples provided.

realty_onbid_sale_rate ~1,122

공매가 "보통 감정가의 몇 %에 낙찰되나"와 "얼마나 유찰되나"를 실제 개찰 결과로 답한다. **법원경매의 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`를 함께 전하라.

NameTypeReqDescription
property_type––재산구분. **이 축을 빼고 하나의 낙찰가율을 말하면 거의 틀린다** — 실측 중앙값이 압류재산 31.6% vs 국유재산 106.3%로 3배 넘게 갈린다.
sido––시도. **주의: 결과 원장에는 지역 컬럼이 없다** — 물건명 접두에서 되찾은 값으로 거른다(커버리지는 응답의 region_basis에 실린다). ⚠️ '광주'는 광주광역시와 경기도 광주시 둘 다라 **한쪽으로 읽지 않고 거절한다**(error='sido_ambiguous') — 광역시면 '광주광역시', 경기도 광주시면 sido='경기도'·sigungu…
sigungu––시군구. 물건명에서 시도 다음 한 토막을 뽑은 것이라 '고양시 덕양구'는 '고양시'로만 잡힌다 — 자치구까지 좁히려면 이 원장으로는 안 된다. ⚠️ 시도 없이 시군구만 주면 **합치지 않고 거절한다**(error='region_ambiguous') — '중구'처럼 여러 시도에 같은 이름이 있으면 합친 값은 어느 지역의 것도 아니다. sido와 갈라 넣어라…
usage_name––용도 부분일치(대·중·소 3단). 원장 값 예: 주거용건물·아파트·토지·근린생활시설. 표본이 **입찰결과 원장**이라 물건 목록과 어휘가 미세하게 갈린다 — 없는 이름은 거절하며 이 원장의 쓸 수 있는 값을 준다.

No output schema declared.

No examples provided.

realty_poi_nearby ~235

[유료] 좌표 주변의 지하철·학교·병원·마트 등 입지 요소를 거리순으로 조회한다. 단지 좌표는 realty_complex_report가 준다. "역세권인가", "초품아인가" 판단용. 최근접역 거리·반경 안 개수만 필요하면 무료 realty_location_scores의 location_facts로 충분하다 — 이 도구는 시설 **목록**(이름별 거리)이 필요할 때 쓴다.

NameTypeReqDescription
latnumberyes위도 — realty_complex_report의 latitude를 쓰라
lngnumberyes경도
poi_type––subway | hospital | school — 쉼표로 조합 가능(예: 'subway,school'), 비우면 전체. 이 3종만 좌표 검색을 지원한다(마트·약국 등은 지역 통계 realty_poi_stats로)
radius_minteger–반경(미터) (허용 범위 100~3000)

No output schema declared.

No examples provided.

realty_poi_stats ~225

[유료] 시군구별 병원·학교·지하철역 개수 통계를 조회한다. 지역 간 인프라 비교용. 지역 키는 '시도축약 시군구' 2토큰이다(예: '서울 마포구', 세종은 1토큰). 병원·지하철은 수집 범위가 수도권·광역시 중심이라 지방 시군구는 0으로 나올 수 있다 — 0을 "없다"로 단정하지 말고 수집 범위 밖일 수 있다고 말하라.

NameTypeReqDescription
limitinteger–(허용 범위 1~50)
region––지역명 — 시도는 정식명·축약 모두 받는다(예: 서울, 경상남도 고성군, 경남 고성군, 마포구). 토큰 정확일치라 '남구'에 강남구가 섞이지 않는다. 비우면 전국 전체

No output schema declared.

No examples provided.

realty_policy_rules ~3,500

단지에 종속되지 않는 일반 규범(세율·규제·대출·임대차)을 근거 조문과 함께 준다. 단지에 종속되지 않는 **일반 규범**을 근거 조문·확인일과 함께 준다 — 취득세율표, 규제지역 **현재** 지정 현황, 주담대 규제 원표, 개인회생×대출, 주택임대차 갱신(갱신권· 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를 함께 전하라.

NameTypeReqDescription
query––**자유문으로 토픽을 찾는다** — 어느 topic인지 모를 때 사용자 말을 그대로 넣어라(예: '종부세 얼마부터 내요'→topic='comprehensive_real_estate_tax', '부모님이 보태주는 돈'→topic='gift_tax_and_funding_source', '전입은 빠른데 확정일자가 늦으면'→topic='auction_rights…
section––**토픽의 하위 항목만 골라 받는다** — 미지정이면 종전과 같이 토픽 전체가 온다. 큰 토픽(auction_rights·unit_alteration_rules·loan_rules)에서 필요한 축만 집을 때 쓴다. 예: topic='auction_rights', section='assumed_regardless_of_rank' → 순위 무관 인수(유치권·…
topicstring–**어느 표를 볼지 고른다 — 사용자가 쓰는 말로 찾아라.** axes=상품별 차이·6·27이 뭐에 걸리나·DSR 6축·수도권/규제지역 축 | **횡단 사실의 진실원**(6·27 상품별 적용·DSR 6축·수도권/규제지역·세대/인별/물건 기준 충돌). '어느 상품이 뭐가 다른가'류는 여기부터 — 상품 토픽과 어긋나면 이 표가 맞다, acquisition_t…

No output schema declared.

No examples provided.

realty_predict_price ~417

[유료] 단지의 **다음 달** 평균 매매가를 평형대별로 예측한다 (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)를 사용자 답변에 반드시 함께 전달하라 — 예측은 참고 지표이지 투자 보장이 아니다.

NameTypeReqDescription
complex_key––정확한 단지 키 — realty_complex_report가 돌려주는 complex_key
complex_name––단지명 (예: 반포자이)
monthsinteger–(구버전 호환) 예측 지평은 1개월 고정 — 이 값은 무시되고 응답이 그 사실을 실토한다 (허용 범위 1~12)

No output schema declared.

No examples provided.

realty_presale ~1,027

아파트 청약(분양) 공고를 조회한다 — 분양가·청약 접수 일정·당첨자 발표일·입주 예정·위치. "다음 달 청약 넣을 만한 데 있어?", "○○에 분양하는 아파트 있어?"류 질문용. **"오늘/지금 접수 가능한 청약"은 status='접수중'이다.** upcoming=true는 접수 **시작 전**만 주므로 그 질문에 쓰면 정확히 **오늘 못 넣는 공고들**을 받는다(2026-08-22 실사고: 접수가 이틀 뒤 시작하는 공고를 "현재 접수 가능"으로 답했다). 행마다 오늘 기준 판정 `apply_status`(접수중/접수예정/접수마감/일정미상)와 `apply_status_text`가 붙고, 그 기준일은 meta.today다 — **날짜를 직접 비교해 상태를 다시 판정하지 말고 이 값을 그대로 전하라.** "넣을 만해?/적정가야?"까지 물으면 이어서 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가 공고 원문 값을 쪽 번호와 함께 준다.

NameTypeReqDescription
keyword––단지명·공급 주소 부분일치 (예: '우미린', '5-2생활권', '다솜동') — 생활권·동 단위 질의는 이걸로
limitinteger–공고 수 — 주택형별 분양가·순위별 일정이 붙어 행이 무겁다. 요청분을 다 실으면 응답이 크기 상한을 넘는 경우 **실제 반환 수를 줄이고 meta.size_capped**에 총계·좁혀 부르는 법을 값으로 싣는다 — 조용히 자르지 않는다 (허용 범위 1~50)
region––시도 (예: 서울, 경기, 세종, 부산)
sigungu––시군구 정확한 이름 (예: 수원시, 강남구). ⚠️세종은 이 필드가 동·생활권·도로명으로 오염돼 있으니 쓰지 말고 keyword를 쓰라
statusstring–오늘(KST) 기준 접수 상태로 거른다. **'오늘/지금 접수 가능한', '지금 넣을 수 있는' 질문은 '접수중'이다** — '접수예정'은 아직 못 넣는 것들이다. '다음 달 청약'처럼 앞으로를 묻는 질문만 '접수예정'. 기본 '전체'.
upcomingboolean–⚠️True면 접수 **시작 전**(시작일이 오늘 이후) 공고만 — **오늘 접수 가능한 공고는 여기 없다**. 오늘 넣을 수 있는 것을 찾는다면 status='접수중'을 써라. status와 함께 쓰지 말 것(status가 이것을 대체한다).

No output schema declared.

No examples provided.

realty_presale_context ~895

이 분양 공고를 같은 시군구·같은 평형의 다른 공고들과 5축으로 견준다. 이 분양 공고를 **같은 시군구·같은 평형 공고들과 견줘** 읽는다 — 청약홈 API에 없고 **공고문 원문에만 있는 5축**으로: ①대지비 비중(분양가에서 땅값이 얼마인가) ②유상옵션 (사실상 필수인 발코니확장 절대금액) ③중도금 무이자 여부와 회차 ④층 프리미엄(최저 층구간 대비 최상 층구간) ⑤㎡당 분양가(전용면적 기준). "이 분양가가 비싼가"는 실거래 대조만으로는 반쪽이다 — 같은 값이라도 대지비 비중이 70%인 공고와 25%인 공고는 다른 물건이고, 발코니확장 3천만원은 광고 분양가에 안 잡힌다. 공고를 지정하면 그 공고의 5축 값과 **분포에서의 위치(percentile)**를 주고, 지정하지 않으면 시군구·평형 슬라이스의 분포만 준다. 읽는 법(그대로 지켜야 값이 거짓이 되지 않는다): · **셀 표본이 3건 미만이면 분위를 안 낸다** — 그때 `verdict`가 '표본 부족'이고, 그것이 답이다. **시도 값(background)으로 갈아타지 마라**(D-2026W33-40). · **연도를 자르지 않은 시계열을 그리지 마라** — 팩트시트 커버율이 연도마다 20배 이상 갈린다(meta.coverage.by_year). 연도 간 분양가 추이는 realty_presale_price_trend다. · 중도금 `unknown`은 '이자 있음'이 아니라 '판정 못 했다'다(n_known/n_unknown이 갈려 있다). · ㎡당 분양가는 **전용면적** 기준이라 공급면적 평당가와 같은 축에 놓으면 안 된다. 이 축의 자리: 개별 공고의 값 자체(전매제한·자격·층별 표 전문)는 realty_notice_facts, 원문 조항은 realty_notice_text, 분양가 대 실거래 적정성은 realty_presale_vs_market, 연도별 분양가 추이는 realty_presale_price_trend — 이 도구는 **공고끼리의 횡단면**이다.

NameTypeReqDescription
exclusive_m2_max––전용면적 상한(㎡) — 국평만 보려면 85
exclusive_m2_min––전용면적 하한(㎡) — 국평만 보려면 80. 지정하면 모든 셀에 같은 필터가 걸린다
house_manage_no––공고 관리번호 (realty_presale·realty_notice_facts 응답의 house_manage_no, 예 '2026000383')
keyword––단지명 일부 (예: '우미린' — 공백 무관 매칭). house_manage_no와 택일이며 여럿이면 후보 목록을 돌려준다
region––시도 (예: 경기, 서울, 경남). **시도 분포는 배경일 뿐 결론 근거가 아니다**(D-2026W33-40) — 결론은 시군구·평형대 셀에서 읽어라
sigungu––시군구를 원장 어휘 그대로 (예: '천안시 서북구', '평택시', '서울 동작구' — 특별·광역시는 '서울 동작구'처럼 시도 접두가 붙는다). 공고를 지정하지 않고 그 지역 분포만 볼 때 쓴다

No output schema declared.

No examples provided.

realty_presale_cost ~534

분양 한 건의 층별 총 소요자금(분양가·발코니·중도금이자·취득세)을 계산한다. 공고 원문(팩트시트) 기반 **결정론 계산**: 층별 분양가 + 발코니 확장비 + 회차별 중도금 이자(일할) + 취득세(표준세율) = 층별 총 소요자금. "이 분양 실제로 얼마 드나"의 자리다 — 클라이언트마다 손계산하면 입주일 가정 하나로 백만원대가 갈린다(실측 124만원). 경계(신고 #43의 선 그대로): 여기까지가 "공고+세법에서 결정론적으로 나오는 것"이다. 월 상환액·매수 vs 전세 손익분기는 개인 파라미터가 지배하므로 계산하지 않는다 — 전세 시세는 realty_complex_rent_by_pyeong으로 받아 클라이언트가 개인 가정을 얹어라. 자기자금·차주 조건을 **선언**받아 필요 대출액과 규제 상한 통과까지 판정하는 건 realty_presale_funding_plan이 한다. 세율표 자체는 realty_policy_rules가 근거 조문과 함께 준다(중과·감면 등 이 계산이 가정으로 제친 것들이 거기 있다 — assumptions를 반드시 사용자에게 전하라).

NameTypeReqDescription
extra_options_krwinteger–발코니 외 유상옵션 합계(원) — realty_notice_facts의 옵션가에서 골라 넣어라
house_manage_no––공고 관리번호 (realty_presale의 house_manage_no)
house_ty––주택형 (예: '59', '84B') — 생략 시 공고의 주택형 목록을 돌려준다
keyword––단지명 일부 (공백 무관)
mid_rate_pctnumber–중도금 대출 연이율 %(기본 5.0 — 실제 금리는 공고·은행마다 다르다) (허용 범위 0 초과~20)
movein_ym––입주 년월 YYYYMM 덮어쓰기 — 공고에 입주예정이 없거나 다른 가정을 쓸 때

No output schema declared.

No examples provided.

realty_presale_funding_plan ~1,302

분양 한 건이 내 자기자금과 대출로 닫히는지 시점별로 판정한다. 공고 하나에 대해 **"내 자기자금으로 닫히는가"**를 결정론으로 판정한다 — 시점별 (계약금→중도금 회차→잔금) 필요액, 잔금 시점의 필요 대출액, 그 대출이 규제 상한 (LTV·가액구간 한도·DSR — realty_loan_limit과 같은 엔진) 안에 드는지, 부족하면 얼마가 부족한지. "이 분양 당첨되면 진행 가능해?"류 질문의 자리다. 경계: ① 차주 유형·소득은 **선언**이다(서버는 판정하지 않는다). ② 판정은 **현행 규제·현재 자기자금 기준**이다 — 잔금 시점(수년 뒤)의 규제·금리·저축 증가는 반영하지 않으며 그 사실을 assumptions에 싣는다. ③ 승인·확약이 아니다. ④ 저축 계획·갈아타기 전략·매수 적정성 판단은 이 도구 밖이다 — 시세 비교는 realty_presale_vs_market, 규칙 원표는 realty_policy_rules. 응답의 assumptions·uncertainties를 함께 전하라. ⑤ 입주시 시세·전세보증금도 **선언**이다 — 선언하면 각각 시세 기준 잔금대출 시나리오 (scenario_at_expected_price)와 전세 잔금 시나리오(jeonse_scenario — 거주의무·대출 병행 불가 게이트)를 병렬로 준다. 서버는 미래 시세·전세가를 추정하지 않는다.

NameTypeReqDescription
annual_income_10k––차주 연소득(만원) — 주면 잔금대출의 DSR 상한까지 반영해 판정한다
borrowerstringyes잔금대출 차주 유형(사용자 선언 — realty_loan_limit과 동일 계약). 계약자 명의 기준으로 선언하라
credit_loan_10k––신용대출 잔액·예정액(만원) — realty_loan_limit과 동일 계약(서버가 산정만기 5년 규제식으로 계산한다). 직접 연 원리금을 계산해 넣지 마라
credit_loan_rate_pct––신용대출 약정금리(%) — credit_loan_10k를 줬으면 필수 (허용 범위 0 초과~20)
existing_annual_debt_payment_10kinteger–기존 대출 연간 원리금(만원)
expected_price_at_movein_10k––입주(잔금) 시점 예상 시세 선언(만원) — 잔금대출 LTV는 실무상 입주시 시세·감정가 기준이라, 선언하면 그 값 기준 판정을 병렬로 준다. 서버는 미래 시세를 추정하지 않는다(선언 없으면 분양가 기준만)
extra_options_krwinteger–발코니 외 유상옵션 합계(원)
floor_zone––층 구분(예: '5~9층') — 생략하면 첫 밴드로 계산하고 나머지 밴드 총액을 병기한다
house_manage_nostringyes공고 관리번호 (realty_presale의 house_manage_no)
house_ty––주택형 (예: '59', '84B')
interest_rate_pct––잔금대출 약정금리 가정(%) (허용 범위 0 초과~20)
is_metro––수도권 여부 직접 선언
is_regulated––규제지역 여부 직접 선언
jeonse_deposit_10k––입주 시점 예상 전세보증금 선언(만원) — 주면 '세입자 보증금으로 잔금 치르기' 시나리오를 판정한다(거주의무·대출 병행 불가 게이트 포함). 시세 확인은 realty_complex_rent_by_pyeong·region_price_stats(metric=rental)
lenderstring–업권
loan_term_yearsinteger–잔금대출 만기(년) (허용 범위 1~50)
mid_rate_pctnumber–중도금 대출 연이율 %(기본 5.0) (허용 범위 0 초과~20)
movein_ym––입주 년월 YYYYMM 덮어쓰기 — 공고에 입주예정이 없으면 이걸 안 주는 한 총 소요자금이 계산되지 않아 자금 판정도 못 한다(realty_presale_cost와 같은 계약·같은 이름). 후보는 realty_presale의 move_in_ym
own_funds_10kintegeryes동원 가능한 자기자금(만원) — 계약금부터 잔금까지 전액 투입 가정으로 계산한다. 0도 유효하다(전액 대출 시나리오 — 계약금 게이트에서 정직하게 걸린다)
rate_fixed_years––혼합형 고정기간 또는 주기형 변동주기(년) — 미지정 시 5년 가정 (허용 범위 0~50)
rate_typestring–잔금대출 금리유형 — realty_loan_limit과 동일 계약. 기본 '변동'은 스트레스 금리 전액 가산이라 가장 보수적이다(안 닫힌다는 판정이 유형 때문일 수 있다)
region––규제 판정용 지역 덮어쓰기 — 생략하면 공고 소재지로 판정한다

No output schema declared.

No examples provided.

realty_presale_price_trend ~442

같은 지역 분양 공고들의 연도별 평당 분양가 추이를 낸다. 같은 지역 분양 공고들의 **연도별 평당 분양가 추이**를 낸다 — "지금 넣을까, 기다릴까"에서 **기다림의 비용**(다음 공고가 얼마에 나올까)을 정량화하는 축이다. 재당첨 제한이 걸린 결정(분양가상한제 10년 등)에서 특히 판단을 가른다. 기준(답변에 그대로 전달): **공급면적(분양평) 평당 최고 분양가**(만원/평), 발코니 확장·유상옵션 미포함. 연도별 주택형 믹스가 다르면 중앙값이 흔들린다 — announcements가 1~2건인 연도는 추이로 읽지 말고, 평형대를 고정하려면 exclusive_m2_min/max(국평=80~85)를 써라. 이 축의 자리: 개별 공고의 적정성(분양가 vs 실거래)은 realty_presale_vs_market, 실거래 가격 추이는 realty_region_price_stats — 이 도구는 **분양가끼리의 시계열**이다.

NameTypeReqDescription
exclusive_m2_max––전용면적 상한(㎡) — 국평만 보려면 85
exclusive_m2_min––전용면적 하한(㎡) — 국평만 보려면 80
keyword––단지명·공급 주소 부분일치 (예: '고덕', '동탄') — 동네·지구 단위 추이는 이걸로
region––시도 (예: 서울, 경기, 세종)
sigungu––시군구 정확한 이름 (예: 평택시). ⚠️세종은 오염돼 있으니 keyword를 쓰라

No output schema declared.

No examples provided.

realty_presale_vs_market ~618

청약(분양) 공고의 분양가가 주변 실거래 시세 대비 싼지/비싼지를 주택형별로 계산한다. "이 청약 넣을 만해?", "분양가 적정해?"류 질문의 정량 근거 — 웹검색으로는 못 하는 분양가×실거래 조인 계산이 이 도구의 존재 이유다. 공고 특정: house_manage_no가 없으면 region+keyword로 검색하고, 여러 건이면 후보 목록을 돌려주니 하나를 골라 다시 호출하라(추측해서 고르지 않는다). 기준선: 평형 행의 gap_pct는 gap_basis가 말하는 기준 대비다 — 인근 비교단지가 충분하면 **공고 좌표 반경·준공 연도 조건·같은 평형대 비교군**(nearby_baseline) 대비이고, 아니면 지역(공고 시군구, 없으면 시도) 실거래 평균(구축·외곽 포함, 이상치 미필터) 대비다. 지역 평균 대비 값은 gap_pct_region_avg에 늘 따로 있고, 두 기준선이 크게 갈리면 baseline_divergence가 붙는다 — 그때 지역 평균 대비 수치로 '비싸다'를 말하지 마라. 청약 경쟁률·당첨 가점 커트라인은 realty_subscription_odds에 있다("넣을 만해?"엔 둘을 같이 써라). 지역 수준 교차확인은 realty_area_price_bands(이상치 필터·중앙값)로 하라. 이 도구는 **현재 공고 1건의 적정성**이다 — 같은 지역 공고들의 분양가 시계열 ("기다릴수록 얼마씩 올랐나")은 realty_presale_price_trend.

NameTypeReqDescription
house_manage_no––realty_presale 응답의 공고 관리번호 — 알면 이걸로 특정하는 게 정확
keyword––단지명·주소 부분일치 (예: '우미린', '5-2생활권', '다솜동')
monthsinteger–실거래 비교 창(개월) (허용 범위 3~24)
pyeong––대조할 전용평(정수)을 직접 고른다 — 예: [26]이면 국민평형 84㎡만. 안 주면 **세대수 많은 순 상위 5개** 평형을 자동으로 고른다. comparison_truncated에 빠졌다고 적힌 평형은 이 인자로 되받아 부르면 된다(공시만 하고 길이 없으면 막다른 골목이다)
region––시도 (예: 서울, 경기, 세종)

No output schema declared.

No examples provided.

realty_public_rental_notices ~620

마감 전 공공임대 모집공고(접수 예정 포함) — LH 행복주택·국민임대·영구임대·통합공공임대·공공임대·매입임대·전세임대. "행복주택 모집 공고 있어?", "서울 청년 전세임대 지금 신청돼?", "경기 매입임대 모집", "LH 임대 공고"류 질문의 자리다. 공고마다 유형·지역·진행상태·마감일·남은 일수와 **원문 공고 주소(source_url)**를 준다. 마감 임박 순이고 총계(meta.total_matched)·잘림(meta.truncated)이 함께 나온다. **결론에 반드시 옮길 것**: · 원천은 LH 공고(+마이홈의 LH 밖 공급기관 일부)다. **SH·GH·iH 등 지방공사 자체 공고와 장기전세는 없다** — 0건이나 적은 건수를 '모집이 없다'로 말하지 마라(meta.coverage.not_covered). · 자격(소득·자산·무주택) 판정은 하지 않는다 — 신청 가능 여부는 source_url 공고문으로 안내하라. · 수집 시각은 meta.freshness다 — 캐시라 그 뒤 공고는 없다. · 마감 전이면 **접수 시작 전 공고도 든다**(LH 공고중·status 접수예정) — '지금 신청 가능'으로 말하지 말고 접수 기간은 공고문으로 확인하라. 지금 접수 중이 확실한 것은 status 접수중뿐이다.

NameTypeReqDescription
keyword––공고명·지역 표기 부분일치(공백 무시) — '청년'·'신혼'·시군구 등. LH는 시군구 필드가 없어 공고명에 적힌 것만 잡힌다(meta.keyword_scope)
limitinteger–돌려줄 공고 수(마감 임박 순) (허용 범위 1~50)
offsetinteger–건너뛸 공고 수 — meta.next_offset을 그대로 넣는다 (허용 범위 0~5000)
region––시도(예: '서울', '경기', '전남'). 시군구·단지명은 keyword로 준다. '광주'는 광주광역시다(경기 광주시는 region='경기', keyword='광주'). 전국 단위 공고는 어느 시도에도 함께 실린다
rental_typestring–임대 유형. 장기전세(SH 상품)는 이 원천에 없어 0건과 함께 그 사실을 돌려준다

No output schema declared.

No examples provided.

realty_reconstruction ~235

[유료] 건령·거래활성 기반 재건축 **후보 스크리닝** 상위 단지를 조회한다. 점수 = 건령(최대 70, 30년 연한 기준) + 최근 12개월 거래활성 전국 백분위(최대 30). 사업성(용적률·대지지분·안전진단·조합 단계)은 반영되지 않는다 — 후보 발굴용이지 투자 판단 근거가 아니며, 응답의 disclaimer를 사용자에게 그대로 전하라. (구버전 점수 포화로 2026-07-30 보류했다가 산식 v2 재계산 검증 후 재개 — DATA-060)

NameTypeReqDescription
district––지역명 (예: 서울, 구로구). 비우면 전국 상위
limitinteger–(허용 범위 1~50)
region––지역명 — 다른 도구와 같은 인자 이름. district와 같은 뜻이다(둘 중 하나만)

No output schema declared.

No examples provided.

realty_redevelopment ~672

[유료] 서울시 정비사업(재개발·재건축·가로주택) 사업장 목록을 조회한다. [유료] 서울시 정비사업(재개발·재건축·가로주택 등) 사업장 목록 — 사업명·유형· 진행 단계·위치. "○○구 재개발 어디까지 진행됐어?"·"면목동 재개발 어디 있어?"류 질문용. 구(region)·동(dong)·유형(project_type)·진행 단계(stage)로 거를 수 있다. **커버리지는 서울 한정**(정보몽땅 원천) — 타 시도는 이 도구로 답할 수 없다고 밝혀라. 세대수·준공예정은 원천 목록이 제공하지 않아 null이다(지어내지 말 것). 원천이 진행 단계를 비워 둔 사업장이 있다(약 2%) — stage가 빈 행은 '단계 미상'이지 '진행 없음'이 아니다. 재건축 **유망도 점수**는 이 도구가 아니라 realty_reconstruction이 담당하고, "지금 사면 조합원 지위 승계돼?"는 realty_member_transfer_check(무료)가 담당한다.

NameTypeReqDescription
dong––법정동 (예: 면목동·신길동) — 사업장 주소로 거른다. 구를 함께 주면 빠르다
limitinteger–(허용 범위 1~50)
offsetinteger–페이지네이션 오프셋
project_type––reconstruction=재건축, housing_redevelopment=재개발(주택정비형), urban_redevelopment=재개발(도시정비형), street_housing=가로주택정비, small_reconstruction=소규모재건축, small_redevelopment=소규모재개발, regional_housing=지역주택, remodeling…
region––시군구 (예: 강남구) — 다른 도구와 같은 인자 이름. sigungu와 같은 뜻이다
sigungu––시군구 (예: 강남구). 비우면 서울 전체. region과 같은 뜻의 옛 이름(둘 중 하나만)
stage––진행 단계 필터 — plan_establishment=정비계획 수립, zone_designation=정비구역지정, safety_assessment=안전진단, committee_approval=추진위원회승인, union_establishment=조합설립인가, project_approval=사업시행인가, disposal_approval=관리처분인가, sale…

No output schema declared.

No examples provided.

realty_redevelopment_burden ~510

재개발·재건축 조합원의 권리가액과 추가 분담금을 계산한다. 재개발·재건축 조합원의 권리가액과 추가 분담금(또는 환급금)을 결정론으로 계산한다 — 권리가액 = 종전자산 감정평가액 × 비례율, 분담금 = 조합원분양가 − 권리가액. "감정평가 3억에 비례율 98%면 얼마 더 내?"의 자리다. 경계를 지켜라: ① 입력 전부 **선언**이다 — 감정평가액·비례율은 조합 자료에서 가져와야 하고 서버는 검증하지 않는다. ② 이 산식은 법정 산식이 아니라 통용 실무 산식이며, 비례율은 관리처분인가 전엔 추정치라 준공까지 계속 변한다 — 응답의 sensitivity(비례율 ±10%p 스윙)와 disclosures를 반드시 함께 전하라. ③ 산식 출처·변동 함정의 원문은 realty_policy_rules(topic=redevelopment_rules)의 proportion_formula가 진실원이다. 분양자격 자체가 불확실하면 topic=redevelopment_entitlement(갈림길 지도)부터.

NameTypeReqDescription
member_sale_price_10kintegeryes받으려는 주택형의 조합원분양가(만원)
prev_asset_value_10kintegeryes조합원 종전자산 감정평가액(만원) — 감정평가 결과이지 시세가 아니다
proportion_rate_pct––비례율(%, 예: 102.5) — 조합 총회 자료·관리처분계획의 값을 선언. 없으면 아래 사업 전체 3종으로 계산한다 (허용 범위 0 초과~300)
total_post_asset_10k––종후자산 평가총액=분양수입 총액(만원) — 비례율을 직접 계산할 때
total_prev_asset_10k––종전자산 평가총액(만원) — 비례율을 직접 계산할 때
total_project_cost_10k––총사업비(만원) — 비례율을 직접 계산할 때

No output schema declared.

No examples provided.

realty_region_price_stats ~2,107

지역의 아파트 실거래 시세 **추이**(월별)를 조회한다. 경매가가 싼지 판단하는 기준선이 된다. **이 축의 자리(시세 도구 3종 중)**: 월별 흐름·방향이 필요할 때 이걸 쓴다. 지역의 가격 **수준**을 인용할 거면 realty_area_price_bands를 쓰라 — 이 축은 이상치(지분· 증여성 직거래)가 필터되지 않아 평균이 눌리며, **두 도구 값이 갈리면 bands 쪽이 정상 매매에 가깝다**(세종 소형 실측 4,400만원 차). 단지가 특정된 질문("○○아파트 얼마야")은 realty_search_complexes가 기본이다 — 지역 평균은 단지 간 편차(같은 동 같은 평형에서 단지 평균 24% 차)를 뭉갠다. region은 시군구명(예: '강남구') 또는 **법정동까지**(예: '강남구 대치동', '세종특별자치시 나성동') — 세종처럼 시군구가 하나인 도시는 동 단위로 좁혀야 신도심· 구도심이 섞이지 않는다(2026-08-08, 8/7 테스터 제안 수용). 동명 지역이 여럿이면 시도를 앞에 붙여라 — 안 붙이면 **고르지 않고 거절**하며(region_ambiguous) 토큰이 정확히 같은 후보를 준다(그 목록을 사용자에게 되묻고, 고른 이름을 그대로 다시 넣어라). 지역은 토큰 정확일치로만 맞춘다 — '동구'는 '남동구', '서구'는 '달서구'가 아니다. metric: price(매매) | rental(전월세). rental도 **months 창 월별 추이**(monthly_trend: 전세 평균·중앙, 월세 보증금·월세, 건수 분리)를 준다 — "전세 떨어지는 중이야?", 역전세 판단용(입주 물량은 realty_move_in_supply와 조합). 상단 필드는 최신월 스냅샷. **rental엔 평형 인자가 안 먹는다** — 전월세 통계는 평형별로 나뉘어 있지 않아 pyeong_exclusive·pyeong_supply·area_m2_* 를 줘도 전체 평형 기준 값이 오고 warning_pyeong_fallback으로 실토한다(값이 잘못 나가는 게 아니라 **다른 모수**다). 평형별 전월세가 필요하면 단지 단위 realty_complex_rent_by_pyeong으로 가라. **면적은 사용자가 말한 단위 그대로 넣어라 — 환산은 서버가 한다**(2026-08-22 제보): - ㎡로 말했으면 → area_m2_exclusive(전용 84㎡ → 84) / area_m2_supply(공급 112.8㎡ → 112.8) - 평으로 말했으면 → pyeong_supply(분양 "34평") / pyeong_exclusive(전용 실평수 25.4평) ㎡ 값을 평 인자에 넣으면 조용히 환산하지 않고 사유와 두 방향 출구를 적어 거절한다. **가격순 '목록'이 필요하면 top_n을 준다**(2026-09-07 외부 신고 T-2026W34-352): "강남구 신고가 상위 5개"·"제일 비싸게 팔린 아파트"처럼 개별 거래를 나열하는 질문은 이 인자 없이는 답이 안 나온다 — 종전엔 그런 질문이 이 도구로 라우팅된 뒤 집계 (최고/평균/중앙)만 받고 목록을 못 줬다. top_transactions에 단지·평형·금액·계약일·층이 온다. **다만 그것은 '창 안의 고가 거래'이지 신고가(역대 최고가 경신)가 아니다** — 그 경계는 top_n을 준 응답이 같은 블록에서 적는다(이 도구 설명은 필드 이름을 대지 않는다 — 조건부로만 실리는 키를 설명이 무조건 지목하면 top_n 없이 부른 응답에서 없는 이름을 찾게 만든다, S364).

NameTypeReqDescription
area_m2_exclusive––전용면적을 **㎡ 그대로** 받는다(예: 84, 59, 114.98). 사용자가 '전용 84㎡'라고 말했으면 환산하지 말고 84를 여기 넣어라 — 서버가 평으로 환산하고 그 사실을 응답에 적는다. pyeong_exclusive와 동시에 주면 거절한다 **전월세(metric='rental') 통계는 평형별로 나뉘어 있지 않아 평형 인자가 적용되지 않는다**…
area_m2_supply––공급(분양)면적을 **㎡ 그대로** 받는다(예: 112.8). pyeong_supply와 동시에 주면 거절한다 **전월세(metric='rental') 통계는 평형별로 나뉘어 있지 않아 평형 인자가 적용되지 않는다** — 주면 전체 평형 기준 값이 오고 warning_pyeong_fallback으로 실토한다. 평형별 전월세는 단지 단위 realty_com…
metricstring–price=매매, rental=전월세. **평형 인자(pyeong_exclusive·pyeong_supply·area_m2_exclusive·area_m2_supply)는 price에서만 먹는다** — 전월세(metric='rental') 통계는 평형별로 나뉘어 있지 않아 평형 인자가 적용되지 않는다(전체 평형 값이 오고 warning_pyeong_fal…
monthsinteger–조회 개월 수 (허용 범위 1~60)
pyeong_exclusive––전용면적 기준 **실평수(평)** — ㎡가 아니다. 전용 84㎡면 25.4를 넣는다. **사용자가 ㎡로 말했으면 이 인자가 아니라 area_m2_exclusive를 쓰라** (㎡ 값을 여기 넣으면 60평 초과로 거절된다). 1평=3.3058㎡ **전월세(metric='rental') 통계는 평형별로 나뉘어 있지 않아 평형 인자가 적용되지 않는다** — 주…
pyeong_supply––분양평수(공급면적, 평) — 흔히 말하는 '34평'이 이것이다. 내부에서 ×0.745로 전용 실평수로 환산한다. **㎡로 말했으면 area_m2_supply를 쓰라** **전월세(metric='rental') 통계는 평형별로 나뉘어 있지 않아 평형 인자가 적용되지 않는다** — 주면 전체 평형 기준 값이 오고 warning_pyeong_fallback으로…
regionstringyes지역명 — 시군구까지(예: '강남구', '수원시 권선구') 또는 **법정동까지**(예: '강남구 대치동', '세종특별자치시 나성동'). 시도 약칭은 서버가 정식명으로 펴지만('서울 마포구' → '서울특별시 마포구'), 동명 지역이 여럿이면 시도를 앞에 붙여라 — 안 붙이면 **고르지 않고 거절**하며 이름이 정확히 같은 후보 목록을 준다('동구'는 '남동…
top_n––**가격순 상위 거래 '목록'을 함께 받는다**(1~20). '신고가 상위 5개', '제일 비싸게 팔린 아파트', '고가 거래 목록'처럼 **개별 거래를 나열**하는 질문이 이 인자다 — 안 주면 이 도구는 평균·중앙·최고 같은 **집계만** 답하고 목록은 못 준다. 행에 단지·전용면적·평형·금액·계약일·층이 실린다(top_transactions). me…

No output schema declared.

No examples provided.

realty_region_rankings ~513

시군구 순위를 가격·상승률·전세가율 같은 축으로 조회한다. 지역(시군구) 순위를 조회한다 — "제일 비싼 동네 어디야?", "요즘 많이 오른 지역은?", "전세가율 높은 곳은?"류 질문용. price=거래량 가중 전용 평당가(최소 5건, 최신월은 집계 진행 중일 수 있음) · growth=전용 60-85㎡ 고정 YoY(평형 구성 왜곡 제거). 응답 methodology의 산식·단위를 답변에 반영하라. investment=전세가율(시군구×전용평 셀로 매매·전세를 **같은 평형끼리** 짝지어 산출, 전 행이 같은 기준월·짝지은 건수 공시). 같은 평형·단지 수준은 realty_rental_yield. **transit·school도 보류다**(2026-09-26, D-2026W39-16) — 입지 점수는 90점 이상이 86.7%라 변별력이 없어 지역 순위를 내지 않는다. "교통 좋은 동네"는 단지를 특정해 realty_location_scores의 location_facts(최근접역 거리·반경 안 정류장·학교 수)로 답하라. 비교 대상이 두어 곳으로 정해진 질문("A vs B 어디가 나아?")은 [유료] realty_compare_regions가 시세·추이를 나란히 준다 — 이 도구는 순위·탐색용이다.

NameTypeReqDescription
limitinteger–(허용 범위 1~50)
metricstringyesprice=전용 평당가 / growth=연간 상승률 / investment=전세가율·갭투자 / transit·school=**보류**(입지 점수가 미검증 참고값이라 순위를 내지 않는다 — 호출하면 대안 안내)
orderstring–desc=상위부터, asc=하위부터
region––시도명(예: 부산)이면 그 시도 안 순위, 시군구명이면 해당 지역 필터. 비우면 전국

No output schema declared.

No examples provided.

realty_region_trend_basket ~594

지역 가격 추이를 **양쪽 창에 모두 거래가 있는 동일 단지들로만** 계산한다. **왜 필요한가**: 구 월평균 추이는 '가격이 변한 것'과 '팔린 단지가 바뀐 것'을 구분하지 못한다. 표본이 얇으면 후자가 지배하는데, 그걸 시세 변동으로 읽으면 오답이다 (2026-08-14 실사고: 용산 33평 월 1~7건 표본으로 '전년 대비 −9.6%'를 만들었다). 이 도구는 **naive(전체 평균 변화)와 basket(동일 단지 변화)을 나란히** 주고 그 차이를 `composition_effect`로 보여준다 — 차이가 크면 그 지역 평균 추이는 구성 잡음이다. 단지별 값은 **평당가**라 단지 안의 평형 구성 변화도 흡수한다. 한계를 반드시 함께 전하라: 바스켓이 얇으면(단지 수가 적으면) 이 값도 못 믿는다. 취소·직거래는 제외했고, 단지 내 동·층 구성 변화까지는 보정하지 못한다.

NameTypeReqDescription
min_tx_per_complexinteger–바스켓에 넣을 단지의 창당 최소 거래 건수 — 1이면 바스켓이 커지지만 단지별 값이 한 건에 좌우된다 (허용 범위 1~10)
pyeong_bandinteger–pyeong_supply 기준 허용 폭(±평). 넓히면 바스켓이 커지고 평형 혼합이 늘어난다 (허용 범위 1~10)
pyeong_supply––분양평(사용자가 말하는 '34평') 필터 — ±3평 창으로 거른다. **좁힐수록 바스켓이 얇아져** 고정 바스켓의 이점이 사라지니 응답의 바스켓 단지 수를 반드시 확인하라 (허용 범위 1~200)
regionstringyes시군구명 (예: 용산구, 성동구). **여러 시도에 같은 이름이 있는 시군구**(중구·동구·서구·남구·북구·강서구)는 시도를 함께 주라(예: '서울 중구') — 안 주면 합치지 않고 후보를 실토하며 거절한다
window_monthsinteger–비교 창 하나의 길이(개월). 최근 N개월 vs 그 직전 N개월을 비교한다 (허용 범위 1~12)

No output schema declared.

No examples provided.

realty_remodel_feasibility ~694

이 아파트를 벽·배관 기준으로 고칠 수 있는지 판단할 재료를 준다. **"이 아파트를 내가 원하는 대로 고칠 수 있나"**에 답하는 자리 — 두 축이다: **①벽**(내력벽을 헐어 방을 틀 수 있나) **②배관**(층상/층하 — 욕실·주방을 옮길 수 있나). "벽식구조면 리모델링 못 하죠?"·"내력벽 철거 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(관리사무소 설계도서·구청 행위허가 상담 등 실제로 확인 가능한 경로)을 안내하라 — 그것이 이 도구의 값어치다.

NameTypeReqDescription
axisstring–both=벽+배관(기본), wall=내력벽·평면 변경만, plumbing=상하수도·욕실 이동만
complex_name––단지·공고명 일부 (공백 무관 매칭). **없어도 된다** — 비우면 법령 규범 층만 답한다(그것만으로도 통설 오답을 막는다)
house_manage_no––공고 관리번호 (realty_presale·realty_notice_facts 응답의 house_manage_no)

No output schema declared.

No examples provided.

realty_rental_yield ~252

[유료] 시군구별 월세 수익률·평균 매매가·평균 월세를 조회한다. 수익형 투자 스크리닝용. 기본 응답은 최신 완결월 1개월치를 수익률 내림차순으로 자른 것이다 — 전체 기간·전체 지역이 아니다(truncated 필드 확인). 특정 월은 year_month로 조회하라.

NameTypeReqDescription
limitinteger–반환 행 수 — 수익률 내림차순 상위 N (허용 범위 1~50)
pyeong_supply––분양평수(예: 25·34) — 서버가 ×0.745로 전용평으로 환산해 **전용평 구간**(S·M·L·XL·XXL)을 고른다(분양 25평→S, 34평→M)
region––시도(예: 서울특별시) 또는 시군구(예: 강남구). 세종은 시 단위로 나온다
year_month––YYYYMM (기본 최신 완결월)

No output schema declared.

No examples provided.

realty_search_auctions ~1,729

법원경매 물건을 지역·종류·감정가·유찰횟수로 필터링해 조회한다. **이 축의 자리** — 조건을 **값으로 아는** 검색이 이 도구다. 사용자의 자연어 한 줄밖에 없으면 `search`가 먼저다(질의에서 조건을 뽑아 준다). 개별 사건의 상세는 여기가 아니라 `realty_get_auction_case`(사건번호+법원명)·`fetch`(search가 준 id)다. **이 도구는 법원경매(민사집행법·각급 법원)만 조회한다 — 공매는 여기가 아니다.** 공매(국세징수법·국유재산법 등, 한국자산관리공사 온비드)는 **이 서버에 따로 있다**: 물건은 `realty_search_onbid`, 낙찰가율은 `realty_onbid_sale_rate` (2026-08-22 적재 — 물건 25,669개 · 최근 3개월 개찰 결과 113,673행). 여기서 안 나온다고 "그런 물건 없다"고 답하지 말고 **공매 도구로 다시 걸어라.** 구분 신호는 번호 형식이다 — 법원 사건번호는 `2025타경1234`, 공매 물건관리번호는 `2026-0600-031235`(하이픈 세 토막·'타경' 없음)다. **두 원장을 합쳐 세거나 낙찰가율을 섞어 평균내지 마라** — 근거법·주관기관·권리 인수 규칙·저감 방식이 다르다. 감정가(min_price_10k/max_price_10k)는 **만원** 단위다 — 5억은 50000. 유찰이 많을수록 최저입찰가가 감정가 대비 낮아진다(`min_bid_rate`가 그 비율). ⚠️ **이 목록에는 매각기일이 이미 지난 행이 섞여 있다**(백엔드가 기일로 걸러주지 않는다 — 인천 아파트 3억 이하 실측 48건 중 43건이 지난 기일). 지난 기일 행에는 `past_auction_note`가 붙고 응답의 `past_auction_count`가 그 페이지의 건수다. "지금 살 수 있어?"류 질문이면 `exclude_past=true`로 걸러라 — 지난 기일 물건은 매각·취하됐거나 다음 기일이 아직 반영되지 않은 것이라 현재 매물로 인용하면 오답이다. ⚠️ **`sort=date_asc`(기일 임박 순)는 지난 기일이 목록 앞쪽을 통째로 차지한다** (2026-08-21 실측 94,279건 중 앞 57,241건=60.7%). `exclude_past=true`면 서버가 그 접두를 건너뛰고 읽으므로 첫 호출부터 실물이 온다 — 건너뛴 행 수는 `meta.past_prefix_skipped`, 실제로 읽은 자리는 응답의 `offset`(요청값은 `requested_offset`)이다. **items가 비어도 `has_more`가 true면 '조건에 맞는 물건이 없다'는 뜻이 아니다** — 그 창이 전부 지난 기일이었을 뿐이니 `next_offset`으로 이어서 호출하라. note가 둘 중 어느 쪽인지 매번 말한다. ⚠️ **최저입찰가는 출처를 반드시 확인해라** — 건별 `min_bid_source`가 붙는다. · `court_schedule` — 법원 기일표 정본이다. 그대로 믿어도 된다(활성의 28.8%). · `item_list` — 물건목록값이다. 유찰이 있으면 **저감 한 단계만큼 낡아 실제보다 높을 수 있다**(2026-08-04 실측: 유찰 1회 이상에서 정본과 3%만 일치, 25~43% 과대). 이 경우 `min_bid_note`가 함께 온다. 사용자에게 단정적으로 말하지 말고 그 한계를 전해라. 저감률로 역산해 추정하지 마라 — 재감정으로 최저가가 **오르는** 사건도 있다. 응답의 `min_bid_stale_risk_count`가 그 페이지에서 낡았을 수 있는 건수다. 회차별 정확한 가격은 realty_auction_history의 court_schedule에 있다. 목록에는 요약 필드만 담긴다. 특정 물건의…

NameTypeReqDescription
exclude_pastboolean–매각기일이 이미 지난 행 제외 여부. 기본 False(전체 반환 — 지난 기일 행에는 past_auction_note 플래그가 붙는다). '지금 입찰 가능한 물건' 질문이면 True로 호출하라 — 오늘 이후 기일(기일 미정 포함)만 남는다.
limitinteger–반환 개수 (최대 50) (허용 범위 1~50)
max_price_10k––최대 감정가, **만원** 단위
min_bid_count––최소 유찰 횟수. 유찰이 쌓일수록 최저입찰가가 내려간다. (허용 범위 0~100)
min_price_10k––최소 감정가, **만원** 단위 (5억이면 50000)
offsetinteger–페이지 오프셋. has_more가 true면 next_offset으로 다시 호출하라.
sido––시도. '서울'처럼 줄여 써도 되고 '서울특별시'도 된다. ⚠️ '광주'는 광주광역시와 경기도 광주시 둘 다라 **한쪽으로 읽지 않고 거절한다**(error='sido_ambiguous') — 광역시면 '광주광역시', 경기도 광주시면 sido='경기도'·sigungu='광주시'로 갈라 넣어라.
sigungu––시군구 (예: 강남구, 성남시) ⚠️ 시도 없이 시군구만 주면 **합치지 않고 거절한다**(error='region_ambiguous') — '중구'처럼 여러 시도에 같은 이름이 있으면 합친 값은 어느 지역의 것도 아니다. sido와 갈라 넣어라(예: sido='서울특별시'·sigungu='중구'). 거절 응답이 후보를 준다.
sortstring–정렬 기준
usage_name––물건 종류 — 원장 값 예: 아파트·오피스텔·다세대·연립주택·단독주택·다가구주택·근린시설·상가·대지·임야·전답. 부분일치라 '빌라'는 '연립주택,다세대,빌라' 행에 걸린다. **'토지'는 이 원장에 없는 이름이다** — 대지·임야·전답으로 나뉘어 있어 그대로 넣으면 서버가 사유와 유효값 목록을 들어 거절한다. 비우면 전 종류

No output schema declared.

No examples provided.

Common questions

What is the app.sallim/korea-realty MCP server?

app.sallim/korea-realty is an MCP server listed in the public MCP registry as app.sallim/korea-realty. Korean real estate: court auctions, 10M+ MOLIT records, subscription notice facts, loan/DSR rules. This page covers its hosted endpoint (https://realty.sallim.app/mcp?via=official).

Is the app.sallim/korea-realty MCP server safe to use?

app.sallim/korea-realty scores 80 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the app.sallim/korea-realty MCP server expose?

app.sallim/korea-realty exposes 55 tools: search, fetch, realty_search_auctions, realty_get_auction_case, realty_compare_auction_vs_market, and 50 more. Their descriptions and schemas cost roughly 47,493 tokens of context every time the server is loaded.

Does the app.sallim/korea-realty MCP server require authentication?

No. We connected to app.sallim/korea-realty without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the app.sallim/korea-realty MCP server still maintained?

app.sallim/korea-realty is still listed as active in the MCP registry. We last reached this channel on 2 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.