Skip to main content
Glama

Reevl — Korean Real Estate

Server Details

Korean apartment data: official transaction prices, jeonse ratios, AI forecasts. 45,000+ complexes.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

TDQS

A4.6/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a clearly distinct resource/action: schema metadata, apartment details, loan regulations, raw transactions, articles, apartment search, and non-apartment search. The descriptions actively preempt overlap by telling agents which tool not to use for a given case.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun pattern: describe_fields, get_apartment, get_loan_rules, get_transactions, list_articles, search_apartments, search_properties. Pluralization matches the resource type naturally and there are no mixed conventions.

Tool Count5/5

Seven tools is well-scoped for a Korean real estate data API. Each tool covers a major workflow without redundancy, and the count is neither too thin nor overwhelming.

Completeness4/5

The toolset covers the core read-only workflows: searching both apartments and non-apartments, retrieving detailed apartment data, getting individual transactions, and accessing current loan rules and market articles. Minor gaps exist, such as no non-apartment property detail endpoint and no tax/brokerage fee rules, but these are explicitly acknowledged and workable around.

Available Tools

7 tools
describe_fields축·단위 안내A
Read-onlyIdempotent
Inspect

검색에 쓸 수 있는 모든 축과 단위, 값의 분포(최소·중위·최대)와 시도별 단지 수를 준다. ★조건 검색 전에 한 번 부르는 것을 권한다 — 단위를 모르고 범위를 넣으면 100배 틀린 조건이 된다 (예: 전세가율은 값 그대로 %, 세대당 대지지분은 10으로 나눠야 ㎡).

ParametersJSON Schema
NameRequiredDescriptionDefault
sidoNofield=gu일 때 특정 시도로 좁힌다
fieldNo이 축의 실제 값 목록을 받는다(sido·gu·dong·brand·builder 등 문자 축)

Output Schema

ParametersJSON Schema
NameRequiredDescription
sidoNo인자 없이 부르면 시도별 단지 수 배열, field를 주면 좁힌 시도 문자열
countNo
fieldNofield 인자를 준 경우 그 축 이름
totalNo전체 단지 수
unitsYes축 이름 → 단위·뜻 설명. 숫자를 옮길 때 이 값을 그대로 읽는다
noticeNo참고용 통계라는 고지. 투자 자문·중개가 아니다
sourceYes데이터 출처와 갱신일
valuesNofield 인자를 준 경우 그 축의 실제 값 목록
datasetNo
filtersNo쓸 수 있는 인자 목록(문자·수치·검색·페이징·정렬)
endpointsNo
sido_noteNo
stats_noteNo
sido_aliasesNo정식 명칭 → 사용할 값(예: '서울특별시' → '서울')
numeric_statsNo수치 축의 최소·중위·최대. 범위를 정하기 전에 본다

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds useful behavioral detail beyond this: it returns distribution stats, provides per-province counts, and exposes unit conversion pitfalls. No contradiction with the annotations.

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

Conciseness5/5

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

The description is compact and front-loaded: it states what is returned, then gives a usage recommendation followed by a concrete example. Every sentence contributes and there is no fluff.

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?

For a 2-parameter, 0-required metadata tool with an output schema, this description is complete enough to invoke. It tells the agent what it returns, when to call it, why it matters, and what pitfalls to avoid.

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

Parameters3/5

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

Schema description coverage is 100%, and both parameters are already meaningfully described in the schema. The description does not add significant semantics beyond what the input-schema provides, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description states a clear verb ('준다') and resource: all searchable axes, units, value distributions (min/median/max), and counts by province. It is clearly a metadata/guide tool rather than a search tool, but it does not explicitly distinguish itself from the sibling tools.

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

Usage Guidelines4/5

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

It explicitly recommends calling the tool once before condition search, with a concrete reason and example showing how missing units can make range conditions 100x wrong. It lacks an explicit when-not-to-use statement or a direct contrast with sibling tools, but the intended usage context is clear.

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

get_apartment단지 상세A
Read-onlyIdempotent
Inspect

단지 하나의 전 축을 뜻이 통하는 묶음(기본·가격·전세월세·거래·등락·AI예측·입지·건물)으로 준다. search_apartments로 고른 뒤 그 cid로 부른다. 특정 단지를 판단해야 할 때 쓴다.

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYes단지 식별자. 예: '11290|길음뉴타운1단지(래미안길음1차)|길음동|1279'

Output Schema

ParametersJSON Schema
NameRequiredDescription
cidYes
webNo이 단지의 리블 웹페이지 주소
nameYes
unitsYes축 이름 → 단위·뜻 설명. 숫자를 옮길 때 이 값을 그대로 읽는다
noticeNo참고용 통계라는 고지. 투자 자문·중개가 아니다
sourceYes데이터 출처와 갱신일
가격No매매 대표가·평단가·공시가격·시세 등
거래No거래량·수요 지표
건물No용적률·건폐율·대지지분·주차·관리비
기본No식별·위치·세대수·준공 등
등락No6·12·36개월 변동률
입지No지하철·환승·학군·공원·거주 점수
주변No초등·대학·유치원
AI예측No리블 AI 6·12·24개월 예측
전세월세No전세가율·전세총액·갭·월세 등

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds genuine value beyond annotations by disclosing the all-axes bundle semantics and the hard prerequisite that the tool only works with a cid obtained from search_apartments. No contradiction with annotations.

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

Conciseness5/5

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

Two tight sentences, zero filler. The first sentence fronts the core behavioral contract (what it returns), and the second covers workflow plus usage condition. Every clause earns its place.

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?

Completeness is high: there's an output schema so return values need no explanation, the single required param is fully documented with an example, and the description covers the call workflow and usage condition. Nothing an agent needs to select and invoke this safely is missing.

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% with a concrete format example for cid. The description adds provenance beyond the schema: it clarifies that the cid must come from a prior search_apartments call ('그 cid로 부른다'), which tells the agent where the parameter value originates - useful semantic context the schema alone doesn't convey.

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 pairs a specific verb (준다 - gives) with the exact resource (하나의 단지 - one apartment complex) and enumerates the return scope as a coherent bundle across all axes (기본·가격·전세월세·거래·등락·AI예측·입지·건물). It also differentiates from search_apartments by framing this as the detail retrieval for a chosen complex.

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?

Names the sibling search_apartments explicitly and prescribes the workflow: choose via search_apartments first, then call this tool with that cid. It also states the selection condition ('특정 단지를 판단해야 할 때 쓴다' - use when judging a specific complex), leaving no ambiguity about when to invoke it.

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

get_loan_rules대출 규제 사실 (계산은 네가 한다)A
Read-onlyIdempotent
Inspect

주택담보대출의 현행 규제 수치를 준다 — LTV·DSR·스트레스 가산금리·규제지역·가격대별 상한. "5억 아파트 사려면 대출 얼마 나오나", "연봉 5천에 현금 1억이면 살 수 있나"에 이 도구를 먼저 부른다. ★★리블은 계산하지 않는다. 이 값을 받아서 네가 계산하라 — 규제는 자주 바뀌는데 계산기를 우리가 들고 있으면 바뀐 날부터 조용히 틀린 답이 나간다. 우리는 사실과 기준일을 주고, 산수는 네가 하는 편이 정확하다. ★응답의 as_of 이후 개정은 반영돼 있지 않다 — 답할 때 그 날짜를 함께 말할 것. ★how_to_calculate에 순서가 적혀 있다. LTV 한도와 DSR 한도 중 작은 쪽이 실제 한도다. ★취득세·중개보수는 이 표에 없다(가격·주택수·지역에 따라 갈린다). 모르면 모른다고 하라.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
dsrYes
ltvYes
as_ofYes이 규제의 기준일. 답변에 반드시 밝힐 것
sourcesNo
disclaimerYes
stress_dsrNo
regulated_areasNo규제지역 목록(LTV 40% + 가격대별 상한)
how_to_calculateYes
regulated_area_capsNo

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the read-only and idempotent annotations, the description adds critical behavioral context: the tool does NOT calculate, the agent must perform arithmetic, the as_of date bounds the data's validity and must be reported, and the effective loan limit is the smaller of LTV and DSR. It also warns that later revisions are not reflected. This far exceeds annotation coverage.

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

Conciseness5/5

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

The description is dense but well-structured with bold markers and asterisked caveats. Every sentence carries actionable information—calculation division, as_of handling, min-rule, exclusions, and honesty instructions. It is front-loaded with the core purpose and then layers critical caveats in a scannable format.

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?

With an output schema present, the description doesn't need to detail return values, but it still references how_to_calculate and explains post-processing rules. It covers all necessary operational context: when to call, what to do with the result, how to handle date-sensitive data, and what is out of scope. Nothing needed for correct invocation is missing.

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?

The input schema has zero parameters, so the baseline is 4. The description correctly focuses on output semantics and usage instead of parameter details, which is appropriate since there is nothing to parameterize.

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 states a specific verb and resource: it provides current mortgage regulation figures (LTV, DSR, stress rate, regulated areas, price caps). It directly distinguishes itself from siblings like get_apartment and search_properties by framing the tool as a regulatory-facts provider, not a property or transaction data source.

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?

The description gives explicit call signals with example questions ('5억 아파트 사려면...', '연봉 5천에...') and explicitly says to call this tool first. It also states what is not covered (취득세·중개보수) and instructs the agent to admit lack of knowledge when data is absent, making when-to-use and when-not-to-use clear.

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

get_transactions개별 실거래 내역A
Read-onlyIdempotent
Inspect

한 단지(또는 법정동)의 개별 거래를 최신순으로 준다 — 날짜·금액·면적·층까지. 다른 도구는 "최근 1년 102건"처럼 집계만 줘서 "가장 최근 거래가 언제 얼마"에 답할 수 없었다. "이 단지 최근 거래", "같은 평형 최근 10건", "직전 거래 대비 얼마나 올랐나"에 이 도구를 쓴다. ★아파트와 유형 전부 지원한다(kind 생략 시 아파트). ★전월세는 금액이 보증금·월세 둘이다 — price 하나로 뭉치지 말 것. 월세 0이면 순수 전세다. ★해제(취소)된 신고도 그대로 준다(canceled=true). 지우면 취소된 신고가를 확인할 방법이 없어서다 — 시세로 인용할 때는 반드시 빼고 말할 것. ★cid는 search_apartments·search_properties 응답에 들어 있다. 손으로 조립하지 말 것.

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYes단지 식별자. 검색 응답의 cid를 그대로 쓴다
dealNo아파트만 해당. 기본 sale. rent면 전월세 실거래를 준다
kindNo기본 apt(아파트). ★_rent는 전월세라 응답 형식이 다르다
limitNo1~200, 기본 30
area_m2No전용면적(㎡)으로 거른다. ±1.5㎡ 안을 같은 평형으로 본다

Output Schema

ParametersJSON Schema
NameRequiredDescription
cidYes
dealNo
kindYes
itemsYes최신순. 매매=date·price·area_m2·floor·canceled · 전월세=date·deposit·monthly·area_m2·floor
totalYes그 단지의 전체 거래 수(반환 건수가 아니다)
unitsYes축 이름 → 단위·뜻 설명. 숫자를 옮길 때 이 값을 그대로 읽는다
latestNo가장 최근 1건(해제 제외). 없으면 생략
noticeNo참고용 통계라는 고지. 투자 자문·중개가 아니다
sourceYes데이터 출처와 갱신일
returnedYes

TDQS

A4.9/5.0
Behavior5/5

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

The description adds substantial behavior beyond the readOnly/idempotent/non-destructive annotations: canceled reports are included with canceled=true, rent transactions have both deposit and monthly rent, kind defaults to apt but supports all types, and results are sorted latest-first. These are critical quirks an agent would otherwise discover only from output data.

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

Conciseness5/5

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

Every sentence earns its place: purpose, differentiation, use cases, then high-value caveats about canceled records and rent amounts. The most important usage guidance is front-loaded, and no filler or schema repetition is present.

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?

With an output schema present and annotations covering safety, the description still handles the important missing context: canceled-report handling, rent price semantics, cid provenance, and the tool's unique role versus aggregate-only tools. Nothing needed for correct invocation is left ambiguous.

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 enriches parameter meaning: it names the exact search tools that supply cid, clarifies that _rent kinds change output format, and explains how to interpret rent amounts. This goes beyond what the schema alone provides.

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?

States a specific verb and resource: gives individual transactions for a complex in latest order, listing date, amount, area, and floor. It explicitly contrasts with aggregation-only tools, so an agent can distinguish get_transactions from siblings that return summaries.

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?

Provides concrete use cases: 'most recent transactions in this complex', 'latest 10 same-plan transactions', and 'price change vs previous trade'. It also explains why other tools are unsuitable, giving both when-to-use and when-not-to-use guidance.

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

list_articles리블 아티클A
Read-onlyIdempotent
Inspect

리블이 발행한 부동산 브리핑 목록(제목·요약·발행일·링크). 정책 보도자료 정리와 실거래 데이터 분석을 거의 매일 낸다. 최근 시장 상황이나 정책 흐름을 물을 때 근거로 쓴다.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo1~30, 기본 10

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes인용할 때 url을 함께 밝힌다
noticeNo참고용 통계라는 고지. 투자 자문·중개가 아니다
sourceYes데이터 출처와 갱신일

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds useful context about the content frequency and scope, namely that it is published almost daily and contains policy summaries plus real transaction data analysis, which goes beyond what annotations alone convey.

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

Conciseness5/5

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

Two short sentences deliver the key content, fields, freshness, and intended usage with no unnecessary filler. The output contents are front-loaded and every sentence earns its place.

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?

The tool is simple, has one optional parameter, a complete input schema, and an output schema. The description states exactly what is returned, gives the topical context, and provides a clear use case, which fully covers what an agent needs to invoke it correctly.

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

Parameters3/5

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

The only parameter, 'limit', is fully described in the schema with a range and default value, so the description carries no extra parameter burden. Baseline 3 is appropriate since the schema covers the parameter semantically.

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?

States a specific verb and resource: it returns the list of Ribl's real estate briefings with title, summary, publication date, and link. This clearly distinguishes it from the sibling apartment/property search tools, which concern different entities.

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

Usage Guidelines4/5

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

The description gives a clear context for use: when the user asks about recent market conditions or policy trends, this tool provides supporting evidence. It does not explicitly list exclusions or alternatives, but the usage condition is concrete and actionable.

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

search_apartments아파트 검색A
Read-onlyIdempotent
Inspect

전국 아파트 45,000여 개를 조건으로 거른다. "강남구 20억 이하 대단지", "전세가율 높은 곳", "AI 1년 예측이 높은 단지"처럼 조건이 있는 질문에 쓴다. 지역·브랜드·시공사는 완전일치이고, 수치 축은 <축>_min·<축>_max로 범위를 준다. 응답에 units(단위 설명)와 total이 함께 온다 — 단위를 지어내지 말고 units를 그대로 읽을 것. 기본 20건이며 total로 전체 규모를 알 수 있다. ★비교·순위·집계처럼 여러 건을 봐야 하는 질문이면 한 번에 limit=100으로 받아 직접 추려라. 20건씩 나눠 여러 번 부르는 것보다 그쪽이 훨씬 싸다(호출 비용은 건수와 거의 무관하다). 수천 건을 훑어야 하면 offset으로 넘기지 말고 describe_fields의 분포를 먼저 보고 조건을 좁혀라.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNo단지명 부분 일치 검색어
guNo시군구. 예: 강남구, 수원시 장안구. ★구를 둔 시는 '수원시'처럼 **시 단위로도** 받는다(하위 구 전체가 잡히고 normalized에 그 사실이 온다)
dongNo읍면동. 예: 대치동
sidoNo시도. 예: 서울, 경기, 부산. (광주는 전남광주로 정규화된다)
sortNo정렬 축(수치 축 이름). 예: price, fc12, hh, jr
brandNo브랜드. 예: 자이, 래미안, 힐스테이트
limitNo1~100, 기본 20
orderNo기본 desc
fieldsNo쉼표로 구분한 축 목록, 또는 'all'. 기본은 14축(토큰 절약)
hh_minNo세대수 하한
jr_minNo전세가율 하한(%). 값 그대로 — 60이면 60%
offsetNo건너뛸 건수(페이지네이션)
statusNo단지 상태로 좁힌다. existing=기존 단지 · upcoming=분양 예정(price가 분양가) · unranked=무순위 청약. ★예측(fc*)으로 정렬·필터하면 자동으로 existing만 남는다 — 분양 예정을 보려면 여기서 명시할 것
age_maxNo준공 후 경과 연수 상한
builderNo시공사. 예: 현대건설
fc12_minNo리블 AI 1년 예측 하한(%). 값 그대로
price_maxNo매매 대표가 상한(만원)
price_minNo매매 대표가 하한(만원)

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes단지 목록. 담기는 축은 fields를 따른다. status 축이 기본으로 포함된다 — upcoming이면 아직 안 지어진 단지이고 price는 분양가다
limitNo
totalYes조건에 맞는 **전체** 건수(반환 건수가 아니다)
unitsYes축 이름 → 단위·뜻 설명. 숫자를 옮길 때 이 값을 그대로 읽는다
fieldsNoitems에 담긴 축 목록
noticeNo참고용 통계라는 고지. 투자 자문·중개가 아니다
offsetNo
sourceYes데이터 출처와 갱신일
hasMoreNo
returnedYes이번에 실제로 담긴 건수
nextOffsetNo다음 쪽을 받을 때 offset에 넣을 값
normalizedNo고쳐 쓴 인자(예: '광주' → '전남광주'). 있으면 다음엔 고쳐 부를 것

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already mark it read-only and idempotent, and the description goes further by explaining exact-match semantics for region/brand/builder, numeric _min/_max range behavior, automatic existing-only filtering when using fc* predictions, response shape signals (units and total), and pagination/cost behavior. This adds substantial behavioral context beyond the annotations.

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

Conciseness5/5

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

The description is long but every sentence carries operational value: use cases, matching rules, units handling, limit strategy, cost insight, and offset avoidance. It is front-loaded with the core purpose and then adds tactical guidance, so the length is justified.

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?

Given 18 optional parameters, full schema descriptions, an output schema, and annotations that establish read-only behavior, the description adds what an agent most needs beyond the schema: filtering semantics, response-shape conventions, cost-efficient limits, and guidance to consult describe_fields for huge result sets. Nothing critical for correct invocation is missing.

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?

The input schema already covers all 18 parameters with 100% description coverage, so the baseline is 3. The description adds meaningful value by explaining the general <axis>_min/<axis>_max convention, exact-match meaning, price units, and how status interacts with prediction filters, but it does not deeply re-explain each parameter beyond the schema.

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 leads with a specific action—filter nationwide apartments by conditions—and gives concrete example queries. It clearly positions itself as the condition-based search tool versus the focused get_apartment and describe_fields siblings, so an agent can tell them apart even before inspecting schemas.

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?

The description explicitly says when to use the tool ('조건이 있는 질문'), when to increase limit to 100 for comparison/ranking/aggregation, why that is cheaper, and when to consult describe_fields instead of paginating with offset. It gives actionable routing advice and even names a sibling tool.

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

search_properties아파트 외 부동산 검색A
Read-onlyIdempotent
Inspect

빌라(연립·다세대)·오피스텔·단독다가구·토지·상가/사무실·아파트 분양권의 실거래를 지역별로 준다. "송파구 빌라 시세", "제주 토지 평당가", "강남 상가 얼마"처럼 아파트가 아닌 질문에 쓴다. ★아파트는 이 도구가 아니라 search_apartments를 쓸 것 — 둘은 데이터가 완전히 분리돼 있다. ★지역(sido+gu)이 반드시 필요하다. 전국 단위 목록은 주지 않는다 — 빌라만 24만 곳이라 한 번에 줄 수 없고, 준다 해도 읽을 수 없다. ★집계 단위가 유형마다 다르다: 빌라·오피스텔·분양권은 단지, 단독·토지·상가는 법정동이다 (응답의 unit이 알려준다). 단독·토지·상가에서 name은 건물 이름이 아니라 동 이름이다. ★AI 예측(fc)은 없다. 빌라는 단지당 20년에 10건꼴이라 예측이 성립하지 않는다 — 있는 척하지 말고 "실거래 통계"로만 답할 것.

ParametersJSON Schema
NameRequiredDescriptionDefault
guYes시군구. 예: 송파구, 제주시
kindYesvilla=연립다세대 · officetel=오피스텔 · detached=단독다가구 · land=토지 · commercial=상가/사무실/건물 · presale=아파트 분양권 · ★_rent가 붙으면 **전월세**다(villa_rent·officetel_rent·detached_rent) — rep_price 대신 jtot(전세 대표가)·wolse_med(중위 월세)를 본다 · subscription=청약(분양 공고, 실거래 없음) · rental=공공임대(LH·마이홈 공급정보, 실거래 없음) · auction=공매(온비드, 금액은 감정가이며 실거래가 아님)
sidoNo시도. 예: 서울, 제주. (광주는 전남광주로 정규화된다)
sortNo정렬 축. 기본 n_total(거래 많은 순). ★유형에 없는 축으로 정렬하면 순서가 무의미해진다 — 전월세는 jtot·wolse_med, 공매는 min_low, 청약은 sub_end를 쓴다
limitNo1~100, 기본 20

Output Schema

ParametersJSON Schema
NameRequiredDescription
dealNo'매매' 또는 '전월세'. ★label은 둘 다 '빌라'라 이 축으로 갈라야 한다
kindYes
unitYes'단지' 또는 '법정동' — items의 name이 무엇인지 알려준다
itemsYes유형에 따라 담기는 축이 다르다. ★단위는 응답의 units를 그대로 읽을 것 — 지어내면 100배·1만배 틀린다
labelNo유형 이름(빌라·토지 등)
totalYes그 지역의 전체 단위 수(반환 건수가 아니다)
unitsYes축 이름 → 단위·뜻 설명. 숫자를 옮길 때 이 값을 그대로 읽는다
noticeNo참고용 통계라는 고지. 투자 자문·중개가 아니다
regionNo
sourceYes데이터 출처와 갱신일
returnedYes
no_tradesNo있으면 실거래가 아니다(청약=공고가·공매=감정가). 시세로 인용하지 말 것

TDQS

A4.9/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations: explains that nationwide queries are impossible due to scale, that aggregation units vary by type (complex vs legal dong), that 'name' means dong name for detached/land/commercial, and that no AI prediction field exists. This is rich behavioral context an agent genuinely needs.

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

Conciseness5/5

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

The description is dense but each sentence earns its place, with ★ markers front-loading critical constraints. It covers type-specific aggregation, naming, prediction absence, and sibling routing without redundancy.

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?

Given the large kind enum, 5 parameters, and output-schema presence, the description covers the essential constraints: required region, type-dependent aggregation, naming semantics, and the apartment/non-apartment split. Nothing an agent needs to safely and correctly invoke this tool is missing.

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 meaning beyond the schema: it clarifies that region is mandatory, warns that sort axes are meaningless for the wrong types, and explains the semantics of 'name' by type. Minor deduction because the 'sido+gu mandatory' phrasing slightly conflicts with the schema, which only lists gu as required.

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?

States a specific verb and resource: '실거래를 지역별로 준다' for non-apartment property types, and explicitly contrasts with search_apartments. The examples ('송파구 빌라 시세', '제주 토지 평당가') make the intended queries unmistakable.

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?

Explicitly says to use this tool for non-apartment questions and names the alternative search_apartments, stating the two datasets are completely separate. It also gives a hard constraint: region is mandatory and nationwide lists are not provided, which prevents invalid calls.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Addedget_loan_rules
    • Addedget_transactions
    • Addedsearch_properties
  2. 4 tool updates
    • Changeddescribe_fields1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "count": {
        +      "type": "number"
        +    },
        +    "dataset": {
        +      "type": "string"
        +    },
        +    "endpoints": {
        +      "type": "object"
        +    },
        +    "field": {
        +      "description": "field 인자를 준 경우 그 축 이름",
        +      "type": "string"
        +    },
        +    "filters": {
        +      "description": "쓸 수 있는 인자 목록(문자·수치·검색·페이징·정렬)",
        +      "type": "object"
        +    },
        +    "notice": {
        +      "description": "참고용 통계라는 고지. 투자 자문·중개가 아니다",
        +      "type": "string"
        +    },
        +    "numeric_stats": {
        +      "description": "수치 축의 최소·중위·최대. 범위를 정하기 전에 본다",
        +      "type": "object"
        +    },
        +    "sido": {
        +      "description": "인자 없이 부르면 시도별 단지 수 배열, field를 주면 좁힌 시도 문자열"
        +    },
        +    "sido_aliases": {
        +      "description": "정식 명칭 → 사용할 값(예: '서울특별시' → '서울')",
        +      "type": "object"
        +    },
        +    "sido_note": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "데이터 출처와 갱신일",
        +      "type": "string"
        +    },
        +    "stats_note": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "description": "전체 단지 수",
        +      "type": "number"
        +    },
        +    "units": {
        +      "description": "축 이름 → 단위·뜻 설명. 숫자를 옮길 때 이 값을 그대로 읽는다",
        +      "type": "object"
        +    },
        +    "values": {
        +      "description": "field 인자를 준 경우 그 축의 실제 값 목록",
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "units",
        +    "source"
        +  ],
        +  "type": "object"
        +}
    • Changedget_apartment1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "AI예측": {
        +      "description": "리블 AI 6·12·24개월 예측",
        +      "type": "object"
        +    },
        +    "cid": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "notice": {
        +      "description": "참고용 통계라는 고지. 투자 자문·중개가 아니다",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "데이터 출처와 갱신일",
        +      "type": "string"
        +    },
        +    "units": {
        +      "description": "축 이름 → 단위·뜻 설명. 숫자를 옮길 때 이 값을 그대로 읽는다",
        +      "type": "object"
        +    },
        +    "web": {
        +      "description": "이 단지의 리블 웹페이지 주소",
        +      "type": "string"
        +    },
        +    "가격": {
        +      "description": "매매 대표가·평단가·공시가격·시세 등",
        +      "type": "object"
        +    },
        +    "거래": {
        +      "description": "거래량·수요 지표",
        +      "type": "object"
        +    },
        +    "건물": {
        +      "description": "용적률·건폐율·대지지분·주차·관리비",
        +      "type": "object"
        +    },
        +    "기본": {
        +      "description": "식별·위치·세대수·준공 등",
        +      "type": "object"
        +    },
        +    "등락": {
        +      "description": "6·12·36개월 변동률",
        +      "type": "object"
        +    },
        +    "입지": {
        +      "description": "지하철·환승·학군·공원·거주 점수",
        +      "type": "object"
        +    },
        +    "전세월세": {
        +      "description": "전세가율·전세총액·갭·월세 등",
        +      "type": "object"
        +    },
        +    "주변": {
        +      "description": "초등·대학·유치원",
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "cid",
        +    "name",
        +    "units",
        +    "source"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_articles1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "count": {
        +      "type": "number"
        +    },
        +    "items": {
        +      "description": "인용할 때 url을 함께 밝힌다",
        +      "items": {
        +        "properties": {
        +          "category": {
        +            "type": "string"
        +          },
        +          "date": {
        +            "type": "string"
        +          },
        +          "source": {
        +            "type": "string"
        +          },
        +          "summary": {
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "notice": {
        +      "description": "참고용 통계라는 고지. 투자 자문·중개가 아니다",
        +      "type": "string"
        +    },
        +    "source": {
        +      "description": "데이터 출처와 갱신일",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "count",
        +    "items",
        +    "source"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_apartments3 fields changed
      • changedInput schema / properties / gu / description
        Previous value: -"시군구. 예: 강남구, 수원시 장안구"New value: +"시군구. 예: 강남구, 수원시 장안구. ★구를 둔 시는 '수원시'처럼 **시 단위로도** 받는다(하위 구 전체가 잡히고 normalized에 그 사실이 온다)"
      • addedInput schema / properties / status
        Added value: +{
        +  "description": "단지 상태로 좁힌다. existing=기존 단지 · upcoming=분양 예정(price가 분양가) · unranked=무순위 청약. ★예측(fc*)으로 정렬·필터하면 자동으로 existing만 남는다 — 분양 예정을 보려면 여기서 명시할 것",
        +  "enum": [
        +    "existing",
        +    "upcoming",
        +    "unranked"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "fields": {
        +      "description": "items에 담긴 축 목록",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "hasMore": {
        +      "type": "boolean"
        +    },
        +    "items": {
        +      "description": "단지 목록. 담기는 축은 fields를 따른다. status 축이 기본으로 포함된다 — upcoming이면 아직 안 지어진 단지이고 price는 분양가다",
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "limit": {
        +      "type": "number"
        +    },
        +    "nextOffset": {
        +      "description": "다음 쪽을 받을 때 offset에 넣을 값",
        +      "type": "number"
        +    },
        +    "normalized": {
        +      "description": "고쳐 쓴 인자(예: '광주' → '전남광주'). 있으면 다음엔 고쳐 부를 것",
        +      "type": "object"
        +    },
        +    "notice": {
        +      "description": "참고용 통계라는 고지. 투자 자문·중개가 아니다",
        +      "type": "string"
        +    },
        +    "offset": {
        +      "type": "number"
        +    },
        +    "returned": {
        +      "description": "이번에 실제로 담긴 건수",
        +      "type": "number"
        +    },
        +    "source": {
        +      "description": "데이터 출처와 갱신일",
        +      "type": "string"
        +    },
        +    "total": {
        +      "description": "조건에 맞는 **전체** 건수(반환 건수가 아니다)",
        +      "type": "number"
        +    },
        +    "units": {
        +      "description": "축 이름 → 단위·뜻 설명. 숫자를 옮길 때 이 값을 그대로 읽는다",
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "returned",
        +    "items",
        +    "units",
        +    "source"
        +  ],
        +  "type": "object"
        +}
  3. 4 tool updates
    • First observeddescribe_fields
    • First observedget_apartment
    • First observedlist_articles
    • First observedsearch_apartments

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to query Korean apartment real-estate data, including official transaction prices, jeonse ratios, and AI price forecasts for 45,000+ complexes.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to query and analyze Korean apartment real estate transaction prices (sales and rentals) using natural language, providing tools for price trends, regional comparisons, and rent ratios.
    7
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Connects to Korea's MOLIT real estate API to provide 14+ tools for live transaction data and financial scenarios like buy now, buy later, or invest only based on income and savings.
    16
    375
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources