GeoCroissant MCP Server
GeoCroissant MCP Server
Сервер Model Context Protocol (MCP) для GeoCroissant и его геопространственного расширения.
Возможности
Поиск наборов данных дистанционного зондирования — поиск по ключевым словам/темам по коллекциям STAC, а также пространственный поиск сцен (bbox + дата/время + облачность) через живой Element84 Earth Search API (
https://earth-search.aws.element84.com/v1, AWS Open Data), с классификацией по типу сенсора (optical / radar / elevation) и тематическими ярлыками (flood,wildfire,ndvi,dem, ...).Генерация STAC -> GeoCroissant — превращает живые результаты поиска в валидированный документ GeoCroissant: набор schema.org, CRS, конфигурация каналов и спектральные метаданные, полученные из
eo:bands(с переводом из микрометров в нанометры), объекты FileObject дистрибутива для прямых ссылок на ресурсы и RecordSet, содержащий по одной сцене в строке.Официальный валидатор как инструмент — структурированные отчеты успех/неуспех с ошибками и ошибками предупреждения из
mlcroissant(тот же движок, что иmlcroissant validate).Глубокий анализ — основные метаданные плюс все свойства GeoGeo JSON: CRS, пространственное/временное разрешение, конфигурация каналов, спектральные метаданные каналов, эталонная точка записей, индекс/смещение/стратегия выборки.
Извлечение структурного графа — предоставляет направленный мультиграф, который строится библиотекой внутренне (узлы Metadata / FileObject / FileSet / RecordSet / Field; процедуры edges source, join и containment).
Инстанцирование записей — выполняет реальный граф операций (загрута, извлекает, преобразует) для предпросмотра фактических записей, точно как
Dataset.records(...)в Python.Верифицированный каркас — генерирует соответствующий стандартам GeoCroissant a JSON-LD на основе структурированных параметров и проверяет его с помощью настоящего валидатора.
Встроенная спецификация — пространства имен, все свойства
gecr:с областями/кардинальностью, канонический@context, пример документа и Python API.
Related MCP server: Copernicus Earth Observation MCP Server
Инструменты
Инструмент | Описание |
| Зарегистрированные EO STAC каталоги (Earthop) с типами сенс, подб. |
"env": { "GEOCR_CATALOGS_CONFIG": "/path/to/catalogs.yaml" }The loader validates that topic references exist in some catalog's collection lists, so typos fail fast at startup.
Recommended agent workflow
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_croissantInstallation
No clone needed -pip/uvx install both geocr-mcp and its mlcroissant dependency directly from GitHub. Cloning is only needed for development.
pip
pip install git+https://github.com/HarshShinde0/geocr_mcp.git@mainThe single dependency mlcroissant is pulled automatically from the GeoJSON fork:
pip install git+https://github.com/HarshShinde0/croissant.git@main#subdirectory=python/mlcroissantuv / uvx (recommended for clients)
uvx --from "geocr-mcp @ git+https://github.com/HarshShinde0/geocr_mcp.git@main" geocr-mcp-serverDocker
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 8000Client configuration
No clone needed - clients install (and cache) both packages directly from GitHub via uvm.
{
"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"
}
}
}
}
}Only needed when iterating on the server code itself:
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": []
}
}
}Run the same server with an HTTP transport for shared/remote cloud usage:
geocr-mcp-server --transport streamable-http --host 0.0.0.0 --port $PORTDeploy on Render (1-Click Blueprint)
This repository includes a render.yaml blueprint:
Log into Render Dashboard.
Click New + -> Blueprint and attach the repository
HarshShinde0/geocr_mcp.Click Apply. Render will automatically build the container and deploy the server.
Live endpoint: https://geocroissant-mcp-server.onrender.com/mcp
Connecting Clients to Hosted MCP
In your AI client, IDE, or agent configuration (mcpServers):
{
"mcpServers": {
"geocr-remote": {
"url": "https://geocr-mcp-server.onrender.com/mcp"
}
}
}Behind a custom reverse proxy, end TLS at the proxy and set GEOCR_HOST=0.0.0.0 and GEOCR_TRANSPORT=streamable-http.
Environment variables
Variable | Default | Description |
|
| Log level for stderr logging ( |
| system temp dir | Directory where generated files are written (filenames are reduced to basenames). |
| shipped YAML | Path to an alternative catalog registry file - add catalogs/topics without code changes. |
|
| Bind address for the SSE/HTTP transports (also set via CLI flags). |
Security considerations
The server only makes network requests when a tool input references a URL, or when materializing records from remote distributions (
get_records_preview). Keep thelimitlow in untrusted contexts.Generated files are always written inside
GEOCR_OUTPUT_DIR; path traversal is blocked by reducing filenames to their basename.Run the container as non-root (the provided Dockerfile already does).
Development
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 debuggingMaintenance
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
- AlicenseBqualityAmaintenanceEnables 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.1113MIT
- AlicenseBqualityDmaintenanceProvides 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.133LGPL 3.0
- FlicenseAqualityDmaintenanceProvides 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
- AlicenseNot gradedqualityCmaintenanceProvides geospatial data intelligence tools for inspecting, querying, and converting geospatial data using DuckDB Spatial.1MIT
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)
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/HarshShinde0/geocr_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server