Skip to main content
Glama
HarshShinde0

GeoCroissant MCP Server

by HarshShinde0

GeoCroissant MCP Server

Model Context Protocol (MCP) サーバーです。GeoCroissant とその地理空間拡張のためのサーバー。

機能

  • EO データセットの検出 - ライブの Element84 Earth Search API (https://earth-search.aws.element84.com/v1、AWS Open Data) に対する STAC コレクションのキーワード / トピック検索と、シーンの空間検索 (bbox + datetime + 雲量) を行います。センサーのモダリティ分類 (optical / radar / elevation) とテーマのショートカット (floodwildfirendvidem、...) を備えています。

  • STAC -> GeoCroissant 生成 - ライブ検索結果を検証済みの GeoCroissant ドキュメントに変換します。schema.org のカバレッジ、CRS、バンド構成、eo:bands から導出されたスペクトルメタデータ (マイクロメートルからナノメートルに変換)、アセット URL を直接参照する distribution の FileObject、シーンごとに 1 行を埋め込む RecordSet などを生成します。

  • 公式バリデータをツールとして提供 - mlcroissant (mlcroissant validate と同じエンジン) によるエラーと警告を含む、構造化された pass/fail レポートを返します。

  • 深い検査 - コアメタデータとすべての GeoCroissant プロパティを検査します: CRS、空間 / 時間解像度、バンド構成、スペクトルバンドのメタデータ、レコードエンドポイント、空間インデックス / バイアス / サンプリング戦略。

  • 構造化グラフの抽出 - ライブラリが内部で構築する有向多重グラフを公開します (Metadata / FileObject / FileSet / RecordSet / Field ノード、source / join / containment エッジ)。

  • レコードのマテリアライズ - 実際の操作グラフ (ダウンロード、抽出、変換) を実行し、Python の Dataset.records(...) とまったく同様に実際のレコードをプレビューします。

  • 検証済みスキャフォールディング - 構造化されたパラメータから標準準拠の GeoCroissant JSON-LD を生成し、実際のバリデータでチェックします。

  • 組み込み仕様リファレンス - 名前空間、ドメイン / カーディナリティ付きのすべての geocr: プロパティ、正規の @context、サンプルドキュメント、Python API。

Related MCP server: Copernicus Earth Observation MCP Server

ツール

ツール

説明

list_eo_catalogs

登録済みの EO STAC カタログ (Earth Search) を、モダリティ、厳選されたコレクション、トピックキーワードとともに一覧表示します。

search_eo_datasets

Earth Search コレクションのトピック / キーワード検索 - 'flood' は Sentinel-1 + Sentinel-2、'dem' は Copernicus DEM などを返します。

search_eo_scenes

bbox 内の空間 / 時間 / 雲量のシーン検索。シーンごとの ID、日付、雲量、ネイティブ EPSG、アセットキーを返します。

create_geocroissant_from_stac

エンドツーエンドのパイプライン: ライブ STAC 検索 -> 検証済み GeoCroissant JSON-LD (カバレッジ、CRS、バンドとスペクトルメタデータ、distribution URL、インラインシーンレコード) を生成します。必要に応じてディスクに書き込みます。

validate_croissant

Croissant / GeoCroissant ドキュメント (ファイルパス、URL、インライン JSON) を検証します。validerrorswarnings、conformance targets を返します。

inspect_geocroissant

ドキュメントの構造化サマリー: メタデータ、geocr: プロパティ、distribution エントリ、各 RecordSet / Field の型、形状、ソースチェーン。

get_structure_graph

ライブラリ内部の構造グラフのノードと有向エッジ - 系統と依存関係の解析。

list_record_sets

@id、キー、インラインレコード / サンプル数、ネストされたフィールドのサマリーを持つ RecordSet を一覧表示します。

get_records_preview

RecordSet の先頭 N 件のレコードをマテリアライズします (フィルタリング可)。Python API と同様にダウンロード / 変換を実行します。

extract_distribution_urls

distribution からダウンロード可能な URL を抽出します: contentUrl、フォーマット、md5/sha256、FileSet の include。

create_geocroissant_scaffold

パラメータから検証済み GeoCroissant ドキュメントを生成します (ネットワーク不要)。必要に応じてディスクに書き込みます。

get_geocroissant_spec_reference

仕様リファレンス: overviewcontextpropertiesexamplepython-api または all

カタログの追加

レジストリは データ駆動 です (src/geocr_mcp_server/config/catalogs.yaml)。各カタログは、STAC URL、モダーティごとの厳選されたコレクション、共有の topics とモダリティのキーワードヒントを持つエントリです。コードを変更せずに別のカタログを登録するには:

  1. YAML を任意の場所にコピーし、catalogs の下にカタログを追加します (テーマのマッピングは topics の下にも追加します)。

  2. 次の環境変数をそのファイルに設定します:

"env": { "GEOCR_CATALOGS_CONFIG": "/path/to/catalogs.yaml" }

ローダーは、トピック参照がどこかのカタログのコレクションリストに存在するかを検証するため、タイプミスは起動時にすぐに失敗します。

推奨されるエージェントワークフロー

discovery:  list_eo_catalogs -> search_eo_datasets("burn scar", modality=optical)
            -> search_eo_scenes(bbox=[...], datetime_range=...)
metadata:   create_geocroissant_from_stac(...)  # validated output + optional file
consuming:  inspect_geocroissant -> get_records_preview -> extract_distribution_urls
authoring:  create_geocroissant_scaffold -> edit -> validate_croissant

インストール

クローンは不要です。pip / uvx が geocr-mcpmlcroissant 依存機能の両方を GitHub から直接取得します。クローンが必要なのは開発時のみです。

pip

pip install git+https://github.com/HarshShinde0/geocr_mcp.git@main

唯一の依存である mlcroissant は、GeoCr FROM`フォークから自動的に取得されます:

pip install git+https://github.com/HarshShinde0/croissant.git@main#subdirectory=python/mlcroissant

uv / uvx (クライアントに推奨)

uvx --from "geocr-mcp @ git+https://github.com/HarshShinde0/geocr_mcp.git@main" geocr-mcp-server

Docker

docker build -t geocr-mcp-server .
# stdio (local clients):
docker run -i --rm geocr-mcp-server
# hosted (HTTP transports):
docker run -p 8000:8000 geocr-mcp-server --transport streamable-http --host 0.0.0.0 --port 8000

クライアント設定

クローンは必要ありません。クライアントは uvx を介して両パッケージを GitHub から直接インストール (およびキャッシュ) します。

{
  "mcpServers": {
    "geocr": {
      "command": "uvx",
      "args": [
        "--from", "geocr-mcp @ git+https://github.com/HarshShinde0/geocr_mcp.git@main",
        "geocr-mcp-server"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
{
  "mcp": {
    "servers": {
      "geocr": {
        "command": "uvx",
        "args": [
          "--from", "geocr-mcp @ git+https://github.com/HarshShinde0/geocr_mcp.git@main",
          "geocr-mcp-server"
        ],
        "env": {
          "FASTMCP_LOG_LEVEL": "ERROR"
        }
      }
    }
  }
}

サーバーコード自体を反復する場合にのみ必要です:

git clone https://github.com/HarshShinde0/geocr_mcp.git   # or this monorepo
{
  "mcpServers": {
    "geocr": {
      "command": "uv",
      "args": [
        "--directory", "/path/to/geocr_mcp",
        "run", "geocr-mcp-server"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

共有 / リモートクラウド利用のために、同じサーバーを HTTP トランスポートで実行します:

geocr-mcp-server --transport streamable-http --host 0.0.0.0 --port $PORT

Render へのデプロイ (1-Click Blueprint)

このリポジトリには render.yaml の blueprint が含まれています:

  1. Render Dashboard にログインします。

  2. New + -> Blueprint をクリックし、リポジトリ HarshShinde0/geocr_mcp を接続します。

  3. Apply をクリックします。Render がコンテナを自動的にビルドし、サーバーをデプロイルします。

ライブエンドポイント: https://geocr-mcp-server.onrender.com/mcp

ホスト型 MCP へのクライアント接続

AI クライアント、IDE、またはエージェントの設定 (mcpServers) で:

{
  "mcpServers": {
    "geocr-remote": {
      "url": "https://geocr-mcp-server.onrender.com/mcp"
    }
  }
}

カスタムリバースプロキシの背後では、プロキシで TLS を終端し、GEOCR_HOST=0.0.0.0GEOCR_TRANSPORT=streamable-http を設定してください。

環境変数

変数

デフォルト

説明

FASTMCP_LOG_LEVEL

WARNING

stderr ログのログレベル (DEBUGINFOWARNINGERROR)。

GEOCR_OUTPUT_DIR

システムの一時ディレクトリ

生成されたファイルが書き込まれるディレクトリ (ファイル名はベース名にサニタライズされます)。

GEOCR_CATALOGS_CONFIG

同梱の YAML

代替のカタログレジストリファイルのパス - コードを変更せずにカタログ / トピックを追加できます。

GEOCR_HOST / GEOCR_PORT

127.0.0.1 / 8000

SSE / streamable-http トランスポートのバインドアドレス (CLI フラグでも設定可能)。

セキュリティに関する考慮事項

  • サーバーは、ツール入力が URL を参照する場合、またはリモートの distribution からレコードをマテリア時の (get_records_preview) 場合のみネットワークリクエストを行います。信頼できないコンテキストでは limit を小さく保ってください。

  • 生成されたファイルは常に GEOCR_OUTPUT_DIR 内に書き込まれます。パストラバーサルは、ファイル名をベスト名に短縮することで防がれます。

  • コンテナは non-root で実行してください (提供されている Dockerfile はすでにそうなっています)。

開発

cd geocr_mcp
uv venv && uv sync --all-groups     # or: python -m pip install -e ".[dev]"
uv run pytest --cov --cov-branch    # unit tests (no network required)
uv run ruff check src tests         # lint (same rules as awslabs/mcp)
npx @modelcontextprotocol/inspector geocr-mcp-server   # interactive debugging
Install Server
F
license - not found
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (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

  • A
    license
    B
    quality
    A
    maintenance
    Enables AI assistants to search and access geospatial datasets through STAC (SpatioTemporal Asset Catalog) APIs. Supports querying satellite imagery, weather data, and other geospatial assets with spatial, temporal, and attribute filters.
    11
    13
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Provides tools to search, download, and manage satellite imagery from all Copernicus Sentinel missions via the Copernicus Data Space ecosystem. It enables advanced geospatial queries, temporal coverage analysis, and automated data management for Earth observation tasks.
    13
    3
    LGPL 3.0
  • F
    license
    A
    quality
    D
    maintenance
    Provides access to the OpenLandMap STAC catalog, offering over 100 global environmental datasets including soil, climate, and vegetation data. It enables AI agents to discover, search, and retrieve Cloud-Optimized GeoTIFFs for global geospatial analysis.
    27
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides geospatial data intelligence tools for inspecting, querying, and converting geospatial data using DuckDB Spatial.
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.

  • Create, validate, edit, export (markdown/svg/png/mermaid), and search JSON Canvas files.

  • GIS tools for AI agents: 65 free tools + 8 paid (hazard/site-scouting/GeoJSON export)

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/HarshShinde0/geocr_mcp'

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