Skip to main content
Glama
kimduksoo
by kimduksoo

naver-land-mcp

네이버 부동산 매물 조회 MCP (Model Context Protocol) 서버

네이버 부동산의 비공식 API를 활용하여 현재 매물 정보를 조회합니다.

기능

  • 지역 검색 (시도 → 시군구 → 읍면동 계층 탐색)

  • 좌표 기반 매물 검색 (아파트, 오피스텔, 빌라)

  • 단지별 매물 조회 / 상세 정보

  • 시세 및 실거래가 추이

  • 주변 학군 정보

  • 매매 / 전세 / 월세 거래 유형 지원

  • API rate limit 시 자동 엔드포인트 전환 (new.land.naver.comm.land.naver.com)

  • 302 abuse redirect 감지 + 자동 backoff retry

  • 요청 간 랜덤 딜레이 (1~2.5초)로 rate limit 방지

  • 매물 URL 자동 생성 (https://new.land.naver.com/articles/{articleNo})

Related MCP server: korea-realestate-mcp

MCP 도구

도구

설명

search_regions

지역 코드 계층 탐색 (시도 → 시군구 → 읍면동)

get_region_info

지역 좌표 + 매물 클러스터 조회 (rate limit에 강건)

get_complexes

특정 동의 단지 목록

search_listings

좌표 기반 매물 검색 (가장 안정적)

get_articles

단지별 매물 목록 (1페이지)

get_all_articles

단지별 매물 전체 (자동 페이징)

get_complex_detail

단지 상세 (세대수, 면적, 입주년도, 건설사 등)

get_price_info

시세 / 실거래가 추이

get_school_info

주변 학군 (초/중/고)

설치

요구사항

  • Python 3.11+

  • uv (패키지 매니저)

Claude Code에 등록

claude mcp add -s user naver-land -- uv run --directory /path/to/naver-land-mcp python -m server

직접 실행

cd naver-land-mcp
uv sync
uv run python -m server

사용 예시

지역 검색 → 매물 조회 흐름

1. search_regions()                          → 전국 시도 목록
2. search_regions("4100000000")              → 경기도 시군구 목록
3. search_regions("4113500000")              → 분당구 읍면동 목록
4. get_region_info("4113510300")             → 정자동 좌표 확인
5. search_listings(lat=37.38, lon=127.12)    → 주변 매물 검색

단지 상세 조회 흐름

1. get_complexes("4113510300")               → 정자동 단지 목록
2. get_complex_detail("12345")               → 단지 상세 (면적, 세대수)
3. get_all_articles("12345", trade_type="B2") → 월세 매물 전체
4. get_price_info("12345", area_no="1")      → 시세 추이
5. get_school_info("12345")                  → 학군 정보

거래 유형 / 부동산 타입 코드

거래 유형

코드

매매

A1

전세

B1

월세

B2

부동산 타입

코드

아파트

APT

오피스텔

OPST

빌라

VL

아파트분양권

ABYG

재건축

JGC

여러 타입 동시 검색: 콜론으로 구분 (예: APT:OPST:VL)

아키텍처

server.py        ← FastMCP 서버, 도구 정의
naver_land.py    ← API 클라이언트 (dual endpoint, retry, fallback)
regions.py       ← 시도/시군구 코드 및 좌표 데이터

엔드포인트 전략

엔드포인트

용도

특징

new.land.naver.com

지역 검색, 단지 목록

IP 기반 rate limit 있음

m.land.naver.com

매물 검색, 좌표 기반 조회

상대적으로 안정적

  • new.land API 호출 시 429 응답이면 자동으로 m.land로 전환

  • 지역 검색 rate limit 시 내장 코드(시도/시군구)로 fallback

  • 좌표 기반 검색(search_listings)이 가장 안정적

Rate Limit 방어

방어 수단

설명

Human delay

요청 간 1~2.5초 랜덤 대기

429 retry

지수 backoff (3^n초) + 랜덤 jitter, 최대 5회

Abuse retry

302 /error/abuse 감지 시 10초×attempt backoff, 최대 5회

Graceful degradation

모든 retry 소진 시 빈 결과 반환 (크래시 방지)

응답 필드 설명

매물 (article)

필드

설명

deposit

보증금 (만원 단위, 숫자. 예: 5000 = 5000만원)

rent

월세 (만원 단위, 숫자. 예: 150 = 150만원)

price

가격 (한글 표기, 예: "3억 5,000")

realEstateType

부동산 타입 (아파트, 오피스텔, 빌라)

exclusiveArea

전용면적 (㎡)

supplyArea

공급면적 (㎡)

floorInfo

층 정보 (예: "15/25")

direction

향 (남향, 동향 등)

featureDesc

매물 설명

url

네이버 부동산 매물 상세 URL

주의사항

  • 네이버 부동산의 비공식 API를 사용합니다. API 변경 시 동작하지 않을 수 있습니다.

  • 과도한 요청 시 IP 기반 rate limit이 발생할 수 있습니다. (302 → /error/abuse redirect)

  • 단시간에 여러 지역을 대량 검색하면 일시적 IP 차단(수 분)이 될 수 있습니다.

  • 매물 데이터의 정확성은 네이버 부동산에 등록된 정보에 의존합니다.

  • 방 수(roomCnt)는 좌표 기반 검색 API에서 제공되지 않습니다. 면적과 설명으로 추정이 필요합니다.

License

MIT

Available Tools

9 tools
get_all_articlesA

단지별 매물 전체 (자동 페이징)

Args: complex_no: 단지 코드 trade_type: A1(매매), B1(전세), B2(월세) order: prc_(가격순), spc_(면적순), date_(최신순) max_pages: 최대 페이지 수

ParametersJSON Schema
NameRequiredDescriptionDefault
complex_noYes
trade_typeNoA1
orderNoprc_
max_pagesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

The description mentions 'auto paging' and a max_pages parameter, implying it fetches multiple pages. However, it does not disclose whether the tool is read-only, has side effects, or the nature of pagination (sequential vs parallel). With no annotations, the description provides moderate but incomplete behavioral insight.

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

Conciseness4/5

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

The description is concise, using a title line and an Args section. It efficiently conveys the tool's purpose and parameters without extra words. However, the order parameter explanation could be slightly more structured (e.g., listing meaning of each suffix).

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

Completeness3/5

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

The description covers parameter semantics well but lacks usage context, such as how auto-paging works, limits, or when to prefer this over get_articles. Given the output schema exists, return values are not needed, but behavioral and contextual details are missing for a comprehensive understanding.

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

Parameters4/5

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

The description fully explains each parameter: complex_no as complex code, trade_type with three options (매매, 전세, 월세 via codes A1/B1/B2), order with three choices (가격순/면적순/최신순 via codes), and max_pages as page limit. This compensates for 0% schema coverage, though order value suffixes are not explained (e.g., ascending vs descending).

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

Purpose5/5

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

The description clearly states '단지별 매물 전체 (자동 페이징)' meaning 'All articles by complex (auto paging)'. It specifies the scope (all articles for a complex) and a key feature (automatic paging), which distinguishes it from sibling tools like get_articles.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like get_articles or search_listings. There is no mention of prerequisites, performance considerations, or explicit scenarios for choosing this tool.

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

get_articlesA

단지별 매물 목록 (1페이지)

거래 유형: A1(매매), B1(전세), B2(월세) 정렬: prc_(가격순), spc_(면적순), date_(최신순)

Args: complex_no: 단지 코드 (get_complexes에서 확인) trade_type: 거래 유형 order: 정렬 page: 페이지 번호

ParametersJSON Schema
NameRequiredDescriptionDefault
complex_noYes
trade_typeNoA1
orderNoprc_
pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

The description discloses that only the first page is returned (1페이지). Without annotations, this is useful behavioral information. However, it does not mention rate limits, authentication needs, or data freshness, leaving gaps.

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

Conciseness4/5

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

The description is concise and structured with a header and argument list. Every sentence adds value, though the Korean text could be slightly more compact. No unnecessary content.

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

Completeness3/5

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

Given the output schema exists, return value explanation is not needed. However, the description does not mention pagination details beyond the first page, default page size, or how to get subsequent pages. This limits completeness for a paginated list tool.

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

Parameters5/5

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

The description adds thorough explanations for all parameters: complex_no (source), trade_type (values A1/B1/B2), order (values prc_/spc_/date_), and page (number). The schema had 0% description coverage, so this fully compensates.

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

Purpose4/5

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

The description states it returns a list of listings per complex (단지별 매물 목록) and explicitly limits to the first page. This clearly indicates the tool's scope. However, it does not differentiate from sibling tools like get_all_articles, which could fetch all pages.

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

Usage Guidelines3/5

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

The description lists trade types and sort orders, providing some usage guidance. However, it does not explain when to use this tool versus alternatives, nor does it specify prerequisites or exclusions.

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

get_complex_detailB

단지 상세 정보 (세대수, 면적, 입주년도, 건설사 등)

Args: complex_no: 단지 코드

ParametersJSON Schema
NameRequiredDescriptionDefault
complex_noYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It only lists the parameter and example fields but fails to disclose behavioral traits such as whether the operation is read-only, requires authentication, or has rate limits. The description is minimal.

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

Conciseness3/5

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

The description is short, containing both Korean and English text. It is mostly concise, but the parameter description is redundant with the schema. It could be more streamlined.

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

Completeness3/5

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

Given that an output schema exists, the description does not need to explain return values. The tool has only one parameter and the description covers its purpose. However, due to the lack of behavioral transparency and usage guidelines, the description is minimally complete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must add meaning. It provides 'complex_no: 단지 코드' (complex code) which is a minor addition, but does not explain the format or source of the code. The description adds limited value beyond the schema.

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

Purpose5/5

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

The description clearly states '단지 상세 정보' (complex detail info) and lists example fields (households, area, move-in year, construction company). It distinguishes from siblings like 'get_complexes' which likely lists complexes, and 'get_price_info' etc.

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

Usage Guidelines3/5

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

The description implies usage for retrieving detailed info for a specific complex, but provides no explicit guidance on when to use this tool vs alternatives, nor any exclusions or prerequisites.

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

get_complexesA

특정 동의 단지 목록 조회

rate limit 시 좌표 기반 매물 검색으로 자동 전환됩니다. 전환 시 search_listings 사용을 안내합니다.

Args: cortar_no: 읍면동 코드 (10자리) real_estate_type: APT, OPST, VL 등

ParametersJSON Schema
NameRequiredDescriptionDefault
cortar_noYes
real_estate_typeNoAPT

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description must disclose behavior. It reveals an automatic fallback on rate limiting, which is a key behavioral trait. However, it does not mention other aspects like authentication, read-only nature, or error states. The disclosure is partial but adds value.

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

Conciseness5/5

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

The description is short, starting with the core purpose, then the behavioral note, then parameter documentation. Every sentence contributes without redundancy. It is efficiently structured for an AI agent to parse quickly.

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

Completeness4/5

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

Given the tool has only 2 parameters and an output schema, the description covers purpose, parameters, and a critical behavioral quirk (rate limit fallback). It lacks mention of authentication or pagination, but the output schema likely handles return details, making it reasonably complete.

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

Parameters5/5

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

Schema description coverage is 0%, so the description bears full responsibility. It explains cortar_no as a 10-digit administrative district code and lists real_estate_type values (APT, OPST, VL etc.), with a default noted. This provides essential meaning absent from the schema.

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

Purpose5/5

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

The description explicitly states the tool retrieves a list of complexes for a specific neighborhood, with a clear verb (조회/retrieve) and resource (단지 목록/complex list). This distinguishes it from siblings like get_complex_detail (single complex) and search_listings (property listings).

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

Usage Guidelines4/5

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

The description provides a specific usage scenario: when rate-limited, the tool auto-switches and directs to search_listings. This gives agents a conditional alternative. However, it doesn't cover when to prefer this tool over other siblings in normal conditions.

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

get_price_infoB

시세/실거래가 추이

Args: complex_no: 단지 코드 area_no: 면적 번호 (get_complex_detail → pyeongNo) trade_type: A1(매매), B1(전세), B2(월세) year: 조회 기간 (기본 5년)

ParametersJSON Schema
NameRequiredDescriptionDefault
complex_noYes
area_noYes
trade_typeNoA1
yearNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, authorization requirements, or rate limits. It only parameter details.

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

Conciseness3/5

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

The description is relatively concise but includes unnecessary formatting like 'Args:' and line breaks. The key information is front-loaded, but could be more streamlined.

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

Completeness3/5

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

Given that an output schema exists, the description adequately covers parameter usage. However, it lacks context on what the output contains or how to interpret the results.

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

Parameters4/5

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

With 0% schema description coverage, the description adds critical meaning: trade_type codes and year default. It also hints at area_no source (get_complex_detail → pyeongNo). However, complex_no is not explained further.

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

Purpose4/5

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

The description states it provides market price/actual transaction price trends, with a clear list of parameters. It distinguishes itself from siblings like get_complex_detail and get_region_info, but could more explicitly differentiate.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description only lists parameters without specifying use cases or exclusions.

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

get_region_infoA

지역 정보 + 좌표 조회 (m.land 기반, rate limit 강건)

cortarNo를 입력하면 해당 지역의 정확한 좌표, 지역명, 매물 클러스터 수를 반환합니다. search_regions가 rate limit에 걸릴 때 대안으로 사용하세요. 반환된 좌표는 search_listings에서 바로 사용 가능합니다.

Args: cortar_no: 지역 코드 (읍면동 10자리) real_estate_type: APT, OPST, VL 등 trade_type: A1(매매), B1(전세), B2(월세)

ParametersJSON Schema
NameRequiredDescriptionDefault
cortar_noYes
real_estate_typeNoAPT
trade_typeNoA1

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries full responsibility. It mentions that the tool is 'rate limit 강건' (robust against rate limits), which is a behavioral trait. However, it does not explicitly state that the operation is read-only or safe, nor does it disclose any potential side effects or permission requirements. Given the lookup nature, a 3 is appropriate.

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

Conciseness4/5

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

The description is relatively concise, with a lead sentence summarizing the tool, followed by a usage hint and parameter documentation. Each sentence adds value, though the parameter descriptions could be slightly more succinct. Still, it is well-structured and front-loaded.

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

Completeness5/5

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

Given the tool's moderate complexity (3 parameters, output schema exists) and the presence of sibling tools, the description covers the necessary context: what it does, when to use it (vs search_regions), how to use outputs, and parameter details. The output schema existing means describing return values is unnecessary, so no gap.

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

Parameters5/5

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

Schema description coverage is 0%, but the description provides detailed meaning for all three parameters: cortar_no is '지역 코드 (읍면동 10자리)', real_estate_type includes examples like 'APT, OPST, VL 등', and trade_type lists A1, B1, B2 with their Korean equivalents. This significantly adds value beyond the bare schema.

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

Purpose5/5

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

The description clearly states that the tool retrieves region information and coordinates (지역 정보 + 좌표 조회) based on cortarNo. It specifies the outputs: exact coordinates, region name, and cluster count. It distinguishes itself from siblings by mentioning it is an alternative when search_regions is rate-limited.

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

Usage Guidelines5/5

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

The description explicitly tells when to use this tool: as an alternative when search_regions hits rate limits. It also explains how the output can be directly used in search_listings, providing integration guidance. No contradictory usage advice is given.

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

get_school_infoC

단지 주변 학군 (초/중/고)

Args: complex_no: 단지 코드

ParametersJSON Schema
NameRequiredDescriptionDefault
complex_noYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior1/5

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

No annotations are present, so the description must carry the full burden of behavioral disclosure. The description only states what the tool does, not any behavioral traits such as data freshness, authentication requirements, error handling, or any side effects. This is insufficient for an agent to understand the tool's behavior.

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

Conciseness3/5

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

The description is very concise, consisting of a single line and an Args section. While it is front-loaded with the main purpose, it lacks additional context that could be provided without adding much length. It is not overly verbose but misses opportunities to add value.

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

Completeness2/5

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

Given the tool has one parameter and an output schema (though not shown), the description is still incomplete. It does not explain what the output contains, how to interpret the results, or any edge cases. For a simple tool, a slightly richer description would be expected.

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

Parameters2/5

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

The schema has 0% description coverage, meaning the parameter complex_no only has a title and type. The description adds '단지 코드' (complex code), which provides minimal semantic value. It does not explain the format (e.g., numeric, alphanumeric), how to obtain it, or any constraints.

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

Purpose4/5

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

The description clearly states that the tool retrieves school districts around a complex (elementary, middle, high school). It uses specific nouns and verbs, making the purpose understandable. However, it does not distinguish itself from siblings like get_complex_detail or get_region_info, which could also provide location-related data.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or scenarios where this tool is appropriate. For example, it does not explain if it should be used after obtaining a complex_no from another tool.

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

search_listingsA

좌표 기반 매물 검색 (가장 안정적인 방법)

단지 코드 없이 좌표만으로 해당 지역의 모든 매물을 검색합니다. get_region_info로 좌표를 먼저 확인하거나, 알고 있는 좌표를 직접 입력하세요.

거래 유형: A1(매매), B1(전세), B2(월세) — 여러 개는 콜론으로 구분 (A1:B1:B2) 부동산 타입: APT(아파트), OPST(오피스텔), VL(빌라) — 여러 개는 콜론으로 구분

Args: lat: 위도 (예: 37.3675) lon: 경도 (예: 127.1127) cortar_no: 지역 코드 (선택, 입력 시 더 정확한 결과) real_estate_type: 부동산 타입 (기본: APT) trade_type: 거래 유형 (기본: A1=매매) delta: 검색 반경 (기본: 0.015 ≈ 약 1.5km) max_pages: 최대 페이지 수 (기본: 3, 페이지당 20건)

ParametersJSON Schema
NameRequiredDescriptionDefault
latYes
lonYes
cortar_noNo
real_estate_typeNoAPT
trade_typeNoA1
deltaNo
max_pagesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It mentions stability and parameter defaults but does not disclose side effects, authentication needs, rate limits, or response structure. Some transparency is present in parameter behavior (e.g., max_pages).

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

Conciseness4/5

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

The description is well-structured with a bold title, explanatory text, and a parameter list. It is front-loaded with purpose. Slightly verbose due to repeated explanations of code formats, but overall efficient.

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

Completeness4/5

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

Given the parameter count of 7 and 2 required parameters, the description covers input semantics well. It does not mention output schema (which exists) or return value details, but that is acceptable. It also explains pagination via max_pages. Missing a note on output structure or error handling.

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates by providing detailed explanations for all 7 parameters, including examples, allowed values (trade types, property types), defaults, and the meaning of delta and max_pages. This is excellent coverage.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'coordinate-based listing search (most stable method)'. It distinguishes itself from get_region_info (used as a prerequisite) but does not explicitly differentiate from other siblings like get_articles or get_complex_detail.

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

Usage Guidelines4/5

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

The description advises using get_region_info first to verify coordinates and explains trade/property type codes. It provides context for when to use (coordinate-based search) but does not specify when not to use or mention alternative tools.

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

search_regionsA

지역 검색 (시도 → 시군구 → 읍면동 계층 탐색)

지역 코드를 단계적으로 탐색합니다.

  • 기본값(0000000000): 전국 시도 목록

  • 시도 코드: 시군구 목록

  • 시군구 코드: 읍면동 목록

예시: "성남시 분당구 정자동"

  1. search_regions() → 경기도 "4100000000"

  2. search_regions("4100000000") → 성남시분당구 "4113500000"

  3. search_regions("4113500000") → 정자동 "4113510300"

rate limit 시 내장 코드로 자동 fallback됩니다.

Args: cortar_no: 지역 코드 (10자리). 기본값은 전국.

ParametersJSON Schema
NameRequiredDescriptionDefault
cortar_noNo0000000000

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses hierarchical navigation, default code, and rate limit fallback. Does not detail error handling for invalid codes, but output schema exists and read-only nature is clear from context.

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

Conciseness4/5

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

Description is concise with bullet points and a clear example. Front-loaded with purpose. Minor redundancy (e.g., '지역 검색' repeated), but overall efficient.

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

Completeness4/5

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

Given the single parameter and existence of an output schema, the description covers hierarchy, default, example, and fallback. Lacks details on error cases or edge conditions, but adequate for a fairly simple tool.

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

Parameters5/5

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

Schema description coverage is 0%, requiring description to compensate. It fully explains the parameter 'cortar_no' as a 10-digit region code with default for entire country, and demonstrates usage in the example. 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.

Purpose5/5

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

Description clearly states the tool is for region search with hierarchical exploration (시도 → 시군구 → 읍면동). It provides specific verb 'search/explore' and resource 'regions hierarchy', distinguishing it from sibling tools like get_complexes or get_articles.

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

Usage Guidelines4/5

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

Explains step-by-step usage with examples and default behavior. Missing explicit 'when not to use', but context from sibling tools and the description itself implies it's for region code navigation only. Mentions automatic fallback for rate limiting.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updatesv0.1.0
    • First observedget_all_articles
    • First observedget_articles
    • First observedget_complex_detail
    • First observedget_complexes
    • First observedget_price_info
    • First observedget_region_info
    • First observedget_school_info
    • First observedsearch_listings
    • First observedsearch_regions

TDQS

A3.7/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct operation: paginated vs single-page articles, complex details vs list, region info vs hierarchical search, price trends, school info, and coordinate-based search. No two tools overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (get_*, search_*), making the API predictable and easy to navigate.

Tool Count5/5

With 9 tools, the server covers all necessary operations for a real estate data API without being bloated or sparse. Each tool serves a clear role.

Completeness4/5

The tool set provides comprehensive read-only access to complex info, listings, price history, school info, and region data. Minor gap: no tool for individual listing details beyond the article list, but the overall coverage is strong.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables automated collection of apartment listing data from Naver Real Estate using Playwright browser automation with passive network response capture. Provides MCP tools to search complexes, resolve property identifiers, and extract normalized listing information including duplicate properties.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to query and analyze Korean apartment real estate transaction prices (sales and rentals) using natural language, providing tools for price trends, regional comparisons, and rent ratios.
    7
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables searching Korean apartment listings, market prices, and recent transactions via Naver Real Estate through natural language.
    6
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides 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.
    8
    51
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kimduksoo/naver-land-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server