Skip to main content
Glama
joshdels

free-transmission-wildlife

by joshdels

MCP를 활용한 AI 지원 송전선로 및 야생동물 분석

사용 사례

한 야생동물 보호 단체는 캘리포니아 샌와킨 밸리(San Joaquin Valley)에서 전력 송전 인프라가 야생동물과 보호 토지에 미치는 잠재적 영향을 모니터링하려고 합니다.

이 단체는 자금이 제한적이어서 기존 GIS 소프트웨어로 수동 GIS 분석을 지속적으로 수행하거나 대규모 공간 데이터셋을 검사할 수 없습니다. 송전선로와 야생동물 지역에 대해 공간 질문을 하고, 수동으로 SQL을 작성하거나 GIS 작업을 수행하지 않고도 분석 결과를 받을 수 있는 간단한 방법이 필요합니다.

이 프로젝트는 MCP(Model Context Protocol)를 사용하여 Claude를 GIS 파일에 저장되고 DuckDB를 통해 쿼리되는 공간 데이터에 연결합니다.

사용자는 GIS 소프트웨어를 수동으로 열고 공간 분석을 수행하는 대신 자연어로 Claude에게 질문할 수 있습니다.

예시:

Which wildlife areas intersect transmission lines?

Which transmission lines pass through public access lands?

How many transmission line segments intersect wildlife areas?

What wildlife areas are within 1 kilometer of a transmission line?

Show me the transmission lines that have potential impacts on wildlife areas.

Claude는 요청을 해석하고, MCP 서버를 사용하여 공간 데이터에 접근하며, 필요한 DuckDB 공간 쿼리를 수행한 후 결과를 읽기 쉬운 형식으로 반환합니다.

Related MCP server: PostGIS Yukon MCP

목표

주요 목표는 AI, MCP, DuckDB 및 공간 데이터를 결합하여 가벼운 GIS 분석 어시스턴트를 만들 수 있는 방법을 보여주는 것입니다.

이 프로젝트는 다음에 중점을 둡니다:

  1. 공간 데이터셋에 대한 자연어 접근

  2. SQL 작성이 필요 없는 공간 쿼리

  3. 송전선로 및 야생동물 지역 분석

  4. 저비용 GIS 데이터 처리

  5. DuckDB를 통한 재현 가능한 공간 분석

  6. Claude를 통한 분석 결과 직접 반환

데이터

이 프로젝트는 현재 두 개의 공간 데이터셋으로 작동합니다:

송전선로

Shapefile로 표현된 송전선로 인프라입니다.

data/
└── transmission_lines/
    └── TransmissionLine_CEC.shp

야생동물 / 공공 접근 토지

California Department of Fish and Wildlife의 공공 접근 토지 데이터를 Shapefile로 표현한 것입니다.

data/
└── public_lands/
    └── CDFW_Public_Access_Lands_[ds3077].shp

이 데이터셋은 DuckDB Spatial 확장을 사용하여 DuckDB에 로드됩니다.

아키텍처

기본 아키텍처는 다음과 같습니다:

User
  |
  | Natural-language question
  v
Claude
  |
  | MCP
  v
MCP Server
  |
  | DuckDB Spatial SQL
  v
Spatial Datasets
  |
  +-- Transmission Lines
  |
  +-- Wildlife / Public Access Lands
  |
  v
Analysis Result
  |
  v
Claude Response

MCP 서버는 Claude와 공간 데이터베이스 계층 사이의 브리지 역할을 합니다.

DuckDB는 실제 데이터 처리 및 공간 연산을 수행합니다.

기술 스택

  1. Python 3.14

  2. DuckDB

  3. DuckDB Spatial

  4. MCP Python

  5. PyArrow

  6. Pandas

  7. Claude

프로젝트 구조

free-transmission-wildlife/
│
├── app/
│   ├── db/
│   │   ├── load_data.py
│   │   └── queries.py
│   │
│   └── server/
│       └── server.py
│
├── data/
│   ├── transmission_lines/
│   │   └── TransmissionLine_CEC.shp
│   │
│   └── public_lands/
│       └── CDFW_Public_Access_Lands_[ds3077].shp
│
├── pyproject.toml
├── uv.lock
├── Makefile
└── README.md

시작하기

이 프로젝트는 Python 환경 및 종속성 관리를 위해 uv를 사용합니다.

프로젝트 종속성을 설치합니다:

uv sync

개발

개발 모드에서 MCP 서버를 시작합니다:

make dev

다음이 실행됩니다:

uv run mcp dev app/server/server.py

개발 서버는 MCP 도구를 테스트하고 그 동작을 검사하는 데 사용할 수 있습니다.

Claude 설치

Claude용 MCP 서버를 설치합니다:

make install

이는 다음에 해당하는 명령을 실행합니다:

uv run mcp install app/server/server.py

설치가 완료되면 MCP 서버는 Claude에서 사용할 수 있게 됩니다.

애플리케이션 실행

MCP 서버를 설치한 후 Claude를 열고 공간 데이터셋에 대해 질문하기 시작합니다.

예를 들어:

Show me the schema of the transmission lines dataset.
Show me the schema of the wildlife lands dataset.
Find transmission lines that intersect wildlife lands.
How many wildlife areas intersect transmission lines?
Which transmission lines have the greatest number of wildlife intersections?

MCP 서버는 이러한 요청을 DuckDB에 대한 작업으로 변환합니다.

공간 분석

이 프로젝트는 다음과 같은 공간 연산을 지원하도록 설계되었습니다:

  • 교차(intersection)

  • 내부(within)

  • 거리 분석

  • 버퍼 분석

  • 지오메트리 검사

  • 공간 필터링

  • 집계

  • 교차 피처 계산

  • 면적 계산

  • 길이 계산

예를 들어, 교차 분석은 개념적으로 다음과 같이 표현될 수 있습니다:

SELECT
    t.*,
    w.*
FROM transmission_lines t
JOIN wildlife_lands w
    ON ST_Intersects(t.geom, w.geom);

이를 통해 DuckDB는 공간 분석을 수행하고 Claude는 자연어 인터페이스를 제공합니다.

출력

결과는 Markdown 형식으로 Claude를 통해 반환됩니다.

예시:

Transmission lines intersecting wildlife lands

| Transmission Line | Wildlife Area | Intersection |
|-------------------|---------------|--------------|
| Line A             | Area 001      | Yes          |
| Line B             | Area 014      | Yes          |
| Line C             | Area 021      | Yes          |

Total intersecting transmission lines: 3

목표는 사용자가 SQL이나 DuckDB를 이해하지 않아도 분석 결과를 이해할 수 있게 하는 것입니다.

DuckDB를 사용하는 이유

DuckDB는 기존 데이터베이스 서버 없이도 데이터를 직접 쿼리할 수 있는 가벼운 분석 데이터베이스입니다.

Spatial 확장과 결합하면 비교적 단순한 아키텍처를 유지하면서 GIS 작업을 수행할 수 있습니다.

따라서 이 프로젝트의 프로토타입에는 PostgreSQL/PostGIS가 필요하지 않습니다.

아키텍처는 다음과 같습니다:

Shapefile / GeoParquet
        |
        v
      DuckDB
        |
        v
  DuckDB Spatial
        |
        v
    MCP Server
        |
        v
      Claude

이는 이 프로젝트를 AI 지원 GIS 분석 실험에 적합하게 만듭니다.

향후 개발

향후 개선 가능 사항은 다음과 같습니다:

  1. Shapefile에서 GeoParquet로 마이그레이션

  2. 캘리포니아 야생동물 데이터셋 추가

  3. 필지(parcel) 데이터셋 추가

  4. 보호 지역 추가

  5. 환경 제약 데이터셋 추가

  6. 거리 및 버퍼 분석 추가

  7. 자동화된 공간 보고서 추가

  8. 지도 시각화 추가

  9. 웹 지도를 위한 GeoJSON 결과 반환

  10. 클라우드 객체 스토리지에 공간 데이터 배포

  11. 대규모 공간 데이터셋 추가

  12. AI 지원 GIS 분석 워크플로우 구축

프로젝트 목표

장기적인 목표는 전통적인 GIS 데이터 처리와 자연어 AI 인터페이스를 결합하여 공간 분석에 대한 접근성을 높일 수 있음을 보여주는 것입니다.

모든 사용자가 GIS 소프트웨어, SQL 및 공간 데이터베이스 작업을 알아야 하는 대신, 사용자는 자연어로 질문을 설명하고 Claude가 MCP와 DuckDB를 통해 분석을 조정하도록 할 수 있습니다.

F
license - not found
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    An Iceberg-native geospatial MCP server powered by DuckDB that provides tools for spatial SQL queries, catalog discovery, and data management. It enables LLM agents to interact with Apache Iceberg lakehouses to perform complex spatial analysis, joins, and aggregations.
    1
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables natural language and geospatial queries on PostGIS databases, with 32 tools for spatial analysis, geometry operations, and database management.
    4
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP server that connects AI agents to cloud-native geospatial data via STAC metadata and DuckDB with H3 spatial indexing, enabling zero-configuration SQL queries on terabyte-scale datasets over S3.
    23
    BSD 3-Clause
  • A
    license
    Not graded
    quality
    C
    maintenance
    Connects AI assistants (Claude, Cursor, etc.) to QGIS 4.x via MCP, enabling natural language-driven GIS workflows through 37+ tools, including data loading, processing, and spatial analysis.
    GPL 2.0

View all related MCP servers

Related MCP Connectors

  • MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence

  • Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.

  • GibsonAI MCP server: manage your databases with natural language

View all MCP Connectors

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/joshdels/free-transmission-wildlife'

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