Koskamo

Korean Real Estate Transactions MCP

A remote MCP server that answers natural-language questions about Korean addresses or apartment complexes with official real-estate transaction records from the Ministry of Land, Infrastructure and Transport (MOLIT). It covers sales, jeonse and monthly rent, period statistics, monthly trends, and exclusive-area filters without requiring an API key.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Korean Real Estate Transactions MCP logo, by goyostudioCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by goyostudio
MCP endpoint (Streamable HTTP)
https://realestate-api.goyostudio.io/mcp
Vendor documentation

What you can do with it

  • Query Korean apartment sale prices by natural language address
  • Retrieve jeonse and monthly rent transaction records
  • Get period statistics like average, min, and max prices
  • Analyze monthly price trends for specific apartment complexes

Source and maintenance

Community listingRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
io.github.goyo-studio/korean-real-estate-mcp 1.0.0
MCP protocol
2025-06-18
Tools
1 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

1 advertised

get_korean_real_estate_transactions
Advertised by the server during the last successful anonymous check.

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.

get_korean_real_estate_transactions input schema
{
  "type": "object",
  "required": [
    "q"
  ],
  "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": {
      "enum": [
        "apartment",
        "officetel",
        "rowhouse",
        "detached",
        "presale",
        "land",
        "commercial",
        "industrial"
      ],
      "type": "string",
      "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."
    },
    "limit": {
      "type": "integer",
      "maximum": 500,
      "minimum": 1,
      "description": "Max transaction rows returned (default 100). Statistics always cover the full matching set regardless of limit."
    },
    "areaMax": {
      "type": "number",
      "description": "Maximum EXCLUSIVE area (전용면적) in ㎡, inclusive.",
      "exclusiveMinimum": 0
    },
    "areaMin": {
      "type": "number",
      "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.",
      "exclusiveMinimum": 0
    },
    "endDate": {
      "type": "string",
      "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
      "description": "YYYY-MM inclusive. Default: current month."
    },
    "groupBy": {
      "enum": [
        "month"
      ],
      "type": "string",
      "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."
    },
    "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."
    },
    "tradeType": {
      "enum": [
        "sale",
        "rent"
      ],
      "type": "string",
      "description": "sale = 매매 (default), rent = 전월세 (jeonse + wolse combined unless rentSubtype filters)."
    },
    "rentSubtype": {
      "enum": [
        "jeonse",
        "wolse"
      ],
      "type": "string",
      "description": "Only with tradeType=rent. jeonse (전세) = deposit-only; wolse (월세) = has monthly rent."
    }
  }
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
213 ms
95th percentile latency
213 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 213 ms · metadata changed · 1 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http korean-real-estate-transactions-mcp https://realestate-api.goyostudio.io/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add korean-real-estate-transactions-mcp --url https://realestate-api.goyostudio.io/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable korean-real-estate-transactions-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "korean-real-estate-transactions-mcp": {
      "url": "https://realestate-api.goyostudio.io/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "korean-real-estate-transactions-mcp": {
      "type": "streamableHttp",
      "url": "https://realestate-api.goyostudio.io/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start korean-real-estate-transactions-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "korean-real-estate-transactions-mcp": {
      "type": "http",
      "url": "https://realestate-api.goyostudio.io/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http korean-real-estate-transactions-mcp https://realestate-api.goyostudio.io/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "korean-real-estate-transactions-mcp": {
      "url": "https://realestate-api.goyostudio.io/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "korean-real-estate-transactions-mcp": {
      "serverUrl": "https://realestate-api.goyostudio.io/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Korean Real Estate Transactions MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.