Korean Land MCP
🇰🇷 Korean Land MCP (土地空間情報MCP) — v2.0
V-World APIベースの土地・都市計画空間情報MCPサーバー 国土交通部のV-World Open APIをバックエンドに使用し、土地利用計画確認書(eum.go.kr)で人が手動で確認していた用途地域・用途地区・用途区域・地区単位計画・都市計画施設・他法令指定事項を、AIが自然言語で照会できるようにしたModel Context Protocolサーバーです。
korean-law-mcp(法令テキスト)と対になる空間レイヤーMCP。2つのMCPを併用することで、「この地番はどこに属するか → その法令・条例は何を許可/制限するか」までを自然言語の一文でつなげることができます。
✨ v2.0 アーキテクチャ原則
V-World API専用。他の商用API・スクレイピング・モックデータはなし。
正直な失敗。特定のレイヤーでV-Worldが500を返した場合、
layer_errorsにそのまま露出。偽のデータで埋めることは一切しない。korean-law-mcpとの役割分担。このMCPは「空間的にどこに属するか」のみを回答。条文解釈はkorean-law-mcpに委ねる。
国土計画法第76条⑤の優先委任を自動検知。農業振興区域・保全山地・水源保護区域・国家産業団地などが地番にかかっている場合、
priority_delegation_hintで「国土計画法施行令の別表の代わりにどの法令を優先すべきか」を通知。
Related MCP server: Korea Building Register MCP
🛠️ 提供ツール (7個)
ツール | 説明 |
| 住所/地番/PNU → 標準化されたPNU・地目・公示地価・行政区域・WGS84座標 |
| 用途地域(都市/管理/農林/自然環境) + 用途地区(8種) + 用途区域(開発制限・都市自然公園) + 土地取引許可区域 |
| 地区単位計画区域 + 開発行為許可制限区域 |
| 都市計画施設9種(道路・交通・空間・流通供給・公共文化体育・防災・保健衛生・環境基礎・その他)。 |
| 42の他法令指定レイヤー(農地・山林・産業団地・水質環境・畜産・文化財・自然公園・特殊地区・住居整備・災害・海洋・航空)。第76条⑤の優先委任候補を自動表示 |
| 地目(28種)パース + 個別公示地価 + 建物情報 |
| 上記6つのツールを一度に並列呼び出し + korean-law-mcpの次のステップのヒントを生成 |
discover_toolsも含まれており、ツールカタログを自然言語で探索可能。
📡 V-Worldレイヤーカバレッジ
用途地域:
LT_C_UQ111/112/113/114(都市・管理・農林・自然環境保全 全体)用途地区・区域:
LT_C_UQ121~130,LT_C_UD801,LT_C_UQ162地区単位計画・許可制限:
LT_C_UPISUQ161,LT_C_UPISUQ171都市計画施設:
LT_C_UPISUQ151~159他法令指定: 農地(AGRIXUE) · 山林(UF) · 産業団地(WGISIE*, DAM*) · 水質環境(UM, WGISARWET) · 畜産(UM000) · 文化財(UO) · 自然公園(WGISNP*) · 特殊地区(UO/UJ/UH/UB) · 住居整備(UD) · 災害(UP) · 海洋(TFISMPA, WGISRE*) · 航空(AIS*)
地番・建物:
LP_PA_CBND_BUBUN,LT_C_BLDGINFO,A2SM_LNDPRCPS
🚀 クイックスタート
1. 一括セットアップ
git clone https://github.com/UrbanWatcherKr/korean-land-mcp.git
cd korean-land-mcp
npm run setupnpm run setupはnpm install → npm run build → インタラクティブなconfigureの順で実行されます。configure段階でV-World APIキー・ドメインを尋ね、.envファイルを自動生成します。
V-World APIキー発行: https://www.vworld.kr/dev/v4api.do (ログイン → オープンAPI → 認証キー発行、無料)。ローカル開発用であればドメインはlocalhostで登録。
2. 設定のみ再実行
APIキーを変更したりドメインを修正したい場合はいつでも:
npm run configure3. Claude Desktop / Claude Code に登録
configureが完了すると、貼り付けるJSONブロックをターミナルに出力します。または手動で:
{
"mcpServers": {
"korean-land": {
"command": "node",
"args": ["/absolute/path/to/korean-land-mcp/dist/server.js"],
"env": {
"VWORLD_API_KEY": "your_real_key_here",
"VWORLD_DOMAIN": "localhost"
}
}
}
}💬 使用例
「京畿道平沢市浦升邑内基里680の用途地域を教えて」 →
get_zoning「この地番に第76条⑤の優先委任が適用されるかチェックして」 →
get_other_law_designations「半径50m以内に都市計画施設の抵触・接合はある?」 →
get_urban_facility({ radius_m: 50 })「この地番を全体的に分析して、korean-lawの次のステップを教えて」 →
analyze_parcel
🧭 korean-law-mcp とのワークフロー
사용자: "이 지번에 공장 지을 수 있어?"
↓
korean-land-mcp · analyze_parcel
↓ (용도지역=일반공업, 산업단지=아산포승, 우선위임=산업입지법)
korean-law-mcp · search_law("산업입지법")
↓
korean-law-mcp · get_law_text(산업입지법 제33조)
↓
결론 + 원문 근거🗂️ プロジェクト構造
src/
├── server.ts # MCP stdio 엔트리, 7개 도구 등록
├── lib/
│ ├── vworld.ts # V-World HTTP 클라이언트 (5xx 재시도 1회)
│ ├── overlays.ts # 병렬 레이어 쿼리 + POINT/BOX 필터
│ ├── resolve.ts # 주소/지번/PNU 해석
│ └── jimok.ts # 지목 코드 28종 매핑
└── tools/
├── resolve_parcel.ts
├── get_zoning.ts
├── get_district_plan.ts
├── get_urban_facility.ts
├── get_other_law_designations.ts
├── get_land_attributes.ts
└── analyze_parcel.ts🧪 テスト
ユニットテスト(純粋関数、APIキー不要):
npm testLive smoke test(実際のV-World呼び出し、VWORLD_API_KEYが必要):
# 단일 지번 디버그
npx tsx tests/live/smoke-polygon.ts "서울특별시 마포구 연남동 229-1"
# 3개 픽스처 회귀 테스트 (스냅샷 비교)
npx tsx tests/live/smoke-fixtures.ts
# 스냅샷 갱신 (V-World 데이터 변경 시)
npx tsx tests/live/smoke-fixtures.ts --updateFixtures: 都市住宅地(延南洞)、農林地域+優先委任(世出里)、複合用途地域+都市開発(葛梅里)。
⚠️ 既知の制限
点ベースの判定: 基本クエリは地番の中心点1つをV-Worldに送信します。地番ポリゴンの交差ではないため、境界にかかっているケースは見逃す可能性があります。
get_urban_facilityのradius_mはBOXフィルターでこの制限を緩和しますが、「抵触」vs「接合」の最終判定は、ユーザーまたは担当公務員によるポリゴン交差の再検証が必要です。V-Worldレイヤーの障害: 一部のレイヤーが断続的にHTTP 500を返します。5xxエラーが1回再試行しても失敗した場合は
layer_errorsに露出され、残りのレイヤー結果は正常に返されます。自治体条例は未含: このMCPは空間レイヤーのみです。自治体の都市計画条例の条文は、korean-law-mcpまたは法制処の自治法規APIで別途照会してください。
📜 ライセンス
MIT License.
🤝 貢献
Issue・PR歓迎。新しいV-Worldレイヤーを追加する際は、src/tools/*.tsのLAYERS配列に{ id, label }を追加するだけで、自動的にqueryOverlaysパイプラインに組み込まれます。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables real-time search and analysis of Korean laws, legal precedents, and administrative rules through the National Law Information Center Open API, allowing AI agents to access official legal information for contract review, compliance, and legal research.71
- AlicenseAqualityDmaintenanceProvides 12 tools to query South Korean building register data, including title sheets, floor details, and official house prices via the data.go.kr API. It enables users to perform smart building lookups and region code searches using natural language.122Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search, retrieve, and analyze South Korean legal documents including statutes, precedents, constitutional decisions, and administrative rulings via the Ministry of Government Legislation Open API. Provides 89 specialized tools with features like legal abbreviation auto-recognition, annex extraction, and complex research chain workflows.MIT
- 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
Related MCP Connectors
Korean market data for AI agents: K-beauty/K-food products, Naver trends, stocks, real estate.
Korean business record validation and workflow safety gates for AI agents.
US public-records intelligence for AI agents — companies, SEC, courts, spending, licenses.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/UrbanWatcherKr/korean-land-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server