Skip to main content
Glama
joshdels

free-transmission-wildlife

by joshdels

MCPを用いたAI支援による送電線と野生生物の解析

ユースケース

ある野生生物保護団体は、カリフォルニア州サンホアキン・バレーにおいて、送電インフラが野生生物や保護地域に与える潜在的な影響を監視したいと考えています。

この団体は資金が限られているため、従来のGISソフトウェアを使って手動のGIS解析を継続的に行ったり、大規模な空間データセットを検査したりすることができません。彼らは、送電線や野生生物地域に関する空間的な質問をし、手動でSQLを書いたりGIS操作を行ったりせずに解析結果を得るための簡単な方法を必要としています。

このプロジェクトは、Model Context Protocol (MCP) を使用して、GISファイルに格納されDuckDBを通じてクエリされる空間データにClaudeを接続します。

ユーザーは、手動で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を通じて解析結果を直接返す

データ

このプロジェクトは現在、2つの空間データセットを扱います:

送電線

送電線インフラをShapefileとして表現したもの。

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

野生生物 / 一般公開地

カリフォルニア州魚類野生生物局の一般公開地データを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に対する操作に変換します。

空間解析

このプロジェクトは、次のような空間操作をサポートすることを目的としています:

  • 交差

  • 内部

  • 距離解析

  • バッファ解析

  • ジオメトリ検査

  • 空間フィルタリング

  • 集計

  • 交差するフィーチャのカウント

  • 面積計算

  • 長さ計算

たとえば、交差解析は概念的には次のように表すことができます:

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

これにより、Claudeが自然言語インターフェースを提供する一方で、DuckDBが空間解析を実行できます。

出力

結果は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. ShapefilesからGeoParquetへの移行

  2. カリフォルニアの野生生物データセットの追加

  3. 区画データセットの追加

  4. 保護地域の追加

  5. 環境制約データセットの追加

  6. 距離・バッファ解析の追加

  7. 自動空間レポートの追加

  8. 地図可視化の追加

  9. Webマップ向けの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