korea-realty
Server Details
Korean real estate: court auctions, 10M+ MOLIT records, subscription notice facts, loan/DSR rules
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- sallim-app/korea-realty
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.7/5 across 39 of 39 tools scored. Lowest: 3.2/5.
Many tools are carefully differentiated with explicit '이 축의 자리' (place on this axis) annotations, but there is genuine overlap: search vs realty_search_auctions, fetch vs realty_get_auction_case, and multiple price/presale tools that could be confused. The descriptions help, but the boundaries are subtle enough that an agent may misselect.
The realty_ prefix provides a clear family resemblance, but naming conventions are mixed: some tools use verb-first (realty_search_auctions, realty_compare_regions) while others use noun-first (realty_auction_history, realty_area_price_bands). Additionally, fetch, search, and report_issue lack the realty_ prefix entirely.
At 39 tools, the count is noticeably heavy and exceeds the 25+ threshold where tool sets become difficult to navigate. While the broad Korean real estate domain justifies many tools, the sheer number requires heavy documentation and risks overwhelming the agent.
The tool set covers the real estate domain thoroughly: auctions, presale, market prices, rents, demographics, location, policy, macro indicators, and investment risk. Minor gaps exist (e.g., no complex-level rent trend tool), but overall lifecycle and decision-support needs are well covered.
Available Tools
47 toolsfetch경매 사건 상세ARead-onlyIdempotentInspect
search가 돌려준 id로 경매 사건의 전체 내용을 가져온다.
id 형식은 "법원명|사건번호" (예: "서울동부지방법원|2025타경51727").
사건번호는 법원 간 중복되므로 법원명 없이 조회하면 후보 목록이 돌아올 수 있다.
rights(매각물건명세서 요약)가 있으면 법원 공시의 전달로만 인용하고, 없으면(rights_note
참조) 권리관계를 지어내지 말 것 — 권리분석 판단은 이 도구의 데이터 밖이다.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds critical behavioral context: the id format, the output contains full case details, and a crucial warning about not fabricating rights analysis when the rights field is absent. This adds significant value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no wasted words. The first sentence states the primary purpose, the second gives the id format and a crucial caveat, the third provides a behavioral guideline for interpreting results. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is an output schema (not shown but present), the description does not need to detail return fields. It covers the essential context: prerequisite (search), id format, and handling of the rights field. For a single-parameter tool, this is complete and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for the 'id' parameter (0% coverage). The description provides essential semantics: the id format ('법원명|사건번호') and warns that without the court name the result may be a list of candidates. This fully compensates for the lack of schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches the full content of an auction case using an id from search. The verb '가져온다' and resource '경매 사건의 전체 내용' are specific. It differentiates from sibling 'search' by referring to its id, establishing a clear sequential relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (after search, with the id) and provides the id format and a caveat about omitting the court name leading to multiple candidates. It also includes handling instructions for the rights field. However, it does not explicitly mention alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_area_price_bands지역 평형대별 시세 구간ARead-onlyIdempotentInspect
지역의 매매 시세를 평형대 4구간(소형/중소형/중형/대형, 전용면적 기준)으로 조회한다. "○○구에서 무슨 평수대가 얼마쯤 해?"류 질문용 — 특정 단지는 realty_search_complexes를 쓰라.
**이 축의 자리(시세 도구 3종 중)**: 지역의 가격 **수준** 비교는 이게 기본값이다.
이상치 필터(P75의 50% 미만 제외)가 적용돼 realty_region_price_stats의 미필터 평균과
값이 다르며, **수준이 갈리면 이쪽을 우선하라**. 월별 **추이**가 필요하면
region_price_stats, 단지가 특정되면 search_complexes.
구간 라벨의 평수는 **전용평**이다. 사용자의 분양평 감각으로는 소형<60㎡≈분양 24평 미만,
중소형 60~85㎡≈분양 24~34평, 중형 85~115㎡≈분양 34~47평, 대형 115㎡+≈분양 47평 이상.
| Name | Required | Description | Default |
|---|---|---|---|
| region | Yes | 시군구명 (예: 마포구). **법정동까지 넣어도 된다**(예: '마포구 아현동') — 구 하나로 뭉치면 신도심·구도심이 한 값이 된다 | |
| by_dong | No | 법정동 × 평형대 중앙값을 함께 낸다. '이 구에서 어디가 싼가'류 질문의 자리다 — 실측(마포구 6개월, 전용 60~84㎡): 서교동 6.8억 ~ 용강동 27.1억으로 한 구 안에서 4배 갈린다. 표본 3건 이상 칸만 나온다 | |
| period_months | No | 집계 기간(개월) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite readOnly/idempotent annotations already present, the description adds meaningful behavior: outlier filter (P75의 50% 미만 제외), difference from realty_region_price_stats, and the priority rule '수준이 갈리면 이쪽을 우선하라'. It also clarifies the pyeong type (전용평 vs 분양평), which is not in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured with bold section headers and bullet-like separation. No sentence is redundant; each adds purpose, usage context, or conversion guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only query tool with output schema and rich annotations, the description covers the core scenario, filtering behavior, sibling relationships, and unit interpretation. The by_dong example with real observed range (마포구 6개월) further grounds expected output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and fields are well-documented. The description further enriches parameter interpretation by defining the four bands and providing an approximate conversion from 전용평 to 분양평, which helps users reason about region and by_dong results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries regional sale prices in four pyeong bands (소형/중소형/중형/대형) using '조회한다'. It also distinguishes itself from realty_search_complexes and realty_region_price_stats, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is provided: typical question type, default choice for regional price level comparison, preference rule when results differ from region_price_stats, and explicit alternatives for trends or specific complexes. The by_dong parameter description adds additional when-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_auction_alerts급매 경매 물건ARead-onlyIdempotentInspect
유찰이 누적돼 최저입찰가가 크게 떨어진 물건을 찾는다. "○○에서 유찰 많은 물건"은 sido/sigungu로 좁혀라.
유찰이 많다는 건 싸다는 뜻이기도 하지만 권리관계·물건 하자 등 팔리지 않는 이유가
있다는 뜻이기도 하다. 결과를 추천으로 제시하지 말고 확인이 필요한 후보로 제시하라.
**같은 축의 다른 문**: realty_search_auctions(min_fail_count)로도 유찰 물건을 거를 수
있다 — 조건 필터·목록이 목적이면 그쪽, 저감 큰 후보 발굴(극단 할인 컷 포함)이면 이쪽.
둘을 합쳐 세지 마라(같은 물건이 양쪽에 나온다).
| Name | Required | Description | Default |
|---|---|---|---|
| sido | No | 시도 (예: 세종, 경기도) | |
| limit | No | 반환 개수 (최대 50) | |
| sigungu | No | 시군구 (예: 강남구, 수원시) | |
| usage_name | No | ||
| min_bid_count | No | 최소 유찰 횟수 | |
| max_discount_pct | No | 감정가 대비 최대 할인율(%) — 80%+ 극단 할인은 지분매각·대지권 없음 등 특수물건이 대부분이라, 실수요 후보를 찾을 땐 79 이하로 걸러라 | |
| min_discount_pct | No | 감정가 대비 최소 할인율(%) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already declare readOnly/openWorld/idempotent, the description adds important behavioral context: many failed auctions can indicate cheapness but also hidden problems ('권리관계·물건 하자 등 팔리지 않는 이유'), results should not be treated as recommendations, and the same property may appear in the sibling tool so counts should not be summed. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded paragraphs: first states the core purpose, second gives an important interpretative caution, third provides the sibling comparison. Every sentence earns its place, and the bold sibling section is scannable without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema and annotations cover return values and safety, the description supplies the missing strategic context: when to prefer this tool, how to narrow queries, the caution about candidate status, and the overlap warning with realty_search_auctions. It is fully complete for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema already documents most parameters well, including max_discount_pct guidance about extreme discounts. The description adds some usage-level direction (narrowing with sido/sigungu, extreme discount cutoff considerations) but does not substantially enrich individual parameter meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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: '유찰이 누적돼 최저입찰가가 크게 떨어진 물건을 찾는다' (finds properties with accumulated failed auctions and sharply lowered minimum bids). It clearly distinguishes itself from the sibling tool realty_search_auctions by framing its purpose as candidate discovery for large discounts rather than general filtered listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use vs alternative guidance: '조건 필터·목록이 목적이면 그쪽, 저감 큰 후보 발굴이면 이쪽' (if filtering/listing is the goal, use realty_search_auctions; if discovering large-discount candidates, use this). It also instructs narrowing with sido/sigungu and advises presenting results as candidates needing verification, not recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_auction_history경매 유찰 이력·가격 저감·사진ARead-onlyIdempotentInspect
경매 사건의 유찰 이력(기일별 최저가 저감 시계열)·가격 변동 이벤트·물건 사진 URL을 조회한다. "몇 번 유찰됐어? 얼마나 떨어진 거야? 사진 있어?"류 질문의 담당 도구. 사진은 법원 원천에서 기일 후 소멸해 수집 시점 보존본만 존재한다(국내 공개 API에 드문 축).
court_schedule에서 result='유찰'인 행이 유찰 이력, min_bid_10k의 저감이 가격 흐름이다.
result가 null인 행은 미래 기일이거나 미해독 법원 코드(result_code 원문 병기)다 —
의미를 지어내지 말고 그대로 전하라. **최저가(min_bid_10k)가 없는 행에는 `kind_note`가
붙는다 — 그 행은 입찰 기일이 아니다**(원천 전수에서 최저가·유찰 표기는 kind_code=01에만
붙는다). fail_count가 기일표의 유찰 행 수와 다르면 `fail_count_note`가 그 이유를 댄다
(출처가 목록 원천 vs 기일표로 갈린다) — 둘을 합쳐 세지 마라. tracking·price_events는 2026-07-23 이후 일일
스냅샷 비교분이라 비어 있을 수 있다(비어 있음 ≠ 변동 없음, court_schedule이 정본).
⚠️ court_schedule이 빈 물건(기일표 미수집)의 `current_min_bid_10k`는 건별
`min_bid_source`를 봐야 한다 — item_list면 낡았을 수 있어 min_bid_note가 함께 온다.
그 경우 현재 최저가를 단정하지 말고 note를 사용자에게 전하라(목록·상세와 같은 경고).
| Name | Required | Description | Default |
|---|---|---|---|
| case_no | Yes | ||
| court_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses many behavioral traits beyond annotations: photos exist only as preserved snapshots because the court source removes them after the date; empty tracking/price_events doesn't mean no change; rows without min_bid have kind_note and aren't bidding dates; min_bid_source may be stale. This richly supplements the readOnly/openWorld annotations with actionable data caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Though long, every sentence earns its place: the first sentence states the core function, the example questions anchor intent, and each subsequent sentence adds critical data-quality or interpretation warnings. Bold formatting and line breaks make the density navigable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with this many data-source caveats (court_schedule vs list vs tracking), the description is remarkably complete: it explains result nulls, kind_note, fail_count_note, snapshot empty semantics, current_min_bid_10k staleness, and the authoritative source hierarchy. Output schema covers the return structure, so no further return documentation is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 0% of parameters, and the description doesn't explain case_no or court_name at all. It focuses entirely on output field semantics. The required parameter's format and the optional disambiguation role of court_name are left implicit, failing to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: queries the auction case's failed bid history (per-date minimum bid reduction time series), price change events, and photo URLs. The example questions ('How many times did it fail? How much did it drop? Are there photos?') and the '담당 도구' phrasing clearly distinguish it from siblings like realty_get_auction_case or realty_search_auctions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly claims responsibility for the '몇 번 유찰됐어?' style questions and provides extensive interpretation rules: null result rows should be relayed as-is, fail_count_note explains discrepancies, and court_schedule is the authoritative source. However, it doesn't name alternative tools for when this tool isn't appropriate, so it misses explicit '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.
realty_auction_sale_rate낙찰가율 통계ARead-onlyIdempotentInspect
"이 지역 이 물건은 보통 감정가의 몇 %에 낙찰되나"를 실제 매각결과로 답한다.
입찰가를 정할 때 쓰는 핵심 지표다. `by_fail_count`에 유찰 횟수별 분포가 들어 있어
"2회 유찰된 물건은 보통 몇 %에 낙찰되는가"를 바로 읽을 수 있다.
낙찰가율 = 낙찰가 / 감정가 × 100. 100%를 넘으면 감정가보다 비싸게 팔린 것이다.
표본의 집계 기간은 응답의 `sample_period`(매각기일 min~max)에 있다 — "요즘"류
질문에는 이 범위를 함께 전하라. 기간을 좁히는 파라미터는 백엔드가 지원하지 않는다
(요청해도 조용히 무시됨을 실측했다 — 그래서 노출하지 않는다).
usage_name에 '빌라'를 넣으면 표준 분류인 '다세대'로 자동 매핑해 집계한다(원문
'빌라'는 소수 비표준 표기 행만 잡혀 표본이 조용히 왜곡된다 — 응답에 매핑 사실이
공시된다). 연립주택 통계는 usage_name='연립주택'으로 따로 물어라.
**평형을 섞지 마라(2026-08-16 축 신설)**: 응답의 `by_area_band`가 전용면적대별
낙찰가율이다. 실측(사건 중복 제거): 아파트 전국 전체 79.2%인데 전용 59㎡ 이하 75.7%,
60~84㎡ 82.2%, 서울은 88.9% vs 97.3%다. 대상 물건의 평형을 알면 `area_band`로 좁히고,
지역 요약 하나로 입찰가를 정하지 마라. '면적 미상' 밴드는 공고에 면적 표기가 없는
사건이지 0이 아니다.
**이 축의 자리(경매 가격판단 3종 중)**: 이 %는 **감정가 대비** 통계다. 특정 물건이
실거래 **시세** 대비 싼지는 realty_compare_auction_vs_market이 자동 계산한다 —
분모가 다르니 두 %를 한 문장에 섞지 마라(감정가는 시세와 다른 시점·기준의 값이다).
| Name | Required | Description | Default |
|---|---|---|---|
| sido | No | ||
| sigungu | No | ||
| area_band | No | 전용면적대로 좁힌다. 낙찰가율은 평형에 따라 갈린다 — 대상 물건의 평형을 알면 반드시 넣어라(응답의 by_area_band로도 확인된다) | |
| usage_name | No | 아파트 | |
| bid_count_max | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/idempotent, but the description adds valuable behavioral context: backend silently ignores unsupported date-range parameters, '빌라' is auto-mapped to '다세대' to avoid sample distortion, and the '면적 미상' band represents missing area data, not zero. These details go well beyond the annotations and prevent misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but front-loaded with the core purpose, and every section adds essential operational detail (e.g., the empirical stats for area_band, the mapping caveat, and the comparison with the sibling tool). Minor redundancy could be trimmed, but the density is justified by the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's 5 optional parameters, output schema, and annotations, the description covers all necessary context: output fields (sample_period, by_fail_count, by_area_band), parameter usage, known backend quirks, and distinction from a closely related sibling tool. It is complete enough for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 20% schema description coverage, the description compensates substantially for area_band (explains the by_area_band breakdown, warns against mixing area bands, and clarifies the 'missing' band) and usage_name (auto-mapping behavior). However, bid_count_max is not explicitly explained in the description, though it is indirectly related to the output field by_fail_count.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence clearly states the tool's purpose: answering 'what percentage of the appraisal value does a property in this area/type typically sell for at auction' using actual sale results. It further distinguishes itself from realty_compare_auction_vs_market by specifying the denominator (감정가 vs 시세).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly positions this as the key metric for setting bid prices and contrasts it with realty_compare_auction_vs_market for market-price comparisons, warning not to mix the two. It also gives specific usage rules: use area_band when the unit size is known, use usage_name='연립주택' for row houses, and include sample_period when answering 'recent' questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_capital_gains_tax양도세 계산 — 선언된 양도·취득·보유에 세율표 적용, 합산/연도분산/차손통산 비교ARead-onlyIdempotentInspect
선언된 양도가·취득가·필요경비·보유기간에 양도소득세 세율표를 결정론으로 적용한다 — 기본·단기·분양권 세율, 장특공제 표1, 기본공제, 다주택 중과(선언), 지방소득세 10%. 두 번째 자산을 주면 같은 해 합산 vs 연도분산 vs 차손통산을 비교해 어느 쪽이 유리한지 산출한다. "지금 팔면 양도세 얼마?"·"두 채를 올해 같이 팔까 나눠 팔까?"의 자리다.
경계를 지켜라: ① 입력 전부 **선언**이다 — 보유기간 기산·주택 수·조정대상지역 해당은
사실판단이라 서버가 판정하지 않는다. ② **1세대1주택 비과세·12억 초과 고가주택 안분·
감면 특례는 계산하지 않는다**(not_curated) — 비과세 가능성이 있으면 이 계산기를 쓰지
말고 홈택스 모의계산·세무사를 안내하라. 이 결과는 양도 전액이 과세된다는 전제다.
③ 세율표·필요경비 분류·중과 경과조치의 원문·근거 조문은
realty_policy_rules(topic=capital_gains_tax)가 진실원이고, 조정대상지역 지정 현황은
topic=regulated_area다. 응답의 traps·pending_legislation·disclaimer를 함께 전하라.
| Name | Required | Description | Default |
|---|---|---|---|
| share_pct | No | 본인 지분율(%, 공동명의면 예: 50). 양도세는 인별 과세라 본인 지분만 계산하고 기본공제 250만원도 각자 받는다 — 배우자 몫은 배우자 지분으로 따로 호출하라. 두 자산 모두에 같은 지분을 적용한다 | |
| asset_type | No | 자산 종류 — 단기세율·장특공제가 갈린다. 분양권은 보유 2년이 넘어도 60%다 | 주택 |
| holding_years | Yes | 보유기간(년, 소수 허용 — 예: 1.5). 취득일~양도일이며 상속·증여 기산 특례는 사실판단이라 호출자가 확정해 선언한다 | |
| transfer_year | Yes | 양도(예정) 연도. 2027 이후는 계류 중인 세제개편안이 결과를 뒤집을 수 있어 응답에 실토가 붙는다. 2025 이전 과거 양도는 당시 규칙(중과 유예 등)이라 다루지 않는다 | |
| asset2_asset_type | No | 두 번째 자산의 종류 | 주택 |
| transfer_price_10k | Yes | 양도가액(만원, 예: 90000=9억). 예정이면 예상 매도가를 선언 | |
| asset2_expenses_10k | No | 두 번째 자산의 필요경비(만원) | |
| asset2_holding_years | No | 두 번째 자산의 보유기간(년) | |
| multi_home_surcharge | No | 다주택 중과 **선언** — 양도 시점에 그 주택이 조정대상지역 안이고(현재 지정 현황은 topic=regulated_area) 세대 주택 수가 2/3+인 경우. 주택 수 판정(분양권·입주권 가산, 지방 저가주택 제외)은 사실판단이라 서버가 하지 않는다 | 없음 |
| acquisition_price_10k | Yes | 취득가액(만원). 증여받은 자산은 이월과세(10년)로 증여자 원취득가가 될 수 있다 — 응답 traps 확인 | |
| necessary_expenses_10k | No | 필요경비 합계(만원) — 취득·양도 부대비용과 자본적 지출만. 도배·싱크대 같은 수익적 지출은 불인정이다(경계·증빙 요건은 topic=capital_gains_tax 원문) | |
| asset2_transfer_price_10k | No | 두 번째 자산의 양도가액(만원) — 주면 '올해 같이 팔기 vs 내년으로 나누기' 시나리오를 비교한다. asset2_acquisition_price_10k·asset2_holding_years와 함께 줘야 한다 | |
| asset2_multi_home_surcharge | No | 두 번째 자산의 중과 선언 — 첫 자산 매도 후 주택 수가 줄어 지위가 달라질 수 있다. 시나리오별 지위 변화도 선언 그대로 쓴다(서버는 판정하지 않는다) | 없음 |
| asset2_acquisition_price_10k | No | 두 번째 자산의 취득가액(만원) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, but the description adds crucial behavioral context: all inputs are declared and the server does not adjudicate facts (e.g., holding period start, number of houses, regulated area). It discloses that it does not handle 1-household-1-home exemption, high-priced home apportionment, or special deductions, and that results assume full taxation. It also warns that pending 2027+ legislation can flip results and that the response includes traps, pending_legislation, and disclaimer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: the first paragraph states purpose and use cases, the second defines boundaries with numbered points and bolded keywords. Every sentence carries meaningful information, and the length is appropriate for the tool's complexity. No redundant or vague wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers all necessary context: what the tool does, when to use/not use, exclusions, truth sources, legislative risk, and required response elements. With an output schema present, return-value details are not needed. For a 14-parameter calculator with scenario comparison, this description is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the deterministic algorithm, the second-asset comparison (same-year combined vs split-year vs loss-offset), and the share_pct nuance that each co-owner must call separately with their own share. This enriches the agent's understanding of how parameters like asset2_* and share_pct work together beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: it deterministically applies the capital gains tax rate table to declared transfer/acquisition/expenses/holding period, including standard/short-term/presale rates, long-term holding deduction, basic deduction, multi-home surcharge, and 10% local tax. It also explains the second-asset comparison scenario and explicitly differentiates itself from realty_policy_rules, which is the truth source for rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear when-to-use questions ('지금 팔면 양도세 얼마?', '두 채를 올해 같이 팔까 나눠 팔까?') and a clear when-not-to-use condition: if a tax exemption is possible, the agent should not use this calculator and instead guide the user to HomeTax or a tax accountant. It also names alternative tools: realty_policy_rules for original texts and topic=regulated_area for designation status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_compare_auction_vs_market경매가 vs 실거래 시세 비교ARead-onlyIdempotentInspect
경매 물건의 최저입찰가를 같은 단지 실거래 시세와 대조해 할인율·표면수익률을 낸다. 기본은 오늘 이후 기일 물건만이다(지난 기일이 섞여 나오던 결함 수리, 2026-08-08).
주소·단지명 정규화 정확매칭으로 붙이며, 감정가가 기준선의 50~150% 범위인 건만 비교한다
(지분경매·특수물건을 배제하기 위함). 결과의 `signal`은 주의/관심/보통/낮음/판정보류다.
**시세 기준선은 같은 단지의 같은 면적대(±10%) 실거래 평균이다**(2026-08-16 수리 — 종전엔
단지 전 평형 혼합 평균이라 대형·소형이 섞인 단지에서 할인율이 통째로 어긋났다).
면적을 맞추지 못하면 `discount_vs_market_pct`는 **null**이고 signal은 '판정보류'다 —
그 자리를 `discount_vs_all_types_pct`(혼합평균 대비)로 대신 채워 말하지 마라.
⚠️ 유찰 물건은 `auction.min_bid_source`를 확인하라 — item_list면 최저가가 낡았을 수
있고(`min_bid_note` 동봉) 그 최저가로 계산된 할인율·수익률도 함께 틀어진다.
이 도구는 다른 도구보다 느리다(출처 조회 포함 2~4초).
**이 축의 자리(경매 가격판단 3종 중)**: "이 물건 싸?"는 이게 1차다(시세 자동 조인).
입찰가 책정은 realty_auction_sale_rate(감정가 대비 실제 낙찰가율)와 함께 쓰되,
이 도구의 할인율(시세 대비)과 낙찰가율(감정가 대비)은 **분모가 달라 섞으면 안 된다**.
기준 시세를 손으로 잡을 땐 realty_area_price_bands(수준)/region_price_stats(추이).
| Name | Required | Description | Default |
|---|---|---|---|
| sido | No | ||
| limit | No | 비교할 물건 수 (최대 50) | |
| case_no | No | ||
| sigungu | No | ||
| court_name | No | 법원명 — case_no와 함께 쓴다. 사건번호는 법원 간 유일하지 않아(평균 2.8배 중복) 이걸 빼면 다른 법원 물건이 섞이고 최저가 출처도 확정되지 않는다 | |
| usage_name | No | 아파트 | |
| include_past | No | 지난 기일 물건 포함 여부 — 기본은 오늘 이후 기일만(입찰 가능 후보). case_no 특정 조회는 이 값과 무관하게 기일 제한이 없다 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare safe read-only/idempotent behavior, but the description adds rich behavioral details: default filtering to future auction dates, exact matching with normalized addresses, 50–150% appraised value filter, area-matched baseline calculation (±10%), null behavior for discount_vs_market_pct, warning about min_bid_source and stale minimum prices, and the 2–4 second latency. This goes far beyond what annotations provide and sets clear expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but every paragraph delivers critical caveats, default behaviors, and sibling comparisons. It is well-structured with line breaks and bold emphasis, and front-loads the core purpose. The historical fix dates (2026-08-08, 2026-08-16) add credibility but could be considered slightly extraneous; still, they explain why current behavior differs from past flaws.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, output schema, annotations), the description is highly complete. It covers output signals, null handling, edge cases (unsold items, area mismatch), denominator differences with related tools, performance trade-offs, and manual alternative workflows. The presence of an output schema means return values need not be repeated, and the description fills all major contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 43%, and the description adds meaningful parameter relationships: court_name must be used with case_no due to non-unique case numbers, include_past defaults to false and is ignored for case_no lookups, and limit is capped. However, sido/sigungu/usage_name are not explicitly elaborated in the description, though their names and defaults provide some self-evident meaning. The description partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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: '경매 물건의 최저입찰가를 같은 단지 실거래 시세와 대조해 할인율·표면수익률을 낸다' (compares auction minimum bid against same-complex market transactions, producing discount rate and surface yield). It further distinguishes itself from siblings by naming its role as the primary tool for '이 물건 싸?' (is this property cheap?) and differentiating from realty_auction_sale_rate and manual baseline tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: use it first for auction price judgment ('이 축의 자리... 1차다'), combine with realty_auction_sale_rate for bid pricing but warns against mixing denominators, and suggests realty_area_price_bands/region_price_stats when manually setting baselines. It also explains default behavior (future dates only) and the slower performance, helping the agent decide when to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_compare_regions[유료] 지역 비교ARead-onlyIdempotentInspect
[유료] 여러 지역의 매매·전세 시세와 추이를 나란히 비교한다. 갈아타기·투자처 비교용.
"어디가 제일 ○○해?"류 순위·탐색 질문은 무료 realty_region_rankings로 먼저 좁혀라 —
이 도구는 비교 대상이 정해졌을 때 쓴다.
⚠️ 지역별 `warning_baseline`·`warning_dispersion`을 avg_price보다 먼저 읽어라 —
이 소스는 이상치 미필터·단지급 혼합이라 avg_price를 그대로 "그 지역 시세"로 인용하면
특정 단지와의 비교 결론이 뒤집힌다(realty_region_price_stats와 같은 공시다).
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | 추이 개월 수 | |
| regions | Yes | 비교할 시군구 2개 이상 — 배열(['강남구','서초구']) 또는 쉼표 문자열('강남구,서초구') |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses critical data quality caveats beyond the annotations: it warns that avg_price should not be treated as the region's market price because outliers are not filtered and complex-level data are mixed, and instructs reading warning_baseline and warning_dispersion first. This goes far beyond the readOnlyHint and idempotentHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the main function, followed by usage guidance and a warning. Every sentence adds value, though it is slightly longer than necessary due to the warning's detail. The [유료] is repeated from the title, but this is minor.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (data quality issues, alternative tools), the description covers purpose, usage, alternatives, and behavioral caveats. An output schema exists, so not explaining return values is fine. The warning about misinterpreting avg_price is essential for safe usage, making the description highly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both parameters (regions and months) have clear descriptions in the schema. The tool description does not add additional parameter-specific meaning beyond the schema, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool compares sale and jeonse prices and trends across multiple regions side by side, which is a specific verb+resource. It also explicitly distinguishes itself from realty_region_rankings, saying this tool is for when comparison targets are already decided, not for ranking/exploration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: use it for moving/investment comparison when targets are fixed, and not for ranking/exploration. It names the alternative tool (realty_region_rankings) and even clarifies that the alternative is free, implying this tool is paid. This is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_complex_pyeong_price단지 평형별 매매 실거래 내역ARead-onlyIdempotentInspect
특정 단지·특정 평형의 최근 6개월 매매 실거래를 건별(계약일·층·가격)로 조회한다. 평형별 시세 요약만 필요하면 realty_search_complexes의 prices_by_area로 충분하다.
응답에는 **층 밴드별 시세 집계 `price_by_floor_band`**(저층~초고층 밴드별 평균가·건수·
최저 밴드 대비 프리미엄 %)가 함께 온다 — "저층 사면 손해야?", "고층 프리미엄 얼마야?"류
**층별 시세 질문은 이 도구가 담당**이다(층 밴드 축은 다른 도구에 없다).
transactions는 **계약일 내림차순**이고, average_price·median_price는 그 정렬 기준
최근 5건(summary_basis에 그 5건을 그대로 싣는다)이다. 이상 거래는 지우지 않고
`outlier=true`로 표시만 하며(판정 근거는 outliers.method), 층 밴드에는 이상치 제외 값을
`*_ex_outliers`로 병기한다 — **밴드 프리미엄이 몇 건의 산물인지 확인하고 말하라.**
**이름이 더 긴 이웃 단지는 분리해서 뺀다**(0.58.0) — 백엔드가 단지를 이름 부분일치로
찾아 '○○센트레빌' 조회에 '○○센트레빌Ⅱ'가 섞여 들던 자리다. 무엇을 뺐는지·못 가른
면적이 무엇인지는 `meta.complex_isolation`에 그대로 실린다. **못 가른 것은 빼지 않고
못 갈랐다고 적는다** — 그 평형 수치는 단정하지 말고 그 사실을 함께 전하라.
평수는 pyeong_supply(분양)·pyeong_exclusive(전용) 중 사용자가 쓴 쪽에 넣어라 — 하나는 필수.
이 도구는 매매 전용이다 — 전월세는 realty_complex_rent_by_pyeong을 쓴다.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 개별 거래 내역 수 | |
| region | No | 동명 단지 구분용 시군구명 (예: 마포구) | |
| complex_name | Yes | 단지명 (예: 마포래미안푸르지오2단지) | |
| pyeong_supply | No | 분양평수(공급면적) — 사용자가 말하는 '34평'이 보통 이것 | |
| pyeong_exclusive | No | 전용면적 기준 실평수 — 분양평을 모를 때만 | |
| quoted_price_10k | No | 사용자가 **들은 가격**(호가·중개사 제시가·매물 가격, 만원). 주면 실거래 분포와 대조해 `quote_check`로 돌려준다. 이 서버는 **호가 데이터가 없다** — 실거래(MOLIT)뿐이라 '호가가 비싸다/싸다'를 판정하는 게 아니라 **실거래 어디쯤인지 위치만** 알려준다. 사용자가 가격을 말했는데 이 인자를 안 주면 모델이 그 값을 검증 없이 전제로 삼게 된다 | |
| quoted_prices_10k | No | 사용자가 **매물 목록에서 복사·다운로드해 온 호가 여러 개**(만원 배열). 값이 2개 이상이면 단일 대조 대신 **호가 분포 ↔ 실거래 분포**를 비교한다(중위 대 중위, 두 구간이 겹치는지). 호가는 사용자가 가져온 것이라 서버는 **출처·수집시점·중복 매물 여부를 모른다** — 그 한계도 함께 응답에 싣는다 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already declare readOnlyHint, openWorldHint, and idempotentHint, the description adds substantial behavioral context beyond annotations: transactions are sorted by contract date descending, average/median are based on recent 5 transactions, outliers are kept with outlier=true, floor bands include *_ex_outliers values, and longer-named neighboring complexes are excluded with details in meta.complex_isolation. It even instructs how to treat unseparated areas. No contradictions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long, but every sentence earns its place. It is front-loaded with the primary purpose, uses bold for key terms, and is organized into logical paragraphs covering response structure, sorting/outlier semantics, complex isolation, and parameter usage. It is not concise in word count, yet it avoids fluff and maintains high information density, justifying a 4 rather than a lower score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, nuanced behaviors like outlier handling, floor band aggregation, and complex name isolation) and the presence of an output schema, the description is remarkably complete. It covers ordering, summary basis, outlier flags, floor band semantics, meta.complex_isolation behavior, parameter selection, and explicitly excludes rent transactions with a pointer to a sibling tool. No important behavioral aspect is left unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds selection guidance for the twin parameters pyeong_supply and pyeong_exclusive ('평수는 pyeong_supply(분양)·pyeong_exclusive(전용) 중 사용자가 쓴 쪽에 넣어라 — 하나는 필수'), which is not present in the schema. It reinforces the intent of the quoted_price parameters implicitly by stating the tool's purpose, but it does not add detail for every parameter; still above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise statement: '특정 단지·특정 평형의 최근 6개월 매매 실거래를 건별(계약일·층·가격)로 조회한다.' It clearly identifies the resource (specific complex + specific area type), verb (조회한다), scope (6-month sales transactions), and granularity (per transaction). It also distinguishes from siblings by naming realty_search_complexes for summary needs and assigning floor-specific price questions to this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use guidance is abundant: '평형별 시세 요약만 필요하면 realty_search_complexes의 prices_by_area로 충분하다' gives an alternative; '층별 시세 질문은 이 도구가 담당이다' clarifies responsibility; '이 도구는 매매 전용이다 — 전월세는 realty_complex_rent_by_pyeong을 쓴다' states exclusion and lists the correct tool for a different use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_complex_rent_by_pyeong단지 평형별 전월세 시세ARead-onlyIdempotentInspect
단지의 평형별 전세 보증금·월세 중앙값을 조회한다. 전세가율(전세÷매매) 계산의 전세 축이다.
complex_key·complex_name 중 하나는 필수. 부분일치는 동명 단지가 섞일 수 있으니
가능하면 realty_search_complexes로 complex_key를 먼저 특정하라.
행 키 supply_pyeong은 **분양평**(전용㎡ ÷ 3.305 ÷ 0.745 반올림) 기준이다.
| Name | Required | Description | Default |
|---|---|---|---|
| complex_key | No | 정확한 단지 키 — realty_search_complexes가 돌려주는 complex_key | |
| compare_sale | No | 같은 12개월 창의 **매매가를 함께 뽑아 전세가율·전월세 전환율·갭을 계산**한다(기본 켬). 종전엔 note가 '매매를 period_months=12로 따로 불러 나눠라'라고만 지시해 호출자가 손으로 했고, 창을 안 맞추면 전세가율이 수 %p 왜곡됐다 — 그 계산을 서버가 진다 | |
| complex_name | No | 키를 모를 때 단지명 부분일치 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive. Beyond that, the description adds key behavioral context: the supply_pyeong row key definition using the 분양평 formula, the server-side calculation of jeonse rate when compare_sale is enabled, and the historical note about corrected window alignment. No contradictions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by concise usage guidance and a precise definition of the pyeong key. Every sentence carries meaningful information with no redundancy or filler. The formatting (line breaks and bold) improves scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite being a moderately complex tool with a rich output schema, the description covers what the tool does, the critical constraint about key identification, the meaning of the pyeong key, and the optional compare_sale behavior. No critical information is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for all three parameters, so baseline is 3. The description enriches this by stating that at least one of complex_key or complex_name is required (not enforced by schema), clarifying the partial-match risk, and explaining the supply_pyeong key's meaning. This adds practical semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb and resource: '단지의 평형별 전세 보증금·월세 중앙값을 조회한다.' It clearly states the scope (by pyeong type) and explicitly frames the tool as the jeonse axis for jeonse rate calculation, distinguishing it from sibling price tools like realty_complex_pyeong_price.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit instructions are given: one of complex_key or complex_name is required, and the description recommends using realty_search_complexes to obtain the exact complex_key first, warning about partial-match ambiguity. This directly guides when and how to use the tool vs. the recommended alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_complex_report[유료] 단지 통합 리포트ARead-onlyIdempotentInspect
[유료] 단지 하나의 시세·전세·기본정보를 통합 조회한다.
응답에 좌표(latitude/longitude)와 complex_key가 들어 있다 — 이어서
realty_poi_nearby(입지)·realty_predict_price(예측)에 그대로 넣어 심층 분석하라.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | 단지명 (예: 반포자이) | |
| complex_key | No | 정확한 단지 키 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and no destructive behavior. The description adds valuable context about the output containing coordinates and complex_key, and integrates multiple data types, which is useful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose, second provides actionable output and usage chain. No redundancy, front-loaded, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. It provides helpful hints about output fields (coordinates, complex_key) and a follow-up workflow. Could mention what 'basic info' includes, but overall sufficient for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both parameters documented. The description does not add further meaning about parameter usage or constraints (e.g., whether name or complex_key should be provided). Baseline 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb '조회한다' (inquiry) and resource '단지 통합 리포트' (complex integrated report), specifying it provides market price, jeonse, and basic info. This distinguishes it from sibling tools that focus on specific aspects like region prices or auction history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs the agent to use the output coordinates and complex_key in subsequent tools (realty_poi_nearby and realty_predict_price) for deeper analysis. This provides clear sequential guidance, though it does not explicitly contrast with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_demographics인구통계 (인구·가구·연령·인구이동)ARead-onlyIdempotentInspect
지역 인구통계를 조회한다 — "인구 줄고 있어?", "1인 가구 비율은?", "고령화 심해?", "순유입 되는 동네야?"류 질문용.
응답 meta.data_as_of가 실제 최신 시점이다 — warning이 있으면 그대로 사용자에게 전달하고,
밀린 수치를 "지금 인구"로 단정하지 말 것. 연간 계열(households·age)은 기준연도를 밝혀라.
households만 동명 시군구(중구·서구 등)를 거절한다(원천 단명 수집 결함) — 그 경우
population·migration(정식 명칭 수집)으로 대신 조회하라.
| Name | Required | Description | Default |
|---|---|---|---|
| metric | Yes | population=월별 인구·세대수 / households=연별 가구원수별 가구(1인가구 등) / age=연령대(5세 구간) 분포·고령화 — 시도 단위만 / migration=월별 전입·전출·순이동 | |
| months | No | population·migration 시계열 창(개월). 연간 계열엔 미적용 | |
| region | Yes | 시도(예: 서울)나 시군구(예: 강남구, 수원시). age는 시도 단위만 제공. age에 한해 '전국'도 가능 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond annotations by disclosing data freshness (meta.data_as_of), year-series dating, and the households/naming defect. Annotations already mark it read-only and idempotent, but the description adds operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, but slightly dense. It packs key warnings into a few sentences, which is efficient, though a bullet list could improve readability slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all essential aspects: data freshness, metric-specific constraints, error handling suggestions, and usage alternatives. With an output schema present, no further details are needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description enriches each parameter: metric values are spelled out, region constraints are detailed (age only at 시도 level, households issues), and months scope is clarified. This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries regional demographics with example questions and lists four specific metrics. It distinguishes itself from sibling tools (focused on real estate prices, auctions, etc.) by its demographic scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use the tool (demographic queries), warns about data timeliness and regional naming issues, and advises alternative metrics when data is unavailable (e.g., households rejecting 동명 시군구).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_get_auction_case경매 사건 상세 조회ARead-onlyIdempotentInspect
사건번호로 경매 물건의 상세를 조회한다.
사건번호는 법원 간 유일하지 않다(전국 평균 2.8개 법원에서 중복). court_name을 생략하면
중복 시 오류와 함께 후보 법원 목록이 돌아오니, 그걸 보고 법원을 지정해 다시 호출하라.
`rights` = 매각물건명세서 핵심(최선순위 설정·인수되는 권리 원문·위험 플래그·배당요구종기).
이것은 법원 공시의 전달이지 권리분석 판단이 아니다 — 답할 때 rights.disclaimer를 함께
전하고, 등기부·임차인 현황 전체가 아님을 밝혀라. rights가 null이면 명세서 미수집
상태(rights_note에 사유)이므로 권리관계를 절대 지어내지 말 것.
⚠️ `rights.claim_amt_10k`는 **경매신청 채권자의 청구금액**(만원)이다 — 임차인
보증금이 아니다(claim_amt_note 참조). 보증금 액수는 이 데이터에 없다.
`min_bid_source`가 item_list면 최저가가 낡았을 수 있다 — 함께 오는 `min_bid_note`를
사용자에게 전하고 단정하지 마라(목록 도구와 같은 경고다).
유찰 이력·기일별 저감·사진은 realty_auction_history가 담당이다.
| Name | Required | Description | Default |
|---|---|---|---|
| case_no | Yes | ||
| court_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite strong annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint=false), the description adds substantial behavioral context beyond that: duplicate resolution behavior, rights field semantics (null means not collected, include disclaimer), claim_amt_10k meaning as creditor's claim not tenant deposit, and min_bid_source staleness implications. This rich context goes far beyond what annotations convey and does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence contributes essential caveats or clarifications. It is front-loaded with the core purpose, followed by a critical duplicate warning, then field-level semantics, and a sibling pointer. Its length is justified by the tool's complexity, though it could be slightly tightened without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and strong annotations, the description focuses on the gaps: it explains the meaning of key fields (rights, claim_amt, min_bid_note), warns about missing data (no deposit amount), and tells the agent how to handle null rights (never fabricate). This ensures the agent can confidently use the tool and interpret results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It fully explains court_name's disambiguation role and the consequences of omitting it. case_no is inherently clear from the tool purpose, but no explicit format or examples are given. The description adds meaningful semantic value for the less obvious parameter, making this a strong but not perfect compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource statement: 'Retrieves auction case details by case number.' It also clearly distinguishes itself from related tools by explicitly stating that auction history, bid reductions, and photos are handled by realty_auction_history. This makes the tool's purpose unambiguous and differentiates it from its siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance and critical usage constraints: it warns that case numbers are not unique across courts, instructs callers to specify court_name to avoid duplicates, and describes the fallback error behavior when court_name is omitted. It also explicitly directs history-related queries to realty_auction_history, offering a clear alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_invest_risk[유료] 지역 투자위험 분석ARead-onlyIdempotentInspect
[유료] 지역의 투자 위험도를 변동성·유동성·공급압력 축으로 점수화한다.
응답의 disclaimer(통계 요약이며 투자 권유 아님)를 사용자에게 반드시 함께 전달하라.
| Name | Required | Description | Default |
|---|---|---|---|
| region | Yes | 시군구명 (예: 강남구) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds the disclaimer requirement beyond annotations, which already indicate read-only and non-destructive behavior. However, it does not mention the paid nature explicitly (though title does) or return value format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose concisely, second gives critical instruction. No wasted words; front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with good annotations and an output schema, the description is mostly complete. It might benefit from explaining the paid nature, but the title covers that. adequately covers core behavioral and usage constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description adds no additional meaning to the 'region' parameter beyond what the schema provides (string, example).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool scores investment risk of a region on three specific axes (volatility, liquidity, supply pressure), distinguishing it from sibling tools like realty_location_scores and realty_rental_yield. The verb 'scores' and resource 'risk' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The description lacks context about ideal scenarios, prerequisites, or exclusions, relying solely on the tool's name and title to imply purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_loan_eligibility쓸 수 있는 대출 상품 나열 — 용도×지역×주택수 교차 판정ARead-onlyIdempotentInspect
**"내 조건이면 어떤 대출을 쓸 수 있나"**를 상품별로 나란히 낸다 — 사용자가 어느 규칙 토픽을 물어야 할지 몰라도 되게 하는 라우터다.
이 도구가 존재하는 이유: 대출 규칙이 상품별 토픽 7곳에 흩어져 있어서, 지금까지는 **호출자가
어느 토픽을 물어야 할지 알아야** 했다(2026-08-14). 용도·지역·주택수만 주면 **쓸 수 있는 상품과
못 쓰는 이유**를 함께 낸다.
경계: ① **주택 수·생애최초·신혼은 선언**이다(서버가 사실판정하지 않는다) ② **한도 금액을
계산하는 건 구입 목적의 은행권뿐**이고 그건 realty_loan_limit이 한다 — 이 도구는 **자격 대조와
라우팅**이다 ③ 전세·중도금은 보증기관·사업장이 지배해 **한도를 계산하지 않는다**, 전세반환은
**경과조치 해당 여부가 서류로 보는 사실판단**이라 계산하지 않는다 ④ 규칙의
근거·불확실성은 각 상품 토픽(응답의 `topic`)에 있으니 함께 읽어라.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | 소재지(시군구까지, 예: '서울 마포구'·'세종특별자치시') — 수도권·규제지역 판정에 쓴다 | |
| purpose | Yes | 자금 용도 — **같은 담보라도 용도가 규제를 가른다**(구입=LTV·가액구간 한도, 생활안정=1억 한도·다주택 금지, **전세반환=세입자에게 보증금 돌려주는 목적(퇴거자금) — 원칙 1억이지만 6·27 이전 계약분 경과조치가 붙는 유일한 축**, 전세=세입자로 들어갈 때 쓰는 전세자금대출, 중도금=집단대출). ⚠️ **'전세'와 '전세반환'을 섞지 마라** — 방향이 반대다. 모르면 물어라 | |
| homes_owned | No | **세대 기준** 보유 주택 수(선언) — 0=무주택, 1, 2+=다주택. 명의가 갈려도 세대로 센다. 서버는 주택 수를 판정하지 않는다 | |
| is_newlywed | No | 신혼 해당 여부(선언) | |
| is_first_time | No | 생애최초 해당 여부(**선언** — 서버는 판정하지 않는다) | |
| house_price_10k | No | 대상 주택 가격(만원) — 정책상품 가격요건 대조에 쓴다 | |
| total_assets_10k | No | 총자산(만원) — **버팀목 전세는 자산 요건이 핵심 관문**이라 전세 문의면 받아라 | |
| annual_income_10k | No | 부부합산 연소득(만원) — 정책상품 소득요건 대조에 쓴다 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/idempotent annotations, the description discloses that homes_owned, is_first_time, and is_newlywed are user declarations not verified by the server, and that limit calculation is intentionally excluded for certain purposes. This adds valuable behavioral context without contradicting 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with a bold lead sentence, a rationale paragraph, and numbered boundary points. It is somewhat long but each section adds necessary context for a complex domain, and the front-loaded purpose statement ensures quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 parameters, many sibling tools, output schema with topic references), the description is complete. It covers what the tool does, what it does not do (limit calculations), where to find rule details, and the declarative nature of key inputs, making it sufficient for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description reinforces the three core inputs (purpose, region, homes_owned) and frames them as the minimal conditions for eligibility matching. While it doesn't detail each parameter, it does add semantic grouping and routing logic that complements the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: listing usable loan products ('쓸 수 있는 대출을 상품별로 나란히 낸다') and acting as a router across 7 product topics. It specifies the key inputs (purpose, region, homes_owned) and contrasts with realty_loan_limit, making the purpose unambiguous and distinct from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when to use this tool versus realty_loan_limit (limit calculation only for purchase loans), and states exclusions for jeonse/mid-payment/jeonse-return limit calculations. It also instructs the agent to read product topics for rule details, providing clear context and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_loan_limit주담대 규제 상한 판정 — LTV·한도·만기·DSR (선언 조건 기준)ARead-onlyIdempotentInspect
선언된 조건(지역·시가·차주 유형·소득)에 대해 주담대 규제 상한을 결정론으로 계산한다 — LTV 상한액, 수도권·규제지역 가액구간 한도(6/4/2억), 만기 상한(30년), 스트레스 DSR 반영 최대 대출액과 어느 규제가 최종 상한인지(binding). "10억 집, 생애최초, 연소득 8천이면 얼마까지 나와?"류 질문의 자리다.
경계를 지켜라: ① 차주 유형은 **선언**이다 — 생애최초·주택 수 해당 여부는 사실판단이라
서버가 판정하지 않는다(응답 inputs_declared가 그 선언을 에코한다). ② 결과는 규제
상한이지 **대출 승인·확약이 아니다** — 은행 심사(소득 인정·방공제·신용도)로 더 줄 수
있다. ③ **DSR 상한은 금리유형(rate_type)에 따라 크게 갈린다** — 기본값 '변동'은
스트레스 금리 전액 가산이라 가장 작은 값이다. 사용자가 상품을 안 정한 상태면
`dsr.by_rate_type` 비교표를 함께 전하고 "N억까지만 된다"고 단정하지 마라. ③ 규칙 원표·근거는 realty_policy_rules(topic=loan_rules), 규제지역 지정 현황은
topic=regulated_area, 생애최초 취득세 감면의 세율표 본체는 topic=acquisition_tax.
특정 분양 공고에 대한 시점별(계약금·중도금·잔금) 자금 판정은
realty_presale_funding_plan. 응답의 uncertainties·disclaimer를 사용자에게 함께 전하라.
| Name | Required | Description | Default |
|---|---|---|---|
| lender | No | 업권 — DSR 한도가 은행 40% / 제2금융권 50%로 갈린다 | 은행 |
| region | No | 주택 소재지(시군구까지, 예: '서울 마포구'·'성남시 분당구'·'부산 해운대구'). 규제지역·수도권 판정에 쓴다. 해석이 모호하면 후보를 돌려주니 is_regulated·is_metro로 직접 선언해도 된다 | |
| borrower | Yes | 차주 유형 — **사용자 선언**이다(서버는 생애최초·주택 수를 판정하지 않는다). 생애최초=본인·배우자 모두 주택 소유 이력 없음, 1주택_처분조건부=6개월 내 기존주택 처분 약정, 서민실수요=우대 요건 충족을 선언한 경우 | |
| is_metro | No | 수도권(서울·경기·인천) 여부 직접 선언 — region 대신/우선 적용 | |
| rate_type | No | 주담대 금리유형 — **스트레스 금리 적용비율이 갈리는 축이다**(변동 100%, 혼합형·주기형은 고정기간 비중별 차등, 순수고정 미적용). 기본값 '변동'은 최악 가정이라 한도가 가장 작게 나온다. 사용자가 상품을 안 정했으면 응답의 by_rate_type 비교표를 함께 전하라. 혼합형=고정기간 후 변동, 주기형=N년 주기로 금리 재산정, 순수고정=만기까지 고정 | 변동 |
| is_regulated | No | 규제지역(투기과열·조정대상) 여부 직접 선언 — region 대신/우선 적용 | |
| credit_loan_10k | No | 신용대출 잔액 또는 받을 예정액(만원). **직접 연 원리금을 계산해 넣지 마라** — 산정만기 5년 강제·산식 두 갈래·스트레스 1억 문턱이 전부 함정이라 서버가 계산한다. existing_annual_debt_payment_10k와 함께 주면 둘 다 합산한다 | |
| house_price_10k | Yes | 주택 시가(만원 단위, 예: 100000=10억). 가액구간 한도가 '시가' 기준이라 분양가·공시가가 아닌 시세를 넣는다 | |
| loan_term_years | No | 희망 만기(년). 수도권·규제지역은 30년 상한으로 조정되며 조정 사실을 응답에 싣는다 | |
| desired_loan_10k | No | 받으려는 주담대 금액(만원). 주면 '이만큼 되나'를 판정하고, DSR에 막히면 **무엇을 얼마나 바꾸면 들어가는지**(금리유형·만기·신용대출 축소·금리)를 함께 낸다. '4억 받으려는데 되나요'류 질문의 자리 — 최대치만 받아 모델이 역산하게 두지 마라 | |
| rate_fixed_years | No | 혼합형의 고정금리 기간 또는 주기형의 금리변동주기(년). 미지정이면 시중은행 통상인 5년으로 가정하고 가정 사실을 응답에 싣는다. 변동·순수고정에는 무의미 | |
| annual_income_10k | No | 연소득(만원) — interest_rate_pct와 함께 주면 DSR 상한 대출액까지 계산 | |
| interest_rate_pct | No | 약정금리 가정(%, 예: 4.2) — DSR 계산에 필요. 없으면 DSR 금액 계산은 생략된다 | |
| credit_loan_rate_pct | No | 신용대출 약정금리(%) — credit_loan_10k를 줬으면 필수다(이자 없이는 원리금을 못 낸다) | |
| existing_annual_debt_payment_10k | No | 기존 대출의 연간 원리금 상환액 합계(만원) — DSR 계산에서 차감 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld/idempotent annotations, the description reveals critical behavioral traits: the server does not verify borrower type (echoed in inputs_declared), the output is a regulatory cap not a commitment, the default '변동' rate_type yields the most conservative DSR result, and uncertainties/disclaimer must be passed to the user. These details significantly affect interpretation and align with the openWorldHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: an opening bolded summary, then numbered boundary conditions, and references to sibling tools. It uses formatting marks (bold, newlines) to enhance scannability, and every sentence carries actionable information with no redundancy, making it both concise and comprehensive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (15 params, multi-factor calculations, output schema), the description covers the core purpose, key output components, binding constraint logic, rate_type sensitivity, explicit links to other tools, and instructions to forward uncertainties/disclaimer. It also clarifies that the result is deterministic and not a loan approval, which is essential for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with rich descriptions (e.g., rate_type's stress rate impact, credit_loan_10k calculation pitfalls, region ambiguity). The tool description itself only summarizes key inputs (지역·시가·차주 유형·소득) and references rate_type behavior already present in the schema, adding minimal new parameter-level semantics beyond the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes mortgage loan regulatory upper limits (LTV cap, price band limits, maturity cap, stress DSR max, binding regulation) based on declared conditions. It gives an example question ('10억 집, 생애최초, 연소득 8천이면 얼마까지 나와?') and explicitly distinguishes itself from sibling tools like realty_policy_rules and realty_presale_funding_plan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says '이런 질문의 자리다' (this is the place for such questions) and provides clear boundaries: borrower type is a declaration, the result is not an approval, DSR depends on rate type, and if the user hasn't chosen a product, present the by_rate_type comparison table. It also directs users to alternative tools for rules (realty_policy_rules), regulated area info, and presale funding plans.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_location_scores단지 학군·교통 점수ARead-onlyIdempotentInspect
단지의 학군(v5)·교통(지하철·버스) 점수를 조회한다 — "이 아파트 학군 어때? 역세권이야?" 담당. complex_key/complex_name이면 단지 점수, region만 주면 지역 집계+축별 상위 5 단지.
학군 점수는 학원가 강도+군집 보정의 **스크리닝 지표**다 — 학원가 데이터가 시 단위라
도심 외곽 면/읍이 다소 높게 나올 수 있고, 학교 배정·수준 판단이 아니다(그렇게 팔지 말 것).
subway_distance_m는 최근접역 직선거리(도보 거리 아님). 점수 미산정 단지는 not_found가
정직한 답이다 — 지어내지 말고 realty_search_complexes로 단지 실존부터 확인하라.
돌려주는 complex_key는 공백 1칸으로 정규화돼 있어 다른 도구에 그대로 넣을 수 있다.
"역세권이야?"는 [유료] realty_poi_nearby와 겹친다 — 점수·스크리닝은 이쪽(무료),
주변 시설의 실제 목록·거리가 필요하면 poi_nearby.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | 지역명 — 단독이면 지역 집계+상위 단지, complex_name과 함께면 검색 범위 | |
| complex_key | No | 정확한 단지 키 — realty_search_complexes가 돌려주는 complex_key | |
| complex_name | No | 단지명 일부 (부분일치) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, the description reveals important behavioral traits: the school score is a screening indicator with a city-unit data bias, subway_distance_m is straight-line not walking distance, unscored complexes return not_found, and returned complex_key is normalized to a single space. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence delivers operational value: purpose, modes, data caveats, distance interpretation, not_found behavior, verification pointer, key normalization, and alternative tool. The line breaks and bullet-like structure improve readability without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward read-only lookup with rich annotations and an output schema, the description covers purpose, parameter usage, data limitations, error semantics, and cross-tool relationships. There are no major gaps that would prevent an agent from correctly selecting and invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all three parameters (100% coverage), so the baseline is 3. The description adds value by explaining the interplay of complex_key/complex_name versus region-only usage and notes the normalized complex_key output for reuse in other tools, but it does not overspecify syntax.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool retrieves school district (v5) and transportation (subway/bus) scores for a complex, and it distinguishes between mode when complex_key/complex_name is provided versus region-only aggregate/top-5 results. It also sets itself apart from sibling realty_poi_nearby by clarifying the overlapping use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear guidance on when to use this tool: for scores and screening (free) versus realty_poi_nearby (paid) for actual nearby facility lists/distances. It also explains the region/complex parameter conditions and instructs to verify complex existence via realty_search_complexes before treating not_found as definitive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_macro_indicators거시 지표 (기준금리·KOSPI·M2 시계열)ARead-onlyIdempotentInspect
한국 기준금리·KOSPI·M2, 미 연준금리·S&P500 등 거시 지표의 월별 시계열을 조회한다. "금리가 집값에 어떤 영향?"류 배경 분석용.
⚠️ 계열마다 신선도가 다르다 — meta.series_as_of가 계열별 실제 최신 시점이다(예: 미
연준금리·S&P·코인은 최신인데 한국 기준금리·KOSPI는 2024-12 정지, ECOS 재수집 대기).
밀린 계열을 "지금 금리"로 인용하지 말고 반드시 그 계열의 시점을 함께 밝혀라.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | 최근 몇 개월치 | |
| indicators | No | 쉼표 구분 지표명: bok_base_rate(한국 기준금리 %), kospi(월말 종가), korea_m2(M2 평잔·원계열, 조원), fed_rate(미 연준금리 월평균 %), sp500, btc_usd, eth_usd(월말 종가). 비우면 전체 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a critical behavioral trait: series freshness varies, and meta.series_as_of must be checked. It gives specific examples (Korean base rate and KOSPI are stuck at 2024-12, while US Fed rate and S&P are current) and warns against citing stale series as current. This goes far beyond the readOnly/openWorld/idempotent annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: a one-sentence purpose, a one-sentence usage context, and a concise but essential freshness warning. Every sentence earns its place; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 does not need to explain return values. It covers the purpose, usage context, and the most important caveat (per-series data freshness via meta.series_as_of). This is ample for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% description coverage for both parameters: months ('최근 몇 개월치') and indicators (listing all valid values with units). The tool description does not add additional parameter semantics, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: '한국 기준금리·KOSPI·M2, 미 연준금리·S&P500 등 거시 지표의 월별 시계열을 조회한다' – a specific verb (조회한다) with a specific resource (monthly time series of listed macro indicators). It distinguishes itself from sibling realty-specific tools by focusing on macro background data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: '금리가 집값에 어떤 영향?'류 배경 분석용 (for background analysis on how interest rates affect housing prices). However, it does not explicitly name alternatives or exclusions, though as the only macro indicator tool among siblings, the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_market_signals[유료] 시장 신호 (미분양·심리지수)BRead-onlyIdempotentInspect
[유료] 미분양 추이와 시장심리지수를 한 번에 조회한다. 매수 타이밍 판단의 거시 신호.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | 시계열 개월 수 | |
| region | No | 지역명 (예: 서울). 비우면 전국 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not add behavioral details beyond the annotations, which already declare readOnlyHint, idempotentHint, and destructiveHint. It mentions 'at once' but lacks specifics on data freshness, rate limits, or side effects. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences: first stating the function, second stating the application. It includes the '[유료]' label, which is important context. No unnecessary details, but slightly more explanation of the return could improve completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (unseen but present) and two optional parameters, the description covers the basic purpose. However, it does not clarify what 'unsold trends' or 'market sentiment indices' refer to, leaving some ambiguity about the data content. Annotations compensate partially.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the two parameters (months, region). The tool description does not add meaning beyond the schema; it focuses on output content rather than parameter usage. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves unsold inventory trends and market sentiment indices, using the verb '조회한다' (view/retrieve). It identifies the specific resources and mentions its use for purchase timing, which provides purpose clarity. However, it does not explicitly distinguish itself from the many sibling tools, though its focus on macro signals implies differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The indication that it's a 'macro signal for purchase timing' gives a usage context. However, there is no explicit guidance on when not to use this tool or mention of alternatives among the many sibling tools, leaving the agent to infer usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_member_transfer_check조합원 지위양도 가능 판정 — 투기과열지구×사업유형×단계 (도시정비법 39조)ARead-onlyIdempotentInspect
투기과열지구에서 재건축·재개발 물건을 지금 사면 조합원 지위를 승계받을 수 있는지를 도시정비법 39조 2항으로 결정론 판정한다 — 투기과열지구 여부(regulated_area) × 사업 유형 × 진행 단계(서울은 정보몽땅 목록에서 자동 결합). "한남3구역 지금 사도 입주권 나와?"의 자리다.
경계를 지켜라: ① 판정은 **원칙 제한 여부**까지다 — 예외(양도인의 근무·질병·상속·해외이주,
10년 소유+5년 거주 등)는 양도인 사정의 사실판단이라 갈림길로만 주고, **사업지연 예외
3종은 인가일·착공일 데이터가 없어 판정 불가를 실토한다**. ② 재개발엔 부칙 함정(2018-01-25
이전 사업시행인가 신청 구역은 제한 밖)이 있어 선언 없이는 단정하지 않는다. ③ 제한이 없어도
**토지거래허가구역은 별개 제도**다(서울 전역 지정 중 — 실거주 의무 등). ④ 조문 원문·예외
전체 목록은 realty_policy_rules(topic=redevelopment_rules), 투기과열 지정 현황은
topic=regulated_area, 분양자격 자체가 불확실하면 topic=redevelopment_entitlement,
사업장 목록·단계 열람은 realty_redevelopment. 응답의 exceptions·disclosures를 함께 전하라.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | 사업장 소재지(시군구까지, 예: '서울 용산구'·'성남시 수정구') — 투기과열지구 판정과 (서울이면) 단계 자동 조회에 쓴다. 모호하면 후보를 돌려주니 is_speculation_zone을 직접 선언해도 된다 | |
| project_name | No | 사업장·구역 이름(예: '한남3구역') — 서울이면 정비사업 목록에서 진행 단계를 자동으로 잇는다(유일 매치만). 서울 밖은 목록이 없어 project_stage 선언이 필요하다 | |
| project_type | Yes | 사업 유형 — 제한 개시 시점이 갈린다(재건축=조합설립인가 후, 재개발=관리처분인가 후). 가로주택·소규모재건축 등 소규모정비사업은 별도 법제라 이 도구가 판정하지 않는다 | |
| project_stage | No | 진행 단계 직접 선언 — project_name 조회 대신/우선 적용 | |
| is_speculation_zone | No | 투기과열지구 여부 직접 선언 — region 대신/우선 적용 | |
| first_approval_application_after_20180125 | No | **재개발 부칙 선언** — 이 구역의 최초 사업시행계획인가 신청이 2018-01-25(법률 제14943호 시행일) 이후인가. 이전이면 관리처분인가 후에도 지위양도가 가능하다(서울 22개 구역 실재). 모르면 비워두라 — 서버가 미확인으로 실토한다 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, non-destructive; description adds significant behavioral disclosures: '사업지연 예외 3종은 인가일·착공일 데이터가 없어 판정 불가를 실토한다', the 재개발 부칙 trap, and the instruction '응답의 exceptions·disclosures를 함께 전하라'. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Though long, the description is front-loaded with the core decision question and organized into numbered boundary points. Each segment (purpose, limitations, traps, related tools) earns its place for a legally complex tool, avoiding unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the primary use case, legal caveats, data-source limitations, alternative tools, and even response handling expectations. For a tool with high legal complexity and an existing output schema, this is complete and self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds strategic meaning by mapping the legal test to parameters: '투기과열지구 여부(regulated_area) × 사업 유형 × 진행 단계' and highlighting the role of first_approval_application_after_20180125 in the 재개발 부칙. This helps the agent decide which parameters to prioritize or fill.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb+resource: '투기과열지구에서 재건축·재개발 물건을 지금 사면 조합원 지위를 승계받을 수 있는지' and '도시정비법 39조 2항으로 결정론 판정한다'. It clearly distinguishes from siblings by limiting scope to principle restriction checks and explicitly pointing to alternative tools for exceptions and other matters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use context with the example '한남3구역 지금 사도 입주권 나와?' and gives clear boundaries ('경계를 지켜라') listing exclusions such as exceptions (양도인 사정) and separate land transaction permit zone. It names alternatives like realty_policy_rules(topic=redevelopment_rules) and realty_redevelopment for specific follow-ups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_move_in_supply입주 예정 물량 — 입주장 리스크ARead-onlyIdempotentInspect
지역의 입주 예정 물량을 연월별로 집계한다 — "○○ 입주장 리스크 있어?", "내년에 입주 물량 얼마나 쏟아져?"류 질문용. 입주 몰림은 전세가 하락·역전세 압력 신호다.
**하한 집계다** — 청약홈 공고(2020-02 이후) 기반이라 공고 없는 공급(민간임대·후분양
일부)이 빠지고, 무엇보다 **공고는 입주 평균 30개월 전에 난다**(전국 실측). 그래서
조회 구간이 오늘+30개월을 넘어가면 그 구간 입주분은 아직 공고조차 안 된 것이 대부분이다.
실사고: 세종 2028~2030 조회에 676세대가 나오자 "입주장 리스크 없음"으로 답했으나
실제 계획은 그 6배였다.
응답의 **`reading` 문장을 결론에 그대로 반영하라** — `interpretation`이 `lower_bound`면
"물량 없음/적음"이라 말하지 말고 "공고된 것만 N세대(하한)"라고 답해야 한다.
`coverage.region_recent_annual_rate`(그 지역 최근 공고 실적)와 비교해 값이 크게 낮으면
공급이 끊긴 게 아니라 공고 시차다. **그때는 realty_supply_pipeline을 이어서 불러라** —
사업승인은 났지만 아직 공고 안 난 물량이 거기 있다(세종 실측: 이 도구 676세대 →
파이프라인 3,483세대). 단 **두 축의 세대수를 더하지 마라**(이중계상) — 공고가 난
단지는 승인 목록에도 남아 양쪽에 다 잡힌다. 파이프라인 쪽 값이 상위 집합에 가깝다.
| Name | Required | Description | Default |
|---|---|---|---|
| to_ym | No | YYYYMM (기본 from_ym+36개월) | |
| region | No | 시도 (예: 서울, 경기, 세종, 부산) | |
| from_ym | No | YYYYMM (기본 이번 달) | |
| sigungu | No | 시군구 정확한 이름 (예: 수원시, 강남구) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld/idempotent annotations, the description discloses the crucial lower-bound behavior, the Cheongyak Home announcement basis, and the coverage/interpretation fields ('reading' 문장, 'interpretation'이 lower_bound). It gives a concrete Sejong example to illustrate underestimation risk and warns against double counting with the pipeline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but front-loaded with the core purpose, followed by clearly bolded behavioral caveats and a concrete examples. Every section earns its place; the real case and the pipeline comparison are essential to correct use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers lower-bound semantics, temporal blind spot, response-field usage, cross-referencing with sibling tool realty_supply_pipeline, and double-counting prevention. Given the output schema exists and annotations are provided, no essential context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all four parameters (100% coverage), so the baseline is 3. The description adds meaningful context about the time horizon (today+30 months) that affects how to interpret to_ym/from_ym ranges, and warns that far-future queries will mostly return unannounced supply. This is helpful but not detailed parameter-level syntax, so 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and object: '지역의 입주 예정 물량을 연월별로 집계한다' (aggregates scheduled move-in volume for a region by year/month). It also frames the intended question types (입주장 리스크, 내년 물량) and explicitly distinguishes this lower-bound count from the complementary sibling realty_supply_pipeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use context ('입주장 리스크 있어?', '내년에 입주 물량 얼마나 쏟아져?'), warns about the 30-month announcement lag, and explicitly instructs to call realty_supply_pipeline when the result is much lower than coverage.region_recent_annual_rate, including a don't-add-the-numbers caveat.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_nonapt_prices비아파트 시세 — 빌라·오피스텔·단독주택ARead-onlyIdempotentInspect
빌라(다세대·연립)·오피스텔·단독주택·토지의 실거래 매매가를 조회한다 — 아파트 밖 질문의 1차 도구. 응답 = 최근 거래(recent) + 집계(stats: 표본 수·가격·상위 구성).
**매매 데이터만 있다** — 전월세를 물으면 이 축엔 데이터가 없다고 답하라(추정 금지).
면적 기준: villa/officetel은 전용면적(area_m2·area_pyeong), house는 대지(land_*)와
건물(building_*) 분리, land는 계약면적·지목(land_category)·용도지역(zoning)이 온다.
land의 share_type='지분' 행은 필지 일부 거래라 면적당 가격 비교에 쓰지 말 것(집계는
지분·해제 제외 — 응답 note 참조). 아파트는 realty_region_price_stats·search_complexes 담당.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 최근 거래 행 수 | |
| region | Yes | 지역명 부분일치 (예: 관악구, 서울특별시 강남구, 강남구 역삼동) | |
| area_band | No | 전용면적대로 좁힌다(빌라·오피스텔만 — 단독주택은 전용면적 개념이 없다). 비아파트는 같은 동네에서도 면적 편차가 커서 지역 평균 하나로는 답이 안 된다. 안 넣어도 stats.by_area_band로 밴드별 분포가 온다 | |
| price_max | No | 최대 매매가(만원) | |
| price_min | No | 최소 매매가(만원) | |
| property_type | Yes | villa=다세대·연립(빌라), officetel=오피스텔, house=단독·다가구, land=토지 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent true and destructive false. The description adds valuable context: only 매매 data exists (no 전세/월세), land share transactions are excluded from aggregates, and the response contains recent + stats with note field. It also clarifies area-basis differences per property type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is dense but efficient, front-loaded with the main purpose and response shape. The Korean text packs significant guidance in a compact form. Minor deduction for somewhat run-on structure and the note about land share_type being buried mid-paragraph, but overall every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-param tool with an output schema, this description covers critical edge cases: data coverage limits (매매 only), property-type-specific area semantics, land 지분 warnings, and sibling-tool handoff. The output schema documents return structure so not explaining it fully is acceptable. This is complete for practical agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. But the description adds meaningful semantics beyond schema: '1차 도구' context, per-type area basis (villa/officetel use area_m2/area_pyeong, house splits land/building, land has land_category/zoning), and that area_band only applies to villa/officetel. This genuinely helps parameter selection beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb ('조회한다') and resource (빌라·오피스텔·단독주택·토지의 실거래 매매가), and explicitly distinguishes from sibling realty_region_price_stats/search_complexes which handle apartments. This is a precise 1차 도구 for non-apartment sales price queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says this is the first-line tool for non-apartment questions, tells when NOT to use it (전월세 queries should be refused because no data exists), and names alternatives for apartments (realty_region_price_stats·search_complexes). Also warns about land 지분 rows not being comparable, which is a clear usage exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_notice_facts모집공고 팩트시트 — 전매제한·자격·층별 분양가·옵션가·중도금ARead-onlyIdempotentInspect
입주자모집공고 원문에서 추출·검증한 팩트시트 — 전매제한·재당첨제한·거주의무· 거주요건, 청약 일정, 층별 분양가표(대지비·건축비·회차별 납부액), 특별공급 배정, 발코니 확장·유상옵션 가격, 중도금 회차 일정, 예비입주자 규칙.
전매제한 기간, 재당첨 제한, 거주의무, 특별공급 자격·배정, 층/타입별 분양가,
발코니 확장비·유상옵션 금액, 중도금 회차와 납부일 — 이 값들을 묻는 질문이 이 도구의
자리다(추정하거나 웹에서 찾을 필요 없이 공고 원문 값이 나온다). 모든 값에 공고 쪽
번호(`p`)가 붙으니 답변에 notice_version(공고 판본)과 쪽 번호를 함께 제시하라.
팩트시트 미추출 공고는 원문 앞쪽(단지 주요정보 표) 텍스트를 unverified_source_text로
준다 — 수치 인용 시 "공고 원문 기준·미검증"을 명시하라. 상세 조항 전문(특공 소득기준,
부적격 처리 등)은 realty_notice_text로 원문 쪽을 직접 읽어라. 여기 없는 값은 지어내지 말 것.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | No | 단지명 일부 (예: '우미린' — 공백 무관 매칭) | |
| house_manage_no | No | 공고 관리번호 (realty_presale 응답의 house_manage_no) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare read-only/idempotent, and description adds behavioral context: page numbers attached to values, requirement to report notice_version and page, fallback unverified_source_text with disclosure, and prohibition on fabrication. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single structured paragraph, front-loaded with core purpose and followed by usage/fallback/alternative guidance. Somewhat dense but each sentence conveys necessary information; could be broken into bullets but remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, return values need not be described. The description covers fallback behavior, page-number reporting, alternative tool routing, and constraints, making it complete for a complex fact-sheet tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with clear descriptions for keyword and house_manage_no. Description does not add further parameter-level detail beyond schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly identifies the tool as a fact sheet extracted from recruitment notices, enumerating specific data fields (resale restrictions, eligibility, prices, options, interim payments). It distinguishes from sibling realty_notice_text by explicitly naming the latter for full text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: questions about these specific values are this tool's place; for detailed provisions, use realty_notice_text; for unextracted notices, fallback to unverified_source_text. Also instructs not to invent missing values.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_notice_text모집공고 원문 쪽 읽기 — 자격 세부·유의사항 전문ARead-onlyIdempotentInspect
입주자모집공고문 원문을 쪽 단위로 읽는다 — 팩트시트에 없는 세부(특별공급 소득·자산 기준, 부적격 처리, 계약 유의사항, 옵션 품목 상세)는 이 도구로 원문을 직접 확인하라. 표가 있는 쪽은 pdftotext 특성상 정렬이 깨질 수 있다 — 열 해석이 애매하면 단정하지 말 것.
여러 낱말은 AND로 묶인다('가점제 추첨제'→둘 다 있는 쪽). 0쪽이면 막다르지 않고 낱말별
히트 쪽과 부분일치 상위 쪽을 함께 돌려주니 그걸로 좁혀라(match='any'로 넓힐 수도 있다).
**쪽을 모를 땐 pages_only=true로 먼저 훑어라** — 전문은 한 번에 수만 자다.
전문 응답은 최대 6쪽이고, meta.matching_pages에 일치 쪽 전체 목록이 늘 들어 있다.
| Name | Required | Description | Default |
|---|---|---|---|
| match | No | 여러 낱말 처리 — all=모두 포함(기본), any=하나라도 포함(넓게 훑을 때) | all |
| pages | No | 쪽 범위 직접 지정 (예: '1-3', '44'). query와 택일 | |
| query | No | 찾을 키워드. 공백으로 나눈 낱말을 모두 포함하는 쪽을 찾는다(AND, 공백 무관 매칭) — 예 '가점제 추첨제', '신혼부부 소득' | |
| pages_only | No | 참이면 본문 없이 일치 쪽 번호+발췌만 준다 — 먼저 이걸로 쪽을 고르고 pages로 좁혀 재호출하면 왕복·토큰이 크게 준다 | |
| house_manage_no | Yes | 공고 관리번호 (realty_presale·realty_notice_facts로 특정) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavioral context beyond annotations: pdftotext table alignment issues with a warning not to assert ambiguous columns, AND semantics for multi-word queries, fallback behavior when 0 pages are hit, a 6-page response limit, and the guaranteed presence of meta.matching_pages. No contradiction with readOnlyHint or other annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: purpose, table warning, query semantics and zero-hit fallback, recommended workflow, and response limits. No fluff or redundancy, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 5-parameter complexity, the description covers purpose, usage workflow, edge cases, response size, and metadata. With full schema coverage, read-only/idempotent annotations, and an output schema, no significant gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description mentions match='any', pages_only, and pages, but these are already explained in the schema; it adds no new parameter-level semantics beyond strategic use tips.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool reads the original recruitment notice text page by page ('입주자모집공고문 원문을 쪽 단위로 읽는다') and lists concrete use cases (special supply income/asset criteria, disqualification handling, contract cautions). It contrasts with the fact sheet, distinguishing it from siblings like realty_notice_facts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear when-to-use guidance: '팩트시트에 없는 세부...는 이 도구로 원문을 직접 확인하라' (use this tool for details not in the fact sheet), implicitly naming the fact sheet as the alternative. Also offers a workflow: use pages_only=true first, then narrow with pages, and widen with match='any'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_poi_nearby[유료] 주변 입지 분석ARead-onlyIdempotentInspect
[유료] 좌표 주변의 지하철·학교·병원·마트 등 입지 요소를 거리순으로 조회한다.
단지 좌표는 realty_complex_report가 준다. "역세권인가", "초품아인가" 판단용.
단지의 학군·교통 **점수**만 필요하면 무료 realty_location_scores로 충분하다 —
이 도구는 실제 시설 목록·거리를 셀 때 쓴다.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | 위도 — realty_complex_report의 latitude를 쓰라 | |
| lng | Yes | 경도 | |
| poi_type | No | subway | hospital | school — 쉼표로 조합 가능(예: 'subway,school'), 비우면 전체. 이 3종만 좌표 검색을 지원한다(마트·약국 등은 지역 통계 realty_poi_stats로) | |
| radius_m | No | 반경(미터) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds meaningful context: the tool is paid, supports only subway/hospital/school for coordinate search, and is intended for counting actual facilities and distances. No contradictions, but it doesn't mention rate limits or response ordering beyond 'sorted by distance'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the main purpose, followed by concise usage guidance. There is no redundant information or fluff; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, paid status, coordinate sourcing, alternatives, and data limitations. Since an output schema exists, return values need not be explained. The guidance is sufficient for an agent to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions, including lat sourced from realty_complex_report and poi_type allowed values with alternative tools for marts. The main description reinforces the coordinate source and usage intent, adding cross-tool context beyond the schema, which justifies a score above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves location amenities (subway, school, hospital, mart) around coordinates, sorted by distance. It uses a specific verb ('조회한다'), names the resource, and distinguishes itself from siblings by noting it's paid and contrasting with realty_location_scores and realty_poi_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly directs using realty_complex_report for coordinates, and states that realty_location_scores is sufficient if only scores are needed. It also clarifies via the poi_type schema description that marts/pharmacies should use realty_poi_stats, providing clear when-to-use and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_poi_stats[유료] 지역별 인프라 통계ARead-onlyIdempotentInspect
[유료] 시군구별 병원·학교·지하철역 개수 통계를 조회한다. 지역 간 인프라 비교용.
지역 키는 '시도축약 시군구' 2토큰이다(예: '서울 마포구', 세종은 1토큰). 병원·지하철은
수집 범위가 수도권·광역시 중심이라 지방 시군구는 0으로 나올 수 있다 — 0을 "없다"로
단정하지 말고 수집 범위 밖일 수 있다고 말하라.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| region | No | 지역명 접두 일치 (예: 서울, 서울 마포구, 마포구). 비우면 전국 전체 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent hints. The description adds valuable behavioral context: data collection scope limitations (metropolitan focus), region key format, and the caveat that zero counts may be due to missing data rather than absence. This exceeds the annotation information and aids interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each adding distinct value: purpose, region key format, and data scope warning. It is front-loaded and contains no superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema and few parameters, the description covers the essential aspects (purpose, region format, data scope). However, it omits noting that the tool is paid (as indicated in the title) and does not elaborate on the output format, though the output schema addresses the latter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (region has description, limit does not). The description enhances the region parameter by explaining the two-token format (e.g., '서울 마포구') and matching behavior, but adds nothing about the limit parameter. Thus it improves semantics for one parameter but neglects the other.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it queries statistics on the count of hospitals, schools, and subway stations by city-county-district, and mentions it is for comparing infrastructure between regions. This clearly distinguishes it from siblings like realty_poi_nearby or realty_location_scores.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides guidance on the region key format and a critical warning about data collection scope being centered on metropolitan areas, advising not to interpret zero as absence. While it does not explicitly mention when not to use this tool versus alternatives, the context is sufficient for correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_policy_rules법령·규제 규범 — 세율표·규제지역·대출·임대차·청약·정비사업 규칙ARead-onlyIdempotentInspect
단지에 종속되지 않는 일반 규범을 근거 조문·확인일과 함께 준다 — 취득세율표, 규제지역 현재 지정 현황, 주담대 규제 원표, 개인회생×대출, 주택임대차 갱신(갱신권· 5% 상한·매수인 실거주 거절), 양도세(세율·필요경비·중과·개편 계류), 청약통장·가점 배점표, 정비구역 요건·조합원 지위양도, 재개발 분양자격 갈림길(서울). "취득세 얼마야?", "갱신권 썼는데 집주인이 팔면?", "지금 팔면 중과야?"류 질문의 자리다. 특정 조건의 상한 계산은 realty_loan_limit, 가점 점수 계산은 realty_subscription_score, 비례율·분담금 계산은 realty_redevelopment_burden, 양도세 시나리오 계산은 realty_capital_gains_tax, 조합원 지위양도 가능 판정은 realty_member_transfer_check — 이 표가 그 계산기들의 진실원이다.
클라이언트에 세율을 하드코딩하지 마라 — "85㎡ 이하 1.1%"는 6억 이하일 때만 맞고,
9억 초과에 그대로 쓰면 수천만원 틀린다(실측: 16.9억 84타입에서 3,700만원 차).
**판정은 하지 않는다**: "이 사람이 1주택인가"는 분양권·상속지분·일시적 2주택 특례가
얽힌 사실판단이다 — 표의 applicable_if·exceptions를 보고 사용자에게 확인 질문을
던져라. 개별 공고의 규제 플래그(공고일 스냅샷)는 realty_presale, 공고 원문 값은
realty_notice_facts, 이 표를 써서 총 소요자금까지 계산하는 건 realty_presale_cost.
응답의 uncertainties(확인 못 한 것)와 disclaimer를 함께 전하라.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | **axes=횡단 사실의 진실원**(여러 상품·세목에 걸치는 것 — 6·27이 상품별로 어떻게 걸리나, 대출 6축의 DSR 취급, 수도권/규제지역 축, 세대·인별·물건 기준의 충돌). **'어느 상품이 뭐가 다른가'류 질문은 여기부터**, acquisition_tax=취득세율표(표준·중과·부가세목·예외), regulated_area=규제지역 현재 지정 현황, loan_rules=주담대 규제 원표(LTV·한도·만기·DSR·생애최초), credit_rehab=개인회생×신용·대출 규칙(공공정보 등록·조기삭제·면책), lease_rules=주택임대차 갱신 규칙(갱신요구권·5% 상한·묵시적 갱신·매수인 실거주 거절 판례), capital_gains_tax=양도세 규칙(세율표·필요경비 분류·중과 현황·이월과세 함정·계류 개편안), subscription_account=청약통장·가점 규칙(배점표 84점·납입 인정·미납/선납·전환 한시), redevelopment_rules=정비구역 지정 요건·조합원 지위양도 제한, redevelopment_entitlement=재개발 분양자격 갈림길 지도(서울 한정), auction_balance_loan=**경락잔금대출**(경매 낙찰 잔금) — 대금지급기한에 대출 실행이 묶이는 구조. 방공제·MCI는 room_deduction_and_mci로, room_deduction_and_mci=**방공제·MCI/MCG**(매매·경매 공통) — 규제 상한과 별개로 실제 대출가능액을 깎는 구조. 'MCI 되면 4.3억, 안 되면 3.9억'류 질문과 '왜 계약 전에 확정을 못 해주나'의 근거, funding_plan_report=**자금조달계획서**(주택취득자금 조달 및 입주계획서) — 제출 대상·증빙·30일 기한과 가족 차용 기재 시 걸리는 자리, jeonse_return_mortgage=**전세보증금 반환(전세퇴거자금) 목적 주담대** — 원칙 1억이지만 **6·27 이전 임대차계약·소유권 취득분은 경과조치로 초과 가능**(LTV 70% 유지). '세입자 내보낼 돈' 질문은 여기, list=제공 항목 안내 | list |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly, openWorld, idempotent, and non-destructive. The description adds significant context beyond annotations: it states the tool does not make determinations ('판정은 하지 않는다'), carries a confirmation date, provides current regulated-area status, and requires the agent to pass along uncertainties and a disclaimer. It also warns about subtle data dependencies (e.g., the 1.1% rate only holding below 600M KRW), giving the agent critical behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but dense and front-loaded. It opens with the core purpose, then usage guidance, then explicit warnings and exclusions. Every sentence adds value; the length is justified by the breadth of topics and the importance of not hardcoding rules. However, the dense comma-separated topic list at the beginning could be slightly more scannable, so not a perfect 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one multi-value enum parameter and a rich output schema, the description goes beyond what is structurally required. It tells the agent what types of questions belong here, which sibling tools to delegate to for calculations, what the tool does NOT do (facts/judgments), and what to include in responses (uncertainties, disclaimer). It also covers temporal aspects (current status, confirmation date) and warns against common client-side hardcoding mistakes, making it nearly complete for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete parameter coverage (100%) with a highly detailed description of every enum value for the only parameter, topic. The tool description reinforces the overall purpose and question types but does not add new parameter-level semantics beyond the schema. Since the schema carries the full burden, a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('준다' / provides) and immediately identifies the resource: general legal/regulatory norms with legal basis and confirmation date. It enumerates concrete content areas (acquisition tax, regulated areas, loan rules, lease renewal, capital gains tax, subscription, redevelopment) and explicitly contrasts with sibling calculators like realty_loan_limit and realty_capital_gains_tax, clearly distinguishing this as the source of truth rather than a calculator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use this tool ('이 표가 그 계산기들의 진실원이다') and names five alternative tools for calculations, plus realty_presale/realty_notice_facts for case-specific data. It also gives strong usage guardrails: don't hardcode tax rates, don't make determinations, ask the user for confirmation, and include uncertainties and disclaimer in the response.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_predict_price[유료] 단지 가격 예측 (XGBoost)ARead-onlyIdempotentInspect
[유료] 단지의 다음 달 평균 매매가를 평형대별로 예측한다 (XGBoost v4_clean).
complex_name 또는 complex_key 중 하나는 필수. 동명 단지가 여러 지역에 있으면
먼저 realty_complex_report로 단지를 특정한 뒤 complex_key로 호출하라.
예측 지평은 1개월(익월) 고정 — 그 너머는 모델이 검증되지 않아 제공하지 않는다.
커버리지 밖은 정직하게 거절된다(지어내지 않음) — ①최근 3개월 내 월 거래 3건 미만이거나
②과거 거래 이력이 없는 신축 첫 달(모델이 지역·평형 평균을 토해 2~4배 틀린다, 실측).
예측이 없을 뿐 시세 데이터는 있으니 그때는 실거래 도구로 답하라.
응답 predictions[].caution이 있으면 반드시 함께 전달하라 — 예측 대상이 '익월에 거래된
매물들의 평균가'라, 시세가 그대로여도 거래 구성이 바뀌면 흔들린다(실측 16.3%가 ±10% 초과).
응답의 as_of_ym(기준월)·disclaimer(검증 MAPE)를 사용자 답변에 반드시 함께 전달하라 —
예측은 참고 지표이지 투자 보장이 아니다.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | (구버전 호환) 예측 지평은 1개월 고정 — 이 값은 무시되고 응답이 그 사실을 실토한다 | |
| complex_key | No | 정확한 단지 키 — realty_complex_report가 돌려주는 complex_key | |
| complex_name | No | 단지명 (예: 반포자이) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses model limitations: fixed 1-month horizon, honest refusal on low coverage, 2-4x error possibility on new construction, and 16.3% of cases exceeding ±10% deviation due to trade-composition changes. It mandates relaying predictions[].caution, as_of_ym, and disclaimer, significantly enriching the readOnly/idempotent annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but intentionally structured: purpose first, then input requirements, coverage rules, and output-handling caveats. Every sentence contributes important operational context, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paid predictive tool with complex caveats, it covers purpose, input requirements, ambiguity resolution, coverage limits, fallback alternatives, and mandatory response fields. Since an output schema exists, return value structure is already documented, and the description fills all behavioral gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 3 parameters have schema descriptions, giving a baseline of 3. The description adds the critical precondition that exactly one of complex_name/complex_key must be supplied (even though the schema does not mark them required), and reiterates that months is ignored. This extra guidance adds value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states '단지의 다음 달 평균 매매가를 평형대별로 예측한다' (predicts the next month's average sale price by size type), specifying the verb, resource, and output granularity. It distinguishes itself from sibling tools like realty_complex_pyeong_price (current price) and realty_region_price_stats (regional stats).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly requires complex_name or complex_key and directs using realty_complex_report for ambiguous names before calling with complex_key. It also states when coverage fails (fewer than 3 monthly trades in recent 3 months, or first month of new construction) and instructs to use real transaction tools instead, plus clarifies that prediction horizons beyond 1 month are not provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_presale청약 분양 공고ARead-onlyIdempotentInspect
아파트 청약(분양) 공고를 조회한다 — 분양가·청약 접수 일정·당첨자 발표일·입주 예정·위치. "다음 달 청약 넣을 만한 데 있어?", "○○에 분양하는 아파트 있어?"류 질문용. "넣을 만해?/적정가야?"까지 물으면 이어서 realty_presale_vs_market으로 분양가를 실거래 시세와 대조하라(응답의 house_manage_no가 그 도구의 입력이다).
price_min/price_max는 주택형별 분양 최고가의 최소·최대(만원)다 — 한 공고에 여러
주택형(house_type_count)이 있다. 청약 자격·순위 요건은 이 데이터에 없다(지어내지 말 것).
경쟁률·당첨 가점 커트라인은 realty_subscription_odds 도구에 있다.
무순위(줍줍)·취소재공급이 돈 공고에는 `unsold_history`(회차·세대)가 붙는다 — 접수
경쟁률이 높아도 무순위가 돌았다면 "당첨 후 계약이 안 된" 시장이다. 없다고 이력이
없던 건 아니다(meta.unsold_note의 연결 한계 참조). 같은 지역 공고들의 분양가가
올라온 추이("기다림의 비용")는 realty_presale_price_trend.
규제지역 플래그: speculation_zone(투기과열지구)·adjustment_area(조정대상지역)·
price_cap_applied(분양가상한제), Y/N — **모집공고일(announced_on) 기준 스냅샷**이라
이후 지정·해제가 바뀔 수 있다. "현재 규제지역"으로 단정하지 말고 공고일과 함께 전하라.
전매제한·거주의무 기간은 이 데이터에 없다(플래그에서 유추 금지) —
realty_notice_facts가 공고 원문 값을 쪽 번호와 함께 준다.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| region | No | 시도 (예: 서울, 경기, 세종, 부산) | |
| keyword | No | 단지명·공급 주소 부분일치 (예: '우미린', '5-2생활권', '다솜동') — 생활권·동 단위 질의는 이걸로 | |
| sigungu | No | 시군구 정확한 이름 (예: 수원시, 강남구). ⚠️세종은 이 필드가 동·생활권·도로명으로 오염돼 있으니 쓰지 말고 keyword를 쓰라 | |
| upcoming | No | True면 청약 접수 시작일이 오늘 이후인 공고만 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations already state readOnly=true and openWorldHint=true, the description adds substantial behavioral nuance: regulation-area flags (speculation_zone, adjustment_area, price_cap_applied) are snapshots as of the announcement date and must not be stated as current; the absence of unsold_history does not mean no unsold rounds occurred; and price_min/price_max are per-house-type extrema, not a simple range. These details prevent misinterpretation and are not inferable from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence carries essential caveats, cross-references, or field semantics. It is logically organized: purpose → trigger queries → tool chains → field semantics → data gaps → related tools → flag snapshot behavior → further data exclusions. There is no filler or redundancy; the density of information justifies its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description successfully covers non-obvious behavioral aspects: unsold_history interpretation, regulation-flag snapshot timing, absent data (qualifications, resale restrictions), and routing to sibling tools. It leaves no critical ambiguity about what the tool returns, what it cannot answer, and how to handle follow-ups, making it fully complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the baseline is 3. The description adds concrete usage semantics for keyword (partial matches by complex/생활권/dong, e.g., '우미린', '5-2생활권') and warns that sigungu is contaminated for Sejong and should be replaced by keyword. It also clarifies the meaning of price_min/price_max and house_type_count, which are likely output fields, though not input parameters. This goes beyond schema descriptions but does not fully compensate for the lack of explicit parameter-level guidance for limit and upcoming.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('아파트 청약(분양) 공고를 조회한다') and enumerates the key result fields (분양가, 청약 접수 일정, 당첨자 발표일, 입주 예정, 위치). It also distinguishes itself from siblings by naming alternative tools for follow-up questions (realty_presale_vs_market, realty_subscription_odds, realty_presale_price_trend, realty_notice_facts) and explicitly states exclusions (청약 자격·순위 요건, 전매제한).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Guidelines are explicit and actionable. The description provides concrete example questions that trigger this tool ('다음 달 청약 넣을 만한 데 있어?', '○○에 분양하는 아파트 있어?') and tells the agent to chain to realty_presale_vs_market when the user asks about worthiness/price fairness. It also routes competition-rate queries to realty_subscription_odds, price-trend queries to realty_presale_price_trend, and restriction-period queries to realty_notice_facts, with clear when-not-to-use warnings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_presale_cost분양 총 소요자금 계산 — 중도금 이자·취득세·층별 총액ARead-onlyIdempotentInspect
공고 원문(팩트시트) 기반 결정론 계산: 층별 분양가 + 발코니 확장비 + 회차별 중도금 이자(일할) + 취득세(표준세율) = 층별 총 소요자금. "이 분양 실제로 얼마 드나"의 자리다 — 클라이언트마다 손계산하면 입주일 가정 하나로 백만원대가 갈린다(실측 124만원).
경계(신고 #43의 선 그대로): 여기까지가 "공고+세법에서 결정론적으로 나오는 것"이다.
월 상환액·매수 vs 전세 손익분기는 개인 파라미터가 지배하므로 계산하지 않는다 — 전세
시세는 realty_complex_rent_by_pyeong으로 받아 클라이언트가 개인 가정을 얹어라.
자기자금·차주 조건을 **선언**받아 필요 대출액과 규제 상한 통과까지 판정하는 건
realty_presale_funding_plan이 한다. 세율표 자체는 realty_policy_rules가 근거 조문과 함께 준다(중과·감면 등
이 계산이 가정으로 제친 것들이 거기 있다 — assumptions를 반드시 사용자에게 전하라).
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | No | 단지명 일부 (공백 무관) | |
| house_ty | No | 주택형 (예: '59', '84B') — 생략 시 공고의 주택형 목록을 돌려준다 | |
| movein_ym | No | 입주 년월 YYYYMM 덮어쓰기 — 공고에 입주예정이 없거나 다른 가정을 쓸 때 | |
| mid_rate_pct | No | 중도금 대출 연이율 %(기본 5.0 — 실제 금리는 공고·은행마다 다르다) | |
| house_manage_no | No | 공고 관리번호 (realty_presale의 house_manage_no) | |
| extra_options_krw | No | 발코니 외 유상옵션 합계(원) — realty_notice_facts의 옵션가에서 골라 넣어라 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/idempotentHint annotations, the description discloses that the calculation is deterministic, based on public announcement and tax law, uses assumptions (e.g., move-in date, standard tax rate) that must be conveyed to the user, and excludes heavy taxation/exemptions. This adds substantial behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but front-loaded with the core formula and structured into purpose, boundary, and redirects. The anecdotal example about hand calculation is slightly tangential but reinforces the deterministic nature. Overall, each sentence provides necessary context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex financial calculation tool, the description is complete: it fully specifies what is calculated, what assumptions are made and must be surfaced, what is excluded, and points to sibling tools for related analyses. The presence of an output schema covers return values, so no gaps are obvious.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter coverage with descriptions. The description indirectly clarifies the role of movein_ym in interest calculation and extra_options_krw, but does not add significant meaning beyond the schema. The baseline of 3 is appropriate for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description provides a specific verb and resource: it calculates total required funds per floor from floor price, balcony expansion, installment interest, and acquisition tax. It clearly distinguishes itself from sibling tools by describing its deterministic scope and explicitly naming alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use this tool ('this is the place for how much does this presale actually cost') and when not to, redirecting monthly repayment and buy-vs-jeonse analysis to realty_complex_rent_by_pyeong and realty_presale_funding_plan. It also references realty_policy_rules for tax rates, giving clear alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_presale_funding_plan분양 자금 흐름 판정 — 계약금·중도금·잔금 시점별 필요액 × 대출 규제 상한ARead-onlyIdempotentInspect
공고 하나에 대해 **"내 자기자금으로 닫히는가"**를 결정론으로 판정한다 — 시점별 (계약금→중도금 회차→잔금) 필요액, 잔금 시점의 필요 대출액, 그 대출이 규제 상한 (LTV·가액구간 한도·DSR — realty_loan_limit과 같은 엔진) 안에 드는지, 부족하면 얼마가 부족한지. "이 분양 당첨되면 진행 가능해?"류 질문의 자리다.
경계: ① 차주 유형·소득은 **선언**이다(서버는 판정하지 않는다). ② 판정은 **현행
규제·현재 자기자금 기준**이다 — 잔금 시점(수년 뒤)의 규제·금리·저축 증가는 반영하지
않으며 그 사실을 assumptions에 싣는다. ③ 승인·확약이 아니다. ④ 저축 계획·갈아타기
전략·매수 적정성 판단은 이 도구 밖이다 — 시세 비교는 realty_presale_vs_market,
규칙 원표는 realty_policy_rules. 응답의 assumptions·uncertainties를 함께 전하라.
⑤ 입주시 시세·전세보증금도 **선언**이다 — 선언하면 각각 시세 기준 잔금대출 시나리오
(scenario_at_expected_price)와 전세 잔금 시나리오(jeonse_scenario — 거주의무·대출
병행 불가 게이트)를 병렬로 준다. 서버는 미래 시세·전세가를 추정하지 않는다.
| Name | Required | Description | Default |
|---|---|---|---|
| lender | No | 업권 | 은행 |
| region | No | 규제 판정용 지역 덮어쓰기 — 생략하면 공고 소재지로 판정한다 | |
| borrower | Yes | 잔금대출 차주 유형(사용자 선언 — realty_loan_limit과 동일 계약). 계약자 명의 기준으로 선언하라 | |
| house_ty | No | 주택형 (예: '59', '84B') | |
| is_metro | No | 수도권 여부 직접 선언 | |
| rate_type | No | 잔금대출 금리유형 — realty_loan_limit과 동일 계약. 기본 '변동'은 스트레스 금리 전액 가산이라 가장 보수적이다(안 닫힌다는 판정이 유형 때문일 수 있다) | 변동 |
| floor_zone | No | 층 구분(예: '5~9층') — 생략하면 첫 밴드로 계산하고 나머지 밴드 총액을 병기한다 | |
| is_regulated | No | 규제지역 여부 직접 선언 | |
| mid_rate_pct | No | 중도금 대출 연이율 %(기본 5.0) | |
| own_funds_10k | Yes | 동원 가능한 자기자금(만원) — 계약금부터 잔금까지 전액 투입 가정으로 계산한다. 0도 유효하다(전액 대출 시나리오 — 계약금 게이트에서 정직하게 걸린다) | |
| credit_loan_10k | No | 신용대출 잔액·예정액(만원) — realty_loan_limit과 동일 계약(서버가 산정만기 5년 규제식으로 계산한다). 직접 연 원리금을 계산해 넣지 마라 | |
| house_manage_no | Yes | 공고 관리번호 (realty_presale의 house_manage_no) | |
| loan_term_years | No | 잔금대출 만기(년) | |
| rate_fixed_years | No | 혼합형 고정기간 또는 주기형 변동주기(년) — 미지정 시 5년 가정 | |
| annual_income_10k | No | 차주 연소득(만원) — 주면 잔금대출의 DSR 상한까지 반영해 판정한다 | |
| extra_options_krw | No | 발코니 외 유상옵션 합계(원) | |
| interest_rate_pct | No | 잔금대출 약정금리 가정(%) | |
| jeonse_deposit_10k | No | 입주 시점 예상 전세보증금 선언(만원) — 주면 '세입자 보증금으로 잔금 치르기' 시나리오를 판정한다(거주의무·대출 병행 불가 게이트 포함). 시세 확인은 realty_complex_rent_by_pyeong·region_price_stats(metric=rental) | |
| credit_loan_rate_pct | No | 신용대출 약정금리(%) — credit_loan_10k를 줬으면 필수 | |
| expected_price_at_movein_10k | No | 입주(잔금) 시점 예상 시세 선언(만원) — 잔금대출 LTV는 실무상 입주시 시세·감정가 기준이라, 선언하면 그 값 기준 판정을 병렬로 준다. 서버는 미래 시세를 추정하지 않는다(선언 없으면 분양가 기준만) | |
| existing_annual_debt_payment_10k | No | 기존 대출 연간 원리금(만원) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly=true, openWorldHint=true, idempotentHint=true, destructiveHint=false), the description discloses that the judgment is deterministic, based on current regulations/current funds, does not reflect future regulatory/interest/savings changes (stated to be carried in assumptions), is not an approval or commitment, and that the server does not estimate future market prices or jeonse values. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a precise core definition, followed by a numbered 'boundary' list that adds usage exclusions and scenario behavior. Every sentence earns its place; however, it is a bit verbose, with some repetition (e.g., '서버는 미래 시세·전세가를 추정하지 않는다' appears both in item ⑤ and is implied elsewhere). Still, the structure is clear and appropriate for a 21-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, usage boundaries, scenario alternatives (expected-price and jeonse), key caveats (not an approval, assumptions/uncertainties to be conveyed), and clarifies the tool's deterministic, current-state basis. With annotations and an output schema present, this is fully sufficient for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all 21 parameters have meaningful descriptions), so the baseline is 3. The description adds a conceptual framework about declarations (borrower type, income, future price, jeonse) and the two scenario outputs, but this largely mirrors what the parameter descriptions already say (e.g., '선언' in expected_price_at_movein_10k and jeonse_deposit_10k). It does not add syntax-level detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deterministically judges whether a subscription can be closed with one's own funds, breaking down required amounts by phase (down payment, interim payments, balance), checking the balance loan against LTV, price-band, and DSR caps, and quantifying any shortfall. It explicitly names the use case ('이 분양 당첨되면 진행 가능해?' type questions) and distinguishes from siblings by referencing realty_loan_limit as the same engine and realty_presale_vs_market / realty_policy_rules as alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance ('이 분양 당첨되면 진행 가능해?' type questions) and clear exclusions: savings plans, refinancing strategies, and purchase suitability are outside, with alternatives named. It also explains that borrower type/income and future price/jeonse are declarations, and that the tool uses current regulations and current own funds only, with a boundary list that prevents misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_presale_price_trend지역 분양가 추이 — 공고 간 연도별 평당 분양가ARead-onlyIdempotentInspect
같은 지역 분양 공고들의 연도별 평당 분양가 추이를 낸다 — "지금 넣을까, 기다릴까"에서 기다림의 비용(다음 공고가 얼마에 나올까)을 정량화하는 축이다. 재당첨 제한이 걸린 결정(분양가상한제 10년 등)에서 특히 판단을 가른다.
기준(답변에 그대로 전달): **공급면적(분양평) 평당 최고 분양가**(만원/평), 발코니
확장·유상옵션 미포함. 연도별 주택형 믹스가 다르면 중앙값이 흔들린다 —
announcements가 1~2건인 연도는 추이로 읽지 말고, 평형대를 고정하려면
exclusive_m2_min/max(국평=80~85)를 써라.
이 축의 자리: 개별 공고의 적정성(분양가 vs 실거래)은 realty_presale_vs_market,
실거래 가격 추이는 realty_region_price_stats — 이 도구는 **분양가끼리의 시계열**이다.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | 시도 (예: 서울, 경기, 세종) | |
| keyword | No | 단지명·공급 주소 부분일치 (예: '고덕', '동탄') — 동네·지구 단위 추이는 이걸로 | |
| sigungu | No | 시군구 정확한 이름 (예: 평택시). ⚠️세종은 오염돼 있으니 keyword를 쓰라 | |
| exclusive_m2_max | No | 전용면적 상한(㎡) — 국평만 보려면 85 | |
| exclusive_m2_min | No | 전용면적 하한(㎡) — 국평만 보려면 80 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds substantial behavioral context: it uses supply-area maximum per-pyeong price, excludes balcony/options, and explains that median trends can be distorted by unit mix. The warning about small-sample years and the recommended filtering approach are valuable beyond structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense yet well-structured: it opens with purpose, then covers calculation criteria and caveats, and closes with sibling positioning. Every sentence earns its place, including the instruction to pass the criteria directly to the answer. The length is appropriate for the domain complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the read-only annotations, complete parameter schema, and presence of an output schema, the description covers the essential aspects: purpose, metric definition, interpretation caveats, and relationship to sibling tools. No important behavioral or usage aspect appears missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters, so the baseline is 3. The description adds meaningful parameter guidance by recommending exclusive_m2_min/max (80-85) to fix unit mix and stabilize trends. It does not repeat each parameter's schema description but leverages the ones that need behavioral nuance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool computes yearly per-pyeong presale price trends for same-region announcements, with a clear verb and resource. It explicitly distinguishes itself from sibling tools by naming realty_presale_vs_market and realty_region_price_stats as alternatives. This makes the tool's unique role unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when to use the tool (to quantify waiting cost in purchase decisions, especially under resale restrictions) and when not to rely on it (years with only 1-2 announcements should not be read as trends). It names alternatives for other analytical axes, providing both positive and negative usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_presale_vs_market분양가 적정성 분석 — 분양가 vs 주변 실거래 시세ARead-onlyIdempotentInspect
청약(분양) 공고의 분양가가 주변 실거래 시세 대비 싼지/비싼지를 주택형별로 계산한다. "이 청약 넣을 만해?", "분양가 적정해?"류 질문의 정량 근거 — 웹검색으로는 못 하는 분양가×실거래 조인 계산이 이 도구의 존재 이유다.
공고 특정: house_manage_no가 없으면 region+keyword로 검색하고, 여러 건이면
후보 목록을 돌려주니 하나를 골라 다시 호출하라(추측해서 고르지 않는다).
한계(지어내지 말 것): 실거래 평균은 해당 지역 全단지(구축 포함) 기준이라 신축
프리미엄이 반영되지 않았다. 청약 경쟁률·당첨 가점 커트라인은 이 도구가 아니라
realty_subscription_odds에 있다("넣을 만해?"엔 둘을 같이 써라).
기준선 우선순위: market_avg는 **이상치 미필터** 지역 평균이다 — 결론에는
comparison_by_size[].comparable_complexes(반경 내 급 맞는 단지 실거래)를 우선하고,
지역 수준 교차확인은 realty_area_price_bands(이상치 필터·중앙값)로 하라.
이 도구는 **현재 공고 1건의 적정성**이다 — 같은 지역 공고들의 분양가 시계열
("기다릴수록 얼마씩 올랐나")은 realty_presale_price_trend.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | 실거래 비교 창(개월) | |
| region | No | 시도 (예: 서울, 경기, 세종) | |
| keyword | No | 단지명·주소 부분일치 (예: '우미린', '5-2생활권', '다솜동') | |
| house_manage_no | No | realty_presale 응답의 공고 관리번호 — 알면 이걸로 특정하는 게 정확 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, but the description adds critical behavioral context: market_avg is an unfiltered regional average and should not be used as the primary baseline; comparable_complexes within comparison_by_size is to be prioritized. It also discloses the limitation that the average includes old complexes and thus does not reflect new-construction premium, and explicitly warns not to fabricate data ('지어내지 말 것').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average, but every sentence earns its place. It is front-loaded with the core purpose, then structured into clear sections: announcement identification, limitations, baseline priority, and comparisons to alternative tools. The formatting with line breaks and bold bullets improves scannability without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 optional params, multi-step invocation, multiple data-quality caveats, and references to output fields like comparison_by_size), the description is complete. It addresses all likely agent errors: guessing candidates, misinterpreting market_avg, overstating conclusions, and confusing the tool with siblings. An output schema exists, so return-value documentation is not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful parameter guidance beyond the schema by explaining the relationship between house_manage_no and region/keyword (house_manage_no is preferred if known), and the candidate-list behavior when multiple announcements match. This goes beyond simple field descriptions, though not exhaustively; for example, 'months' is not elaborated beyond the schema, but the core disambiguation logic is valuable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes whether presale prices are cheap or expensive relative to surrounding actual transaction prices per housing type. It uses a specific verb ('계산한다') and resource ('분양가 vs 실거래 시세'), and distinguishes itself from siblings by naming realty_subscription_odds and realty_presale_price_trend as the tools for different questions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly identifies the questions this tool answers ('이 청약 넣을 만해?', '분양가 적정해?') and directs users to realty_subscription_odds for competition rates and score cutoffs, and realty_presale_price_trend for price time series. It also gives disambiguation instructions (use house_manage_no if known, otherwise search by region+keyword, and if multiple candidates, pick one from the returned list rather than guessing).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_reconstruction[유료] 재건축 유망 단지ARead-onlyIdempotentInspect
[유료] 건령·거래활성 기반 재건축 후보 스크리닝 상위 단지를 조회한다.
점수 = 건령(최대 70, 30년 연한 기준) + 최근 12개월 거래활성 전국 백분위(최대 30).
사업성(용적률·대지지분·안전진단·조합 단계)은 반영되지 않는다 — 후보 발굴용이지
투자 판단 근거가 아니며, 응답의 disclaimer를 사용자에게 그대로 전하라.
(구버전 점수 포화로 2026-07-30 보류했다가 산식 v2 재계산 검증 후 재개 — DATA-060)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| district | No | 지역명 (예: 서울, 구로구). 비우면 전국 상위 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses the scoring formula (building age up to 70 points based on 30-year limit, transaction activity percentile up to 30) and what is not included (business feasibility). Annotations already declare readOnlyHint, and description adds context about version history and recalculation. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is structured with bullet-like points and front-loads the purpose. It includes necessary details (formula, limitations, version note) but is slightly verbose; could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity and presence of output schema, the description covers all essential aspects: purpose, inputs, scoring, limitations, and usage context. No missing critical information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (district described, limit not). Description adds context about '건령·거래활성 기반' but does not elaborate on how parameters affect results or provide additional meaning beyond schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb '조회한다' (queries) and resource '재건축 후보 스크리닝 상위 단지' (top complexes for reconstruction candidate screening). It distinguishes itself from siblings by specifying it is for candidate screening and not investment basis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explicitly states the tool is for candidate discovery, not investment decision, and that business feasibility factors are not reflected. It also instructs to convey the disclaimer to the user. However, it lacks explicit when-to-use vs alternatives like realty_redevelopment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_redevelopment[유료] 서울 재개발·재건축 사업장ARead-onlyIdempotentInspect
[유료] 서울시 정비사업(재개발·재건축·가로주택 등) 사업장 목록 — 사업명·유형· 진행 단계·위치. "○○구 재개발 어디까지 진행됐어?"류 질문용.
**커버리지는 서울 한정**(정보몽땅 원천) — 타 시도는 이 도구로 답할 수 없다고 밝혀라.
세대수·준공예정은 원천 목록이 제공하지 않아 null이다(지어내지 말 것). 진행 단계
필터는 미지원 — 결과의 stage 필드(한글: 조합설립인가·관리처분인가 등)로 판별하라.
재건축 **유망도 점수**는 이 도구가 아니라 realty_reconstruction이 담당하고,
"지금 사면 조합원 지위 승계돼?"는 realty_member_transfer_check(무료)가 담당한다.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | 페이지네이션 오프셋 | |
| sigungu | No | 시군구 (예: 강남구). 비우면 서울 전체 | |
| project_type | No | reconstruction=재건축, housing_redevelopment=재개발(주택정비형), urban_redevelopment=재개발(도시정비형), street_housing=가로주택정비, small_reconstruction=소규모재건축, small_redevelopment=소규모재개발, regional_housing=지역주택, remodeling=리모델링. 비우면 전체 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly, idempotent, not destructive), the description discloses key behavioral traits: Seoul-only coverage, null values for household count and completion dates, and unsupported stage filtering. These limitations are critical for correct agent behavior and are clearly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, stating the core purpose first, then limitations, then sibling differentiation. Every sentence adds value—no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 explain return values. It covers coverage boundaries, null behavior, filtering limitations, and points to the correct tools for related questions. This is sufficient for an agent to select and invoke the tool correctly in most scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, with sigungu, project_type, and offset already described. The description adds little to parameter semantics, though it does clarify that there is no stage filter parameter. Since the schema already carries most parameter meaning, a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists Seoul maintenance projects (redevelopment, reconstruction, street housing) with name, type, stage, and location. It also gives an example question type, and explicitly distinguishes itself from realty_reconstruction and realty_member_transfer_check, preventing confusion with siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance (Seoul-only coverage, questions about project progress), when-not-to-use (other regions, reconstruction attractiveness, member status transfer), and names the correct sibling tools. It also instructs the agent not to invent null fields and notes the lack of a stage filter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_redevelopment_burden정비사업 분담금 계산 — 선언된 감정평가액·비례율로 권리가액·분담금ARead-onlyIdempotentInspect
재개발·재건축 조합원의 권리가액과 추가 분담금(또는 환급금)을 결정론으로 계산한다 — 권리가액 = 종전자산 감정평가액 × 비례율, 분담금 = 조합원분양가 − 권리가액. "감정평가 3억에 비례율 98%면 얼마 더 내?"의 자리다.
경계를 지켜라: ① 입력 전부 **선언**이다 — 감정평가액·비례율은 조합 자료에서 가져와야
하고 서버는 검증하지 않는다. ② 이 산식은 법정 산식이 아니라 통용 실무 산식이며,
비례율은 관리처분인가 전엔 추정치라 준공까지 계속 변한다 — 응답의 sensitivity(비례율
±10%p 스윙)와 disclosures를 반드시 함께 전하라. ③ 산식 출처·변동 함정의 원문은
realty_policy_rules(topic=redevelopment_rules)의 proportion_formula가 진실원이다.
분양자격 자체가 불확실하면 topic=redevelopment_entitlement(갈림길 지도)부터.
| Name | Required | Description | Default |
|---|---|---|---|
| proportion_rate_pct | No | 비례율(%, 예: 102.5) — 조합 총회 자료·관리처분계획의 값을 선언. 없으면 아래 사업 전체 3종으로 계산한다 | |
| prev_asset_value_10k | Yes | 조합원 종전자산 감정평가액(만원) — 감정평가 결과이지 시세가 아니다 | |
| total_post_asset_10k | No | 종후자산 평가총액=분양수입 총액(만원) — 비례율을 직접 계산할 때 | |
| total_prev_asset_10k | No | 종전자산 평가총액(만원) — 비례율을 직접 계산할 때 | |
| member_sale_price_10k | Yes | 받으려는 주택형의 조합원분양가(만원) | |
| total_project_cost_10k | No | 총사업비(만원) — 비례율을 직접 계산할 때 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent), the description adds critical behavioral context: the tool performs deterministic calculation without server-side verification, the proportion rate is an estimate before management disposition approval and keeps changing, and the formula's origin and fluctuation pitfalls are documented in realty_policy_rules. This exceeds the minimal safety hint and gives the agent practical knowledge about reliability and limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and formula in the first paragraph, then uses a bulleted 'boundaries' list for warnings. Every sentence contributes meaning, though the text is dense and somewhat long. It could be slightly more compact, but the structure is logical and all content is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 need not explain return values. It covers the tool's role, calculation method, input declaration requirements, sensitivity/disclosure obligations, and linkage to authoritative sources. It even points to an alternative when qualification is uncertain. This is complete for a complex calculation tool given the rich schema and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter is already described in the schema. The description adds value by linking the parameters through the core formulas (e.g., how prev_asset_value_10k and proportion_rate_pct combine to produce 권리가액) and by hinting that proportion_rate_pct null triggers calculation from total_* fields. This goes beyond the schema but is not exhaustive, as the schema already covers most semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: calculating rights value (권리가액) and additional burden (분담금) for redevelopment/reconstruction union members. It provides the exact formulas (권리가액 = 종전자산 감정평가액 × 비례율, 분담금 = 조합원분양가 − 권리가액) and even an example question. This distinguishes it from sibling tools like realty_redevelopment or realty_reconstruction by focusing specifically on the burden calculation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '경계를 지켜라' section explicitly tells the agent when to use this tool and what to watch for: inputs are declarations with no server validation, the formula is a practical convention not a legal one, and the output must include sensitivity and disclosures. It also directs the agent to realty_policy_rules for the authoritative formula source and to topic=redevelopment_entitlement if qualification is uncertain, providing clear alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_region_price_stats지역 실거래 시세 통계ARead-onlyIdempotentInspect
지역의 아파트 실거래 시세 추이(월별)를 조회한다. 경매가가 싼지 판단하는 기준선이 된다.
**이 축의 자리(시세 도구 3종 중)**: 월별 흐름·방향이 필요할 때 이걸 쓴다. 지역의
가격 **수준**을 인용할 거면 realty_area_price_bands를 쓰라 — 이 축은 이상치(지분·
증여성 직거래)가 필터되지 않아 평균이 눌리며, **두 도구 값이 갈리면 bands 쪽이
정상 매매에 가깝다**(세종 소형 실측 4,400만원 차). 단지가 특정된 질문("○○아파트
얼마야")은 realty_search_complexes가 기본이다 — 지역 평균은 단지 간 편차(같은 동
같은 평형에서 단지 평균 24% 차)를 뭉갠다.
region은 시군구명(예: '강남구') 또는 **법정동까지**(예: '강남구 대치동',
'세종특별자치시 나성동') — 세종처럼 시군구가 하나인 도시는 동 단위로 좁혀야 신도심·
구도심이 섞이지 않는다(2026-08-08, 8/7 테스터 제안 수용). 동명 지역이 여럿이면
시도를 앞에 붙여라 — 안 붙이면 거래량 최다 지역 기준으로 답하고 region_candidates로
나머지 후보를 실토한다(그 목록을 사용자에게 전달할 것).
metric: price(매매) | rental(전월세). rental도 **months 창 월별 추이**(monthly_trend:
전세 평균·중앙, 월세 보증금·월세, 건수 분리)를 준다 — "전세 떨어지는 중이야?",
역전세 판단용(입주 물량은 realty_move_in_supply와 조합). 상단 필드는 최신월 스냅샷.
평수는 둘 중 사용자가 쓴 쪽에만 넣는다:
- pyeong_supply: 분양평수(공급면적). 흔히 말하는 "34평"이 이것이다 — 내부에서 ×0.745로 환산한다.
- pyeong_exclusive: 전용면적 기준 실평수. 이 데이터의 원래 기준이다.
| Name | Required | Description | Default |
|---|---|---|---|
| metric | No | price=매매, rental=전월세 | price |
| months | No | 조회 개월 수 | |
| region | Yes | ||
| pyeong_supply | No | ||
| pyeong_exclusive | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with annotations (readOnly, idempotent, non-destructive), the description adds substantial behavioral context: outlier filtering is not applied (so averages can be depressed), divergence between tools is resolved in favor of bands, ambiguous region resolution defaults to highest-volume area and exposes region_candidates, and pyeong_supply is internally converted by ×0.745. No contradictions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with bold labels, bullet points, and practical examples, but contains an internal testing note ('2026-08-08, 8/7 테스터 제안 수용') that is irrelevant for an AI agent. Otherwise every sentence earns its place, and the length is justified given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all key aspects: purpose, sibling differentiation, regional disambiguation, metric variants, rental trend fields, pyeong handling, and integration with other tools. Given the output schema exists (though not shown), the description need not explain return values, and it is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40% (metric and months have descriptions; region and pyeong fields do not). The description compensates richly: region examples, legal-dong granularity, ambiguity handling; metric explains rental returns monthly_trend breakdown; pyeong_supply clarifies it means '34평' and the conversion factor; pyeong_exclusive is noted as the original data standard. All params are meaningfully elaborated beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource+scope: '지역의 아파트 실거래 시세 추이(월별)를 조회한다' (queries monthly apartment transaction price trends by region). It also explicitly distinguishes itself from siblings (realty_area_price_bands, realty_search_complexes) by naming them and clarifying the different use cases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use and when-not-to-use guidance: use for monthly trends/direction, use realty_area_price_bands for price levels, use realty_search_complexes for complex-specific questions. It also suggests combining with realty_move_in_supply for reverse-jeonse analysis, giving clear decision rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_region_rankings지역 순위 (시세·상승률·전세가율·교통·학군)ARead-onlyIdempotentInspect
지역(시군구) 순위를 조회한다 — "제일 비싼 동네 어디야?", "요즘 많이 오른 지역은?", "전세가율 높은 곳은?"류 질문용.
price=거래량 가중 전용 평당가(최소 5건, 최신월은 집계 진행 중일 수 있음) ·
growth=전용 60-85㎡ 고정 YoY(평형 구성 왜곡 제거) · transit/school=단지 점수의 시군구
평균. **investment는 원천 정지·기준월 혼재로 보류 중**(호출 시 대안 안내 —
전세가율은 realty_rental_yield). 응답 methodology의 산식·단위를 답변에 반영하라.
비교 대상이 두어 곳으로 정해진 질문("A vs B 어디가 나아?")은 [유료]
realty_compare_regions가 시세·추이를 나란히 준다 — 이 도구는 순위·탐색용이다.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| order | No | desc=상위부터, asc=하위부터 | desc |
| metric | Yes | price=전용 평당가 / growth=연간 상승률 / investment=전세가율·갭투자 / transit=교통 점수 / school=학군 점수 | |
| region | No | 시도명(예: 부산)이면 그 시도 안 순위, 시군구명이면 해당 지역 필터. 비우면 전국 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses data quality and methodology nuances beyond annotations: price uses a minimum of 5 transactions and may have incomplete data for the latest month; growth uses a fixed 60-85㎡ YoY to avoid distortion; transit/school are averages of complex scores; investment is suspended and will guide alternatives. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured. Each sentence provides unique value: purpose, metric definitions, limitations, instructions for using responses, and alternative tools. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all critical aspects: what the tool does, metric semantics, data caveats, alternative tools, and how to interpret responses. The presence of an output schema reduces the need to explain return values, and the description fills the remaining gaps effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant detail beyond the input schema: it explains the exact calculation for price (volume-weighted avg price per pyeong, min 5 transactions), growth (fixed 60-85㎡ YoY), and transit/school (average of complex scores). It also clarifies the 'investment' metric's current status, something the schema does not reveal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: queries region (si/gun/gu) rankings, and lists example questions like 'Where is the most expensive neighborhood?' and 'Which region has risen a lot?'. It explicitly distinguishes itself from the sibling realty_compare_regions, making the intended scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to use this tool vs alternatives. It states that for fixed A/B comparisons, realty_compare_regions should be used, and that this tool is for ranking/exploration. It also gives a specific alternative for the 'investment' metric (realty_rental_yield) and warns about its suspended status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_region_trend_basket지역 추이 — 동일 단지 고정 바스켓 (구성 변화 제거)ARead-onlyIdempotentInspect
지역 가격 추이를 양쪽 창에 모두 거래가 있는 동일 단지들로만 계산한다.
**왜 필요한가**: 구 월평균 추이는 '가격이 변한 것'과 '팔린 단지가 바뀐 것'을 구분하지
못한다. 표본이 얇으면 후자가 지배하는데, 그걸 시세 변동으로 읽으면 오답이다
(2026-08-14 실사고: 용산 33평 월 1~7건 표본으로 '전년 대비 −9.6%'를 만들었다).
이 도구는 **naive(전체 평균 변화)와 basket(동일 단지 변화)을 나란히** 주고 그 차이를
`composition_effect`로 보여준다 — 차이가 크면 그 지역 평균 추이는 구성 잡음이다.
단지별 값은 **평당가**라 단지 안의 평형 구성 변화도 흡수한다.
한계를 반드시 함께 전하라: 바스켓이 얇으면(단지 수가 적으면) 이 값도 못 믿는다.
취소·직거래는 제외했고, 단지 내 동·층 구성 변화까지는 보정하지 못한다.
| Name | Required | Description | Default |
|---|---|---|---|
| region | Yes | 시군구명 (예: 용산구, 성동구) | |
| pyeong_band | No | pyeong_supply 기준 허용 폭(±평). 넓히면 바스켓이 커지고 평형 혼합이 늘어난다 | |
| pyeong_supply | No | 분양평(사용자가 말하는 '34평') 필터 — ±3평 창으로 거른다. **좁힐수록 바스켓이 얇아져** 고정 바스켓의 이점이 사라지니 응답의 바스켓 단지 수를 반드시 확인하라 | |
| window_months | No | 비교 창 하나의 길이(개월). 최근 N개월 vs 그 직전 N개월을 비교한다 | |
| min_tx_per_complex | No | 바스켓에 넣을 단지의 창당 최소 거래 건수 — 1이면 바스켓이 커지지만 단지별 값이 한 건에 좌우된다 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/idempotentHint annotations, the description discloses exclusions (취소·직거래 제외), limitations (동·층 구성 변화 미보정), and methodological details (평당가, composition_effect). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (core method, why needed, limitations) and every part earns its place. The concrete example is relevant and illustrative, though the text is slightly longer than the two-sentence ideal; still appropriately sized for a tool with these caveats.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, methodology, exclusions, limitations, and output concepts (naive, basket, composition_effect). Since an output schema exists, omitting return-value details is acceptable. The tool's complexity is well addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with rich descriptions for all five parameters, so the baseline is 3. The main description adds context about basket thickness and how narrowing pyeong_supply weakens the fixed-basket benefit, but it does not systematically elaborate on each parameter, so no bonus beyond baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes regional price trends using only complexes with transactions in both windows (fixed basket), and contrasts this with naive monthly averages. The title and opening sentence give a specific verb, resource, and method, distinguishing it from sibling tools like realty_region_price_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '왜 필요한가' section explicitly explains when this tool is needed: when naive monthly averages confound price changes with composition changes, especially with thin samples. It also provides a clear when-not by warning '한계를 반드시 함께 전하라: 바스켓이 얇으면... 이 값도 못 믿는다', and gives a concrete example of a misleading result without this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_rental_yield[유료] 전월세 수익률ARead-onlyIdempotentInspect
[유료] 시군구별 월세 수익률·평균 매매가·평균 월세를 조회한다. 수익형 투자 스크리닝용.
기본 응답은 최신 완결월 1개월치를 수익률 내림차순으로 자른 것이다 — 전체 기간·전체
지역이 아니다(truncated 필드 확인). 특정 월은 year_month로 조회하라.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 반환 행 수 — 수익률 내림차순 상위 N | |
| region | No | 시도(예: 서울특별시) 또는 시군구(예: 강남구). 세종은 시 단위로 나온다 | |
| year_month | No | YYYYMM (기본 최신 완결월) | |
| pyeong_supply | No | 분양평수 20/25/34/40/50 중 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key behavioral trait not captured by the read-only/idempotent annotations: the default response is a truncated slice of only the latest completed month, sorted by yield descending, not all periods or regions. It also flags the 'truncated field' for verification, which is important for correct interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the core function, the second explains the crucial default truncation behavior and how to override it. Each sentence adds value, and the most important caveat (truncated response) is prominently placed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential information: paid nature, data scope, default behavior, and month override. Given that the output schema exists and annotations declare safety, the description is sufficient for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for all four parameters. The description adds behavioral context by stating that a specific month should be queried via year_month, and that the default is the latest completed month. This reinforces the year_month parameter's role, though it does not add new parameter-level syntax or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it queries '시군구별 월세 수익률·평균 매매가·평균 월세' (rental yield, average sale price, average rent by city/county/district). It also labels it for '수익형 투자 스크리닝' (yield investment screening), which distinguishes it from sibling tools that focus on auctions, price bands, or macro indicators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage context: it is for yield-oriented investment screening. It also instructs how to query a specific month using year_month. However, it does not explicitly state when not to use this tool or mention alternatives, so it falls short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_search_auctions경매 물건 조건 검색ARead-onlyIdempotentInspect
법원경매 물건을 지역·종류·감정가·유찰횟수로 필터링해 조회한다.
**법원경매(대법원)만 담고 있다 — 공매(온비드·캠코)는 이 원장에 없다.** 여기서 안 나온다고
"그런 물건 없다"고 답하지 마라. 공매면 온비드에서 확인해야 한다고 말하는 것이 정답이다
(2026-08-17 실측: 공공데이터포털 온비드 서비스는 우리 계정에 활용신청이 안 돼 있다).
감정가(min_price_10k/max_price_10k)는 **만원** 단위다 — 5억은 50000.
유찰이 많을수록 최저입찰가가 감정가 대비 낮아진다(`min_bid_rate`가 그 비율).
⚠️ **이 목록에는 매각기일이 이미 지난 행이 섞여 있다**(백엔드가 기일로 걸러주지
않는다 — 인천 아파트 3억 이하 실측 48건 중 43건이 지난 기일). 지난 기일 행에는
`past_auction_note`가 붙고 응답의 `past_auction_count`가 그 페이지의 건수다.
"지금 살 수 있어?"류 질문이면 `exclude_past=true`로 걸러라 — 지난 기일 물건은
매각·취하됐거나 다음 기일이 아직 반영되지 않은 것이라 현재 매물로 인용하면 오답이다.
⚠️ **최저입찰가는 출처를 반드시 확인해라** — 건별 `min_bid_source`가 붙는다.
· `court_schedule` — 법원 기일표 정본이다. 그대로 믿어도 된다(활성의 28.8%).
· `item_list` — 물건목록값이다. 유찰이 있으면 **저감 한 단계만큼 낡아 실제보다
높을 수 있다**(2026-08-04 실측: 유찰 1회 이상에서 정본과 3%만 일치, 25~43% 과대).
이 경우 `min_bid_note`가 함께 온다. 사용자에게 단정적으로 말하지 말고 그 한계를
전해라. 저감률로 역산해 추정하지 마라 — 재감정으로 최저가가 **오르는** 사건도 있다.
응답의 `min_bid_stale_risk_count`가 그 페이지에서 낡았을 수 있는 건수다.
회차별 정확한 가격은 realty_auction_history의 court_schedule에 있다.
목록에는 요약 필드만 담긴다. 특정 물건의 전체 정보(면적·법원 계·주소 상세 등)는
돌아온 id로 realty_get_auction_case를 호출해 받아라.
"유찰 많이 돼 싸진 물건 찾아줘"류 발굴 질문은 realty_auction_alerts가 지름길이다
(min_fail_count로 여기서 걸러도 같은 축 — 결과를 합쳐 세지 마라).
| Name | Required | Description | Default |
|---|---|---|---|
| sido | No | 시도. '서울'처럼 줄여 써도 되고 '서울특별시'도 된다. | |
| sort | No | 정렬 기준 | date_desc |
| limit | No | 반환 개수 (최대 50) | |
| offset | No | 페이지 오프셋. has_more가 true면 next_offset으로 다시 호출하라. | |
| sigungu | No | 시군구 (예: 강남구, 성남시) | |
| usage_name | No | 물건 종류 (아파트, 오피스텔, 다세대, 단독주택, 상가, 토지 등) | |
| exclude_past | No | 매각기일이 이미 지난 행 제외 여부. 기본 False(전체 반환 — 지난 기일 행에는 past_auction_note 플래그가 붙는다). '지금 입찰 가능한 물건' 질문이면 True로 호출하라 — 오늘 이후 기일(기일 미정 포함)만 남는다. | |
| max_price_10k | No | 최대 감정가, **만원** 단위 | |
| min_bid_count | No | 최소 유찰 횟수. 유찰이 쌓일수록 최저입찰가가 내려간다. | |
| min_price_10k | No | 최소 감정가, **만원** 단위 (5억이면 50000) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already promise readOnly/openWorld/idempotent, but the description goes far beyond: it reveals that past-auction rows are mixed in and backend doesn't filter them, discloses min_bid_source caveats with measured percentages (28.8%, 3%, 25~43%), warns that min bid can be stale or even rise due to re-appraisal, and explicitly states the open-world behavior '여기서 안 나온다고 그런 물건 없다고 답하지 마라'. No contradiction with annotations; substantial added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every section earns its place: front-loaded purpose, then critical caveats (past auctions, min_bid_source), then cross-reference to related tools. Bold warnings and bullet-like lists ('· court_schedule', '· item_list') make it scannable despite length. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter search tool with output schema, the description covers filtering semantics, pagination via next_offset, data-quality warnings (past_auction_count, min_bid_stale_risk_count), return-level guidance (only summary fields, call realty_get_auction_case for full info), and sibling-tool routing. It anticipates realistic agent and user queries and closes gaps that annotations and schema leave open.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds essential meaning: min_price_10k/max_price_10k are in 만원 units (5억=50000), min_bid_count affects minimum bid, exclude_past controls inclusion of past-auction rows and attaches past_auction_note, and min_bid_source distinguishes court_schedule from item_list with accuracy implications. This is far beyond the terse schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with '법원경매 물건을 지역·종류·감정가·유찰횟수로 필터링해 조회한다', clearly stating the tool's action, resource, and filtering dimensions. It distinguishes itself from siblings like realty_auction_alerts ('유찰 많이 돼 싸진 물건' discovery) and realty_get_auction_case (full case details), making its role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit routing rules: states 공매/온비드 is not in this ledger and instructs agents to direct users to 온비드 instead of claiming no match. Recommends exclude_past=true for '지금 살 수 있어?' queries, and points to realty_auction_alerts for item-finding questions and realty_auction_history for exact failing-bid prices. This is a model of when-to-use vs alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_search_complexes아파트 단지 검색·평형별 시세ARead-onlyIdempotentInspect
아파트 단지를 이름·지역으로 검색하고 평형별 실거래 시세를 함께 돌려준다. "○○아파트 34평 얼마야"류 단지 질문의 1차 도구다. query·region 중 하나는 필수.
**이 축의 자리(시세 도구 3종 중)**: 단지가 특정되면 **이게 기본**이다. 지역 평균
도구들(realty_region_price_stats·realty_area_price_bands)은 단지 간 편차를 뭉개므로
단지 질문에 쓰지 마라 — 같은 동 같은 평형에서 단지 평균이 24% 벌어진 실측이 있다
(동 평균 3.96억으로 답했다가 대장 단지 호가와 1억 어긋난 사고). 반대로 지역 전체의
수준·추이 질문이면 저 둘로 가라.
prices_by_area가 평형별 시세다 — pyeong_exclusive(전용평)와 pyeong_supply_est(분양평
어림)를 병기하므로, 사용자가 말한 "34평"(보통 분양평)은 pyeong_supply_est로 맞춰 답하라.
단지 수준 avg_price는 전 평형이 섞인 평균이니 평수 질문에 쓰지 말 것.
층별(저층/고층/RR) 시세·프리미엄 질문은 realty_complex_pyeong_price로 —
거기 층 밴드별 집계(price_by_floor_band)가 있다(이 도구엔 층 축이 없다).
응답의 complex_key는 realty_complex_rent_by_pyeong·[유료] 단지 도구들에 그대로 넣는 키다.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 0부터 시작하는 페이지 번호 | |
| sort | No | name=이름순, price=평균가 높은순, year=준공연도 | name |
| limit | No | 단지 수 — 평형별 시세가 포함돼 응답이 무겁다 | |
| query | No | 단지명 일부 (예: 래미안, 마포래미안푸르지오) | |
| region | No | 시군구명 (예: 마포구, 서울특별시 마포구) | |
| period_months | No | 가격 집계 기간(개월). 비우면 2024-01 이후 전체 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavioral context beyond the read-only/idempotent annotations: requires at least one of query or region, explains that complex-level avg_price is a mixed average not suited for pyeong questions, notes the absence of a floor axis, and describes how complex_key integrates with other tools. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and structured with bold headers for readability. Every sentence adds value, including the illustrative example of why regional tools fail for complex queries. The length is justified by the density of actionable guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Highly complete given the rich output schema and annotations. Covers sibling differentiation, usage constraints, interpretation of returned fields, and integration with other tools via complex_key. No important aspect seems missing for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Even with 100% schema coverage, the description adds essential parameter semantics: specifies that query or region is mandatory (not in schema), explains how to match user's '34 pyeong' to pyeong_supply_est, and warns against using avg_price. This significantly exceeds schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it searches apartment complexes by name/region and returns actual transaction prices by pyeong size. Identifies itself as the primary tool for specific complex questions, distinguishing it from regional average tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says this is the default when a complex is specified and warns against using regional average tools for complex questions, with a concrete example of a 24% discrepancy. It also directs floor-specific questions to realty_complex_pyeong_price and regional questions to the other two tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_subscription_odds청약 경쟁률·당첨 가점 — 내 가점으로 되나ARead-onlyIdempotentInspect
청약 경쟁률과 실제 당첨 가점 커트라인을 낸다 — "나 가점 52점인데 당첨될까?"의 정량 근거. 가점 자체를 모르는 사용자는 realty_subscription_score(무주택·부양가족·가입기간 선언 → 배점표 적용)로 먼저 점수를 만들어 my_score로 넘겨라.
**비어 있으면 왜 비었는지부터 읽어라(2026-08-20 축 신설).** 이 축의 원천은 주 1회 수집
이라 "아직 공표가 안 됐다"와 "공표는 됐는데 우리가 아직 안 걷었다"가 똑같이 빈 배열로
보인다 — 실측(공고 2026000323)에서 청약홈엔 1순위 경쟁률 4.33·12.90·15.55가 이미
공표됐는데 우리 응답은 by_house_type=[]였다. `freshness_verdict.verdict`가 그 둘을
가른다: `not_yet_published`(접수가 안 끝났다 — 없는 게 정상) · `not_yet_collected`
(**우리 미수집이다. 절대 '경쟁률이 없다'고 답하지 말고 check_url로 안내하라**) ·
`unknown`(못 가른다) · `not_published` · `collected`. 대조 재료인 접수 종료일은
announcement.rcept_endde·freshness_verdict.apply_end에 있다.
result_status의 뜻은 응답의 `result_status_legend`가 정본이다(`special_only`는 일반공급
결과가 아직인데 특별공급 신청현황만 온 상태 — '결과 없음'이 아니다).
두 가지 경로를 자동으로 고른다:
1) 결과가 발표된 공고 → 그 단지의 주택형별 1순위 해당지역 경쟁률·당첨 최저/평균/최고 가점.
2) 아직 접수 전이라 결과가 없는 단지 → 같은 지역 최근 공고들의 실제 커트라인 분포
(regional_benchmark). **다른 단지의 실적이다** — 질의 단지의 예상 커트라인이
아니라는 점을 반드시 함께 말하라. 분위수를 인용하기 전에
distinct_complex_count·samples_by_complex를 먼저 보라 — 단지가 1~2곳이면
그건 지역 분포가 아니라 한 단지 안의 주택형 편차다
(warning_sample_concentration이 붙는다).
**시도 하나로 답하지 마라(2026-08-16 축 신설).** 아파트는 시군구·평형·시기·가격대로 갈린다 —
실측(서울 최근 2년): 은평 전용 59㎡ 커트라인 중앙 45점 vs 강남 59㎡ 74점(29점 차),
연도별 중앙값 2022년 50점 → 2025년 69점, 2025년 분기별 69/66.5/56/70.
그래서 "내 가점으로 어디까지 되나"류에는 breakdown='sigungu'(+ area_band, 예산이 있으면
budget_max_10k)를, "언제가 쌌나"류에는 breakdown='quarter'|'year'를 써라.
사용자가 예산을 말했는데 budget_max_10k를 안 넣으면 **살 수 없는 단지가 섞인 답**이 나간다.
지어내지 말 것: 이 도구는 당첨 확률을 계산하지 않는다(가점 동점자 처리·특별공급 비율·
추첨제 물량은 데이터에 없다). 낼 수 있는 건 "과거 커트라인 대비 내 점수의 위치"까지다.
커트라인이 null인 칸은 0점이 아니라 당첨자 없음/가점제 미적용이다(score_status 참조).
분양가가 적정한지까지 물으면 realty_presale_vs_market을 이어서 쓰라.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | 시도 (예: 서울, 경기, 세종) | |
| keyword | No | 단지명·주소 부분일치 (예: '월계 중흥') | |
| sigungu | No | 시군구 정확한 이름 (예: 노원구, 수원시). 벤치마크를 좁힐 때 쓴다 — 표본이 0이면 시도 단위로 넓혀라 | |
| my_score | No | 내 청약 가점(0~84점). 주면 실제 커트라인과 점수 차를 계산해 준다 | |
| area_band | No | 전용면적대로 좁힌다. 같은 구 안에서도 평형이 바뀌면 커트라인이 움직인다(실측: 노원 59㎡ 58.5점 vs 60~84㎡ 59점, 동작은 반대로 84㎡ 62점·59㎡ 64점) | |
| breakdown | No | 분포를 쪼갤 축. **시도 하나로 답하지 마라** — 서울 은평 전용 59㎡ 커트라인 중앙 45점, 강남 59㎡ 74점으로 같은 시도 안에서 29점이 갈린다. '어디까지 되나'류 질문에는 sigungu, '언제가 쌌나'는 quarter·year를 쓴다 | |
| since_years | No | 지역 벤치마크에 쓸 최근 기간(년). 커트라인은 시장 사이클을 타므로 기본 3년 | |
| budget_max_10k | No | 예산 상한 — 분양 최고가(만원) 기준. 사용자가 '9억까지'라고 하면 90000. 가점만으로 답하면 살 수 없는 단지가 섞인다 | |
| budget_min_10k | No | 예산 하한(만원) | |
| house_manage_no | No | realty_presale 응답의 공고 관리번호 — 알면 이걸로 특정하는 게 정확 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and idempotentHint=true, but the description goes far beyond these: it exposes the freshness ambiguity (empty arrays can mean not_yet_published vs not_yet_collected and how to disambiguate via freshness_verdict), warns that regional benchmarks reflect other complexes' performance, alerts about sample-concentration pitfalls, and explains that null cutoffs mean 'no winner/not applicable' not zero. This is rich behavioral context that annotations alone cannot provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and well-structured with bolded warnings and clear numbered path explanations. While long, every sentence earns its place by providing essential operational guidance (collection frequency, failure modes, measurement evidence). The front-loading of critical caveats (empty-check first, don't answer with a single city) makes it scannable. A slight trim of spacing and bold styling could improve readability, but content-wise it is appropriately sized for a tool of this complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 10 parameters, no required fields, and a rich output schema, the description is exceptionally complete. It covers execution paths, freshness semantics, sample-size warnings, result interpretation (result_status_legend), and explicitly states what the tool cannot do (calculate win probability due to missing data). It references output schema fields appropriately and provides actionable protocols for common user questions without needing additional documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While schema description coverage is 100%, the tool description adds substantial meaning beyond schema text: for breakdown it provides concrete measurement evidence (Seoul Eunpyeong 45 vs Gangnam 74 points) to guide parameter selection; for budget_max_10k it warns that omission yields answers with unaffordable complexes; for sigungu it advises widening to province level when samples are zero. This deepens agent understanding of when and why to set each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool computes subscription competition rates and actual winning score cutoffs, with two distinct execution paths (published results vs. regional benchmarks). It clearly distinguishes itself from siblings like realty_subscription_score (which generates a user score) and realty_presale_vs_market (for price adequacy), and explicitly instructs users when to chain to those tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides exceptionally detailed usage guidance: instructs users who lack a score to first call realty_subscription_score, tells when to use breakdown='sigungu' vs 'quarter'/'year' with concrete measured examples, warns against single-city answers and against omitting budget_max_10k when a budget is mentioned, and specifies when to chain to realty_presale_vs_market. Explicitly names alternatives and exclusion conditions, e.g., 'not a probability calculator' and 'never answer no competition when it's a collection gap'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_subscription_score청약 가점 계산 — 선언된 기간·인원에 배점표(84점) 적용ARead-onlyIdempotentInspect
민영주택 일반공급 가점제 점수(만점 84)를 선언된 값에 배점표를 적용해 계산한다 — 무주택기간 32 + 부양가족 35 + 통장 가입기간 17. "내 청약 가점 몇 점이야?"의 자리다.
경계를 지켜라: ① 세 입력 전부 **선언**이다 — 기산점·부양가족 인정은 등본·혼인관계
사실판단이라 서버가 판정하지 않고, 응답 traps(오기입=부적격 당첨 취소 사유)를 반드시
함께 전하라. ② 산출 점수는 realty_subscription_odds의 my_score로 넘겨 당첨 커트라인과
비교하는 것이 다음 수다. ③ 배점표 원문·기산 규칙은
realty_policy_rules(topic=subscription_account)가 진실원이다.
| Name | Required | Description | Default |
|---|---|---|---|
| is_homeowner | No | 현재 유주택 여부 — True면 무주택기간 점수가 0점이 된다(소형·저가주택 등 무주택 간주 예외 해당 여부는 사실판단이라 호출자가 반영해 선언) | |
| account_years | Yes | 청약통장 가입기간(년, 소수 허용 — 예: 0.4=약 5개월). 전환 통장은 종전 통장 최초 가입일 기준 | |
| no_house_years | Yes | 무주택기간(년, 소수 허용 — 예: 7.5). 기산점(만 30세 vs 혼인신고일, 유주택 이력 재기산)은 사실판단이라 호출자가 확정해 선언한다 — 응답의 traps를 함께 전하라 | |
| dependents_count | Yes | 부양가족 수(본인 제외). 직계존속 3년 동거·30세 이상 미혼자녀 1년 동거 등 인정 요건은 사실판단 — 확정해 선언한다 | |
| under30_unmarried | No | 만 30세 미만 미혼 여부 — True면 무주택기간 점수가 0점이 된다(무주택기간 기산 전) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses that the server does not verify declaration facts (base point, dependent recognition) and that the response includes traps for incorrect entries that can cause disqualification. It also flags conditions like is_homeowner/under30_unmarried zeroing out the no-house score, adding behavioral context not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently organized with bolded key terms and a numbered list for boundaries. Every sentence adds value: introducing the tool, explaining the declaration concept, warning about traps, and linking to related tools. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description correctly focuses on usage context rather than return values. It covers the tool's purpose, the declarative nature of inputs, the trap mechanism, integration with realty_subscription_odds, and the authoritative source of rules, making it fully sufficient for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the schema already covers all parameters, the description adds semantic meaning by explaining the scoring weights (32+35+17), clarifying that all values are declarations, and noting how is_homeowner/under30_unmarried affect the no-house period score. This goes well beyond the baseline and enriches the agent's understanding of how the inputs should be handled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the merit-based score for private housing general supply (max 84) by applying a scoring table to declared values, breaking down the weights (no-house 32, dependents 35, account 17). It explicitly positions itself as the place for '내 청약 가점 몇 점이야?' and distinguishes itself from siblings like realty_subscription_odds and realty_policy_rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit usage boundaries shown as numbered items: all three core inputs are declarations and the server does not judge factual determinations; it names the next step of passing the score to realty_subscription_odds' my_score; and it directs users to realty_policy_rules(topic=subscription_account) as the source of truth for the scoring table.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
realty_supply_pipeline공고 전 공급 파이프라인 — 사업승인 기준 예정 물량ARead-onlyIdempotentInspect
아직 분양 공고가 안 난 예정 공급을 사업계획승인 기준으로 본다 — "지금 넣을까, 다음 걸 기다릴까", "이 동네 앞으로 입주 폭탄 있나"류 질문의 자리.
청약홈(realty_presale·realty_move_in_supply)은 **모집공고일에야** 등록되므로 공고 전
물량이 구조적으로 안 보인다. 이 도구의 원천은 주택법 **사업계획승인**이라 공고 2~3년
전 단계가 잡힌다: 사업명·세대수·승인일·착공예정일·사용검사 예정일(=예상 입주).
재당첨 제한(분양가상한제 단지는 10년)·전매제한이 걸린 결정에서는 **대안 정보가 없으면
"지금 아니면 끝"이라는 잘못된 압박**이 생긴다 — 청약 상담이면 이 도구를 함께 불러라.
두 축을 **더하지 마라**(이중계상) — 이미 공고가 난 단지도 승인 목록에 남아 있다.
**이미 모집공고가 난 사업**은 블록 표기가 겹치면 행에 `announced_notice`가 붙는다 —
그 행은 '다음 분양'이 아니라 realty_presale·realty_subscription_odds의 영역이다.
표식이 없어도 기공고일 수 있다(meta.announced_cross_check 참조).
승인 전(지구계획·공모) 물량은 여기에도 없으니 이 값도 하한이다(`interpretation`).
**층수 축(2026-08-20 신설)**: `max_floor`·`min_floor`는 사업계획승인 시점의 **계획**
층수다(변경승인으로 움직인다 — 준공 확정층수가 아니고, 출처는 `max_floor_source`).
`min_floor`는 그 사업의 공동주택 주건축물 중 가장 낮은 동이라 **실제로 그 층수의 동이
있다**는 뜻이고, 저층 선호(고소공포)·고층 조망 상담의 근거가 된다. 값이 비면
**'저층'으로 읽지 말고** 행의 `max_floor_absent_reason`을 그대로 전하라(아직 동
등록 전이거나 3차 수집 전이다). `business_body`(사업주체·시공사)는 미준공 구간에서
**구조적으로 빈다** — 준공 후 등록되는 원장에만 있어 3차로도 안 메워진다.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 사업 목록 상한 (기본 30) | |
| to_ym | No | YYYYMM (기본 from_ym+60개월) | |
| region | No | 지역 — 시도·시군구·동 부분일치 (예: '세종', '세종특별자치시 합강동', '수원시') | |
| from_ym | No | YYYYMM (기본 이번 달) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations (readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false), the description adds critical behavioral context: structural incompleteness of business_body until completion, floor values being planned (not confirmed) max/floor tiers, absence semantics (max_floor_absent_reason to be passed verbatim, don't interpret as 'low floor', business_body structurally empty), meta.announced_cross_check for cross-validation. These are behaviors beyond what annotations declare and significantly aid correct interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The Korean description is dense but highly informative - every sentence earns its place, covering core purpose, sibling differentiation, usage context, data sourcing, field semantics, and behavior notes. The structure uses bold for key claims and clear topic breaks. Length is justified by the richness of content; could be trimmed slightly but it's intentionally a knowledge-heavy real estate tool. The 2026-08-20 dated note is a nice touch for freshness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema (not shown here but flagged as existing), the description explains return semantics: interpretation of min_floor, max_floor_source origin, announced_notice field meaning, meta.announced_cross_check, empty-value semantics (business_body structurally empty, max_floor absent reasons). It covers edge cases (pre-approval as lower bound, double-counting risk, cross-referencing with realty_notice_text/other tools). Extremely complete for a complex real-estate tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all 4 params described with Korean descriptions including defaults). The description adds context on how parameters interact: region uses partial match examples, to_ym defaults to from_ym+60개월, from_ym defaults to current month. It doesn't add syntax beyond examples but the schema descriptions are already specific. The description reinforces 'don't add two axes' but not directly param-related. Slight deduction for not explaining how limit interacts with result ordering or pagination, but overall solid.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('본다' - looks at) with explicit resource: pre-announcement supply based on business plan approval. It distinguishes from siblings by naming realty_presale and realty_move_in_supply which only record post-announcement supply, and provides specific use cases ('지금 넣을까, 다음 걸 기다릴까', '이 동네 앞으로 입주 폭탄 있나'). The title supports this (공고 전 공급 파이프라인).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Excellent guidelines: explicitly says to use this tool when consulting on subscription apply-or-wait decisions, mentions it complements realty_presale and realty_subscription_odds for already-announced projects, explains the cross-check meta.announced_cross_check, warns against double-counting, and clarifies pre-approval supply is a lower bound. It also provides guidance on new floor dimension handling with max_floor_absent_reason.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_issue답변 오류 신고AInspect
답이 틀렸을 때 신고하거나(kind='결함'), 남길 값이 있는 질문 원문을 기록한다(kind='질문기록').
**결함**: 사용자가 "그거 틀렸다", "이상하다", "숫자가 안 맞는다"고 하면 **먼저 이 도구를
호출한 뒤** 정정 답변을 하라. 신고는 서버 운영자에게 전달되어 실제 수정에 쓰인다.
사용자가 지적하지 않았는데 추측으로 부르지는 말 것.
**질문기록**: 이 서버는 클라이언트가 이미 도구 호출로 번역한 뒤를 보므로 **사용자의 원문
질문을 볼 수 없다**. 그래서 어떤 질문이 실제로 오는지, 무엇을 못 답하는지가 계측에 안 잡힌다.
복합 질문·부분 답변·전제 오류 셋 중 하나면 원문(일반형으로 치환)을 남겨라 — 질문은행과
로드맵의 원천이 된다. **개인 식별 조합은 반드시 일반형으로 바꿔서** 넣는다.
두 종류가 한 도구인 이유: 무인증 공개 서버라 쓰기 표면을 하나로 묶어 상한을 함께 건다
(CLAUDE.md 규칙 2). 시간당 상한도 공유한다.
**이 도구는 일일 조회 한도(quota) 밖이다** — 다른 도구가 `quota_exceeded`로 막혀도
신고는 접수된다(2026-08-18 수리). 한도를 다 쓴 사람의 신고가 못 오면 우리는 우리가
못 본 것을 영영 모른다. 남용 방지는 시간당 상한(전체 60건·발신자당 20건)이 진다.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | '결함'=답이 틀렸다는 신고(기본). '질문기록'=틀리진 않았지만 **질문 원문을 남길 값이 있는 경우** — 서버는 클라이언트가 번역한 도구 호출만 보고 원문 질문을 볼 수 없어서, 이게 유일한 통로다. **아무 질문이나 남기지 마라**: ①여러 도구를 엮어야 답이 된 복합 질문 ②우리 도구로 일부만 답한 질문(answered_fully=false) ③사용자의 전제가 틀려서 바로잡아야 했던 질문 — 셋 중 하나일 때만. 단순 조회 한 건은 남기지 않는다 | 결함 |
| problem | No | 무엇이 틀렸는지. 사용자가 지적한 말을 그대로 옮겨도 된다. kind='결함'이면 필수, kind='질문기록'이면 비워도 된다. | |
| expected | No | 사용자가 맞다고 본 값이 있으면 | |
| question | No | 사용자의 **원래 질문**(kind='질문기록'이면 필수). ⚠️ **개인 식별 조합은 일반형으로 치환해서 넣어라** — 소득·보유자산·보유단지·거주지 중 **둘 이상이 겹치면** 그대로 적지 말 것(예: '○○아파트 33평 보유 + 주식 10억 + 잠실 거주' → '1주택 보유(대출 없음), 인근 재건축 단지로 갈아타기'). 계산에 꼭 필요한 수치 하나(연소득 등)는 남겨도 된다. 무인증 공개 서버의 로그다 | |
| tool_used | No | 문제가 된 답을 만든 도구 이름 | |
| wrong_value | No | 틀린 수치·문장 | |
| missing_axis | No | answered_fully=false일 때 **없어서 못 답한 축**(예: '주택법 리모델링 규칙 미큐레이션', '경기 정비사업 단계 조회 불가 — 서울 한정'). 로드맵의 원천이 된다 | |
| answered_fully | No | kind='질문기록' 전용 — 이 서버 도구만으로 질문에 **완결된 답**을 했는가. false면 missing_axis에 무엇이 없었는지 적어라(질문은행의 ●/◐/○ 판정에 그대로 쓰인다) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the sparse annotations (readOnlyHint=false, destructiveHint=false), the description discloses critical operational behavior: quota exemption, shared hourly rate limits (60 total/20 per sender), server operator notification, and the design rationale for combining two kinds into one write surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but front-loaded with the core purpose and uses bold headers for each mode. Every paragraph provides necessary operational context, though it could be modestly tightened without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is comprehensive: it explains why the server can't see original questions, defines exact recording criteria, includes privacy protection rules, quota behavior, and rate limits. The presence of an output schema makes return-value details unnecessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters and are already extremely detailed, including conditional requirements and anonymization rules. The description adds usage rationale but few new parameter-level facts, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: report wrong answers (kind='결함') or record valuable original questions (kind='질문기록'). It distinguishes itself from sibling tools by being the only meta-reporting/write tool among realty query tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use rules: call before correcting defects, only when the user explicitly complains, and not on speculation. For question records, it lists the three specific criteria and explicitly says simple lookups should not be recorded.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search경매 물건 검색ARead-onlyIdempotentInspect
법원경매 물건을 자연어로 검색한다. 경매 전용 — 청약·분양 공고는 realty_presale, 분양가 적정성은 realty_presale_vs_market, 시세 통계는 realty_region_price_stats.
지역·물건종류·유찰횟수·감정가를 질의에서 뽑아 필터링한다.
예: "서울 강남구 아파트", "유찰 2회 이상인 경기도 오피스텔", "서울 아파트 감정가 5억 이하".
이 파서는 최소 어댑터라 못 쓰는 축(면적·기일·층 등)이 있다. 못 쓴 조건은 응답의
`unapplied_conditions`에 적히므로, 그게 비어 있지 않으면 결과 범위를 좁게 오인하지 말고
`realty_search_auctions`로 조건을 직접 지정해 다시 조회하라.
각 결과의 id는 이어서 fetch(id)에 그대로 넣으면 상세를 볼 수 있다.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses parser limitations ('최소 어댑터', unsupported axes like 면적·기일·층), explains the unapplied_conditions field, warns against misinterpreting result scope, and notes that result ids can be passed to fetch(id). This adds valuable behavioral context beyond the readOnly/openWorld/idempotent annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: purpose, exclusions, extraction behavior, examples, limitation/fallback, and id linkage. The description is front-loaded with the core statement and logically structured; length is justified given the natural-language tool's need for examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, when to use, query semantics, limitation handling, and downstream fetch linkage. An output schema exists, so return-value details need not be repeated in the description. For a one-parameter tool with strong annotations, this description is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a bare 'query' string with 0% description coverage. The description fully compensates by explaining that the query is natural language, enumerates the extracted fields (지역, 물건종류, 유찰횟수, 감정가), gives concrete examples, and notes unsupported axes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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. It explicitly labels the tool '경매 전용' and names sibling tools for other tasks (realty_presale, realty_presale_vs_market, realty_region_price_stats), clearly distinguishing it from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage guidance: auction-only with named alternatives for non-auction needs; recommends realty_search_auctions when unapplied_conditions is non-empty; and gives three concrete example queries illustrating supported extraction axes (region, property type, 유찰횟수, 감정가).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityAmaintenanceConnects 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.16367MIT
- AlicenseAqualityBmaintenanceProvides South Korean real estate transaction price lookup (sales and rent) for apartments, row houses, single-family homes, and officetels via MCP tools using public data from data.go.kr.841MIT
- AlicenseNot gradedqualityAmaintenanceEnables natural language access to 11 Korean building data tools including building registers, permits, comprehensive profiles with zoning, floor composition, district statistics, old building analysis, price history, demolitions, and permit pipeline.63MIT
- FlicenseNot gradedqualityBmaintenanceEnables natural language queries to retrieve Korean real estate transaction data (land, commercial, apartments) from the public API, returning structured tables and summary statistics.