Skip to content

Korea Real Estate Data (실거래가·단지·청약)

by hoftlab · remote · no sign-in to list tools · v0.2.0 · published by GitHub user hoftlab

Korean apartment transactions, complex profiles and housing subscription data by region/complex name

Final · 5Changes · 5

14 tools: 5 do something that can't be undone, 5 change things and 4 only read.

Scanned Oct 21, 2026

5 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http kr-realestate https://kr-realestate-mcp.gamto.workers.dev/mcp

Findings

Matches of fixed checks, with the text they matched.

5 warn
  • The server marks "kr_apt_trades" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • The server marks "kr_apt_price_summary" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • The server marks "kr_apt_rents" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • The server marks "kr_apt_rent_summary" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for
  • The server marks "kr_presale_trades" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

14 tools

Can't be undone 5Claude Code: ask
  • kr_apt_price_summary[평소 $0.02/호출 — 현재 무료 모드] 단지의 매매 실거래를 면적타입별로 집계한다: 건수·최저/최고/평균/중위·최근 거래·최고가·평당가·기간 전후반 변화율, 월별 추이.1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "kr_apt_price_summary" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    [평소 $0.02/호출 — 현재 무료 모드] 단지의 매매 실거래를 면적타입별로 집계한다: 건수·최저/최고/평균/중위·최근 거래·최고가·평당가·기간 전후반 변화율, 월별 추이. Price summary by area type for a complex.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • kr_apt_rent_summary[평소 $0.02/호출 — 현재 무료 모드] 단지의 전월세 실거래를 면적타입별로 집계하고(전세 중위 보증금, 월세 보증금/월세 중위, 갱신 비중) 같은 기간 매매 중위가 대비 전세가율(%)을 계산한다.1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "kr_apt_rent_summary" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    [평소 $0.02/호출 — 현재 무료 모드] 단지의 전월세 실거래를 면적타입별로 집계하고(전세 중위 보증금, 월세 보증금/월세 중위, 갱신 비중) 같은 기간 매매 중위가 대비 전세가율(%)을 계산한다. Rent summary with jeonse-to-price ratio.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • kr_apt_rents[평소 $0.01/호출 — 현재 무료 모드] 단지명과 기간으로 아파트 전월세 실거래 목록을 돌려준다(전세/월세 구분, 보증금·월세 만원, 신규/갱신, 갱신요구권, 종전 계약 조건).1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "kr_apt_rents" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    [평소 $0.01/호출 — 현재 무료 모드] 단지명과 기간으로 아파트 전월세 실거래 목록을 돌려준다(전세/월세 구분, 보증금·월세 만원, 신규/갱신, 갱신요구권, 종전 계약 조건). Jeonse/monthly-rent transactions for a complex.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • kr_apt_trades[평소 $0.01/호출 — 현재 무료 모드] 단지명과 기간으로 아파트 매매 실거래 목록을 돌려준다(지역코드 변환·단지명 유사도 매칭·다개월 결합·금액/면적 정규화 포함).1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "kr_apt_trades" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    [평소 $0.01/호출 — 현재 무료 모드] 단지명과 기간으로 아파트 매매 실거래 목록을 돌려준다(지역코드 변환·단지명 유사도 매칭·다개월 결합·금액/면적 정규화 포함). 금액 단위 만원, 평당가 포함. Apartment sale transactions for a complex over a period.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • kr_presale_trades[평소 $0.02/호출 — 현재 무료 모드] 아파트 분양권·입주권 전매 실거래.1 finding

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "kr_presale_trades" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input addresses people (input.to): what it sends cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    [평소 $0.02/호출 — 현재 무료 모드] 아파트 분양권·입주권 전매 실거래. 단지명을 주면 그 단지, 생략하면 시군구 전체(단지별 집계). 권리구분(분양권/입주권)·면적타입별 건수·중위가·평당가와 거래 목록. Presale/occupancy-right resale transactions.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Changes things 5Claude Code: ask
  • kr_apt_profile[평소 $0.01/호출 — 현재 무료 모드] 단지 기본정보: 세대수·동수·사용승인일·시공사·분양/임대·난방·복도형식·관리방식·면적 구성·주차·승강기·CCTV·지하철역/도보·버스·교육/편의/복지시설.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    [평소 $0.01/호출 — 현재 무료 모드] 단지 기본정보: 세대수·동수·사용승인일·시공사·분양/임대·난방·복도형식·관리방식·면적 구성·주차·승강기·CCTV·지하철역/도보·버스·교육/편의/복지시설. kaptCode를 알면 region/aptName 대신 직접 지정. Complex profile from K-apt.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • kr_apt_report[평소 $0.05/호출 — 현재 무료 모드] 단지 종합 리포트 한 번에: 기본정보(K-apt) + 최근 N개월(기본 12) 매매 요약 + 전월세 요약 + 전세가율 + 최근 거래 10건 + 같은 시군구 시장 맥락(월별 거래량·평당가).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    [평소 $0.05/호출 — 현재 무료 모드] 단지 종합 리포트 한 번에: 기본정보(K-apt) + 최근 N개월(기본 12) 매매 요약 + 전월세 요약 + 전세가율 + 최근 거래 10건 + 같은 시군구 시장 맥락(월별 거래량·평당가). 여러 공공 API를 결합한 상위 도구. All-in-one complex report.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • kr_pricing[무료] 이 서버의 도구 목록·건당 가격·결제 방식(x402, USDC)·데이터 출처와 갱신 주기·면책을 반환한다.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    [무료] 이 서버의 도구 목록·건당 가격·결제 방식(x402, USDC)·데이터 출처와 갱신 주기·면책을 반환한다. Returns tool catalog, per-call prices and data sources.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • kr_region_market[평소 $0.03/호출 — 현재 무료 모드] 시군구 단위 매매 시장 스냅샷: 월별 거래량·해제 건수·직거래 비중·중위가·평당가, 법정동별 집계, 면적대 분포, 거래 많은 단지 Top N, 평당가 높은 단지 Top N.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    [평소 $0.03/호출 — 현재 무료 모드] 시군구 단위 매매 시장 스냅샷: 월별 거래량·해제 건수·직거래 비중·중위가·평당가, 법정동별 집계, 면적대 분포, 거래 많은 단지 Top N, 평당가 높은 단지 Top N. Market snapshot for a district.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • kr_subscription_competition[평소 $0.02/호출 — 현재 무료 모드] 청약 공고 1건의 상세: 주택형별 공급세대·분양가(최고가, 만원)·순위/거주지역별 접수건수와 경쟁률·특별공급 신청현황·당첨가점(최저/최고/평균).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    [평소 $0.02/호출 — 현재 무료 모드] 청약 공고 1건의 상세: 주택형별 공급세대·분양가(최고가, 만원)·순위/거주지역별 접수건수와 경쟁률·특별공급 신청현황·당첨가점(최저/최고/평균). houseManageNo를 모르면 name으로 검색해 단일 공고일 때만 진행. Competition rates and prices for one subscription notice.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 4Claude Code: allow
  • kr_apt_compare[평소 $0.03/호출 — 현재 무료 모드] 2~5개 단지를 같은 기간으로 나란히 비교한다: 세대수·사용승인·면적타입별 매매 건수/중위가/평당가·전세 중위 보증금·전세가율, 그리고 두 단지 이상에 공통인 면적타입 교차표.No findings

    Why it is in this group

    • The name "kr_apt_compare" says "compare": a word for reading.
    Description, as the server wrote it
    [평소 $0.03/호출 — 현재 무료 모드] 2~5개 단지를 같은 기간으로 나란히 비교한다: 세대수·사용승인·면적타입별 매매 건수/중위가/평당가·전세 중위 보증금·전세가율, 그리고 두 단지 이상에 공통인 면적타입 교차표. 다른 시군구 단지끼리도 가능. Compare 2-5 complexes side by side.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • kr_region_lookup[무료] 지역명('분당', '서울 강남구', '역삼동', '수원')을 실거래가 API용 법정동코드 5자리(lawdCd)로 변환한다.No findings

    Why it is in this group

    • The name "kr_region_lookup" says "lookup": a word for reading.
    Description, as the server wrote it
    [무료] 지역명('분당', '서울 강남구', '역삼동', '수원')을 실거래가 API용 법정동코드 5자리(lawdCd)로 변환한다. 구가 있는 시는 구 코드 목록(lawdCds)으로 펼친다. Map a Korean region name to the 5-digit legal district code.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.2.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http kr-realestate https://kr-realestate-mcp.gamto.workers.dev/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__kr-realestate__kr_region_lookup",
      "mcp__kr-realestate__kr_apt_search",
      "mcp__kr-realestate__kr_apt_compare",
      "mcp__kr-realestate__kr_subscription_search"
    ],
    "ask": [
      "mcp__kr-realestate__kr_pricing",
      "mcp__kr-realestate__kr_apt_trades",
      "mcp__kr-realestate__kr_apt_price_summary",
      "mcp__kr-realestate__kr_apt_rents",
      "mcp__kr-realestate__kr_apt_rent_summary",
      "mcp__kr-realestate__kr_apt_profile",
      "mcp__kr-realestate__kr_apt_report",
      "mcp__kr-realestate__kr_region_market",
      "mcp__kr-realestate__kr_presale_trades",
      "mcp__kr-realestate__kr_subscription_competition"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as kr-realestate. Review it before you use it.