Skip to main content
Glama

Korean Real Estate Transactions

get_korean_real_estate_transactions

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

NameRequiredDescriptionDefault
qYesNatural-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).
typeNoProperty type. Default apartment unless inferred from q. rent is available only for apartment/officetel/rowhouse/detached; presale/land/commercial/industrial are sale-only.
limitNoMax transaction rows returned (default 100). Statistics always cover the full matching set regardless of limit.
areaMaxNoMaximum EXCLUSIVE area (전용면적) in ㎡, inclusive.
areaMinNoMinimum 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.
endDateNoYYYY-MM inclusive. Default: current month.
groupByNoSet 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.
startDateNoYYYY-MM inclusive. Default: 11 months before endDate (12-month window). Max range 24 months.
tradeTypeNosale = 매매 (default), rent = 전월세 (jeonse + wolse combined unless rentSubtype filters).
rentSubtypeNoOnly with tradeType=rent. jeonse (전세) = deposit-only; wolse (월세) = has monthly rent.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does so thoroughly: it describes return ordering, aggregation semantics, inference disclosure via resolved_note, coverage gaps via missing_months, rate limits, HTTP 429 Retry-After behavior, and data correction caveats. This is far beyond what the schema alone provides.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and return format, then moves through usage hints, errors, terms, and pricing. It is longer than typical because the API has many operational details, but it remains information-dense; the pricing and x402 paragraphs are somewhat verbose for a tool definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, but the description explains the flat JSON return: period statistics, individual transactions, newest-first ordering, stats_by_month[] for trends, and metadata fields like resolved_note and missing_months. It also covers error behavior, rate limits, and pricing status, so an agent has enough context to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful cross-parameter semantics: hint words inside q are auto-inferred as type/tradeType/rentSubtype, explicit fields always win, and groupBy/area filters aggregate over the full matching set unlike the capped row list. Most individual parameter details remain in the schema, so this is strong added context rather than complete parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: query official Korean real-estate transaction records from MOLIT/data.go.kr using a natural-language Korean address or apartment-complex name. It includes a concrete example and states the return shape, so the tool's purpose is unmistakable even without siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to use key modes: pass groupBy=month for trend questions, pass areaMin/areaMax for size conditions, and rely on explicit fields over inferred hint words. It also tells the agent how to recover from ambiguous locations (HTTP 422 with candidates) and unresolvable locations (404).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.