Korean Real Estate Transactions

Korean apartment and housing sale/rent records (MOLIT) by natural-language address. No key.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
80%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin get_korean_real_estate_transactions
  • LOWTool 'get_korean_real_estate_transactions' name length outside 3-30 rangein get_korean_real_estate_transactions

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,002Tokens (tool definitions)
~5.9 KBTypical response size
Moderate attention impact (0.78% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "korean-real-estate-mcp": {
      "url": "https://realestate-api.goyostudio.io/mcp"
    }
  }
}

Remote endpoints

https://realestate-api.goyostudio.io/mcpstreamable-http

What it can do

Tool inventory

Tools (1)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒get_korean_real_estate_transactions(q, type, tradeType, rentSubtype, startDate, ...)

Query official Korean real-estate transaction records (ꡭ토ꡐ톡뢀 μ‹€κ±°λž˜κ°€, MOLIT via data.go.kr) with a natural-language Korean address or apartment-complex name, e.g. '강남ꡬ λŒ€μΉ˜λ™ μ€λ§ˆ μ•„νŒŒνŠΈ λ§€λ§€'. Returns flat JSON: period statistics (avg/min/max price in KRW, or deposit/monthly-rent stats for rentals) plus individual transactions, newest first. For trend questions ('월별 좔이', 'how did prices move'), pass groupBy=month to get stats_by_month[]; for a size condition ('μ „μš© 84', 'ꡭ평'), pass an areaMin/areaMax band β€” both aggregate over the full matching set, unlike the row list which is capped at limit. Hint words inside q (μ•„νŒŒνŠΈ/μ˜€ν”ΌμŠ€ν…”β€¦, λ§€λ§€/μ „μ„Έ/μ›”μ„Έ) are auto-inferred as type/tradeType/rentSubtype; explicit fields always win. Ambiguous locations return HTTP 422 with candidates[] β€” pick one and retry. Unresolvable locations return 404. All inferences are disclosed in resolved_note; coverage gaps in missing_months. Terms (as-is, no warranty): https://realestate-api.goyostudio.io/terms β€” data may be corrected or cancelled after initial publication; not investment advice. PRICING: currently free within edge or app rate limits (50 requests / 10 seconds per IP). HTTP 429 with error RATE_LIMITED and a Retry-After header β€” wait that many seconds, then retry. x402-ready: a fixed micro-price per request (indicative $0.001–$0.01, USDC on Base) may be enabled later, after which unpaid requests receive HTTP 402 Payment Required per the x402 protocol (https://x402.org); agents with x402 support handle this automatically. Current pricing status: GET https://realestate-api.goyostudio.io/openapi.json β†’ x-pricing.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Natural-language Korean address and/or complex name. Max ~30 Korean characters (90 UTF-8 bytes), max 8 whitespace-separated tokens. Do not include period words ('졜근 3κ°œμ›”' is ignored β€” use startDate/endDate)."
    },
    "type": {
      "type": "string",
      "enum": [
        "apartment",
        "officetel",
        "rowhouse",
        "detached",
        "presale",
        "land",
        "commercial",
        "industrial"
      ],
      "description": "Property type. Default apartment unless inferred from q. rent is available only for apartment/officetel/rowhouse/detached; presale/land/commercial/industrial are sale-only."
    },
    "tradeType": {
      "type": "string",
      "enum": [
        "sale",
        "rent"
      ],
      "description": "sale = λ§€λ§€ (default), rent = μ „μ›”μ„Έ (jeonse + wolse combined unless rentSubtype filters)."
    },
    "rentSubtype": {
      "type": "string",
      "enum": [
        "jeonse",
        "wolse"
      ],
      "description": "Only with tradeType=rent. jeonse (μ „μ„Έ) = deposit-only; wolse (μ›”μ„Έ) = has monthly rent."
    },
    "startDate": {
      "type": "string",
      "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
      "description": "YYYY-MM inclusive. Default: 11 months before endDate (12-month window). Max range 24 months."
    },
    "endDate": {
      "type": "string",
      "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
      "description": "YYYY-MM inclusive. Default: current month."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Max transaction rows returned (default 100). Statistics always cover the full matching set regardless of limit."
    },
    "areaMin": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Minimum EXCLUSIVE area (μ „μš©λ©΄μ ) in ㎑, inclusive. Not supply area (곡급면적). A '84 type' apartment is usually 84.0-85.9㎑, so pin it with areaMin=84 & areaMax=86."
    },
    "areaMax": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Maximum EXCLUSIVE area (μ „μš©λ©΄μ ) in ㎑, inclusive."
    },
    "groupBy": {
      "type": "string",
      "enum": [
        "month"
      ],
      "description": "Set to 'month' for stats_by_month[] β€” per-month aggregates over the full matching set. Required for trend/좔이 questions: the transaction rows are capped at limit, so a trend cannot be rebuilt from them."
    }
  },
  "required": [
    "q"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded1 tools