- Home
- MCP servers
- STAC
STAC
- python
6
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"wayfinder-foundry-stac-mcp": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/wayfinder-foundry/stac-mcp",
"stac-mcp"
],
"env": {
"STAC_MCP_ENV": "<STAC_MCP_ENV>"
}
}
}
}You have an MCP Server that gives AI assistants and applications access to STAC catalogs for discovering and accessing geospatial data. It supports multiple output modes and provides tools to search, browse, and retrieve STAC metadata and assets, enabling efficient, structured interactions with geospatial datasets.
How to use
You interact with the server through an MCP client. The server exposes a set of tools that let you explore STAC catalogs, find collections and items, and estimate data sizes without downloading data. You can request results in either text or a compact JSON envelope for easy machine consumption, and you can mix human-readable content with structured data as needed.
Use cases include searching for collections across STAC catalogs, inspecting a specific collection’s metadata, filtering items by spatial or temporal constraints, and retrieving item details or assets. When you request data in JSON mode, you receive a single JSON envelope that is designed for easy chaining in automated workflows.
To get started with a client, configure the MCP client to connect to the local or remote MCP server as described in the server configuration section. Then call the available tools (such as get_root, search_collections, get_collection, search_items, get_item, and estimate_data_size) with your desired parameters. The server will respond in the selected output format and provide the requested STAC information.
How to install
Prerequisites: ensure you have Python installed and a working environment for running the MCP server. You may also install and use container tooling if you prefer to run the server in a container.
# Create and activate a Python virtual environment (optional but recommended)
python -m venv venv
source venv/bin/activate # on Unix or macOS
venv\Scripts\activate # on Windows
# Install the MCP server package in editable mode (if source is available locally)
pip install -e ".[dev]" # enables development dependencies
# Run the MCP server (stdio transport) using the command shown in the MCP config
uvx --from git+https://github.com/wayfinder-foundry/stac-mcp stac-mcp
Configuration and usage notes
The MCP server provides a standard JSON-based configuration block for starting with stdio transport. The key fields specify the command to run, the arguments, and the transport type. Use the exact command and arguments shown to ensure correct behavior.
{
"stac": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/wayfinder-foundry/stac-mcp",
"stac-mcp"
],
"transport": "stdio"
}
}
Additional operational notes
The server supports dual output modes: text and structured json. When a client requests json, the response is a single MCP TextContent object whose text field contains a compact JSON envelope: { "mode": "json", "data": { ... } }. This design preserves compatibility while enabling structured consumption by automation.
Troubleshooting and tips
If you encounter connectivity or transport issues, verify that the stdio command is available and that the environment can locate the uvx executable. If you run into startup problems, check that the specified project and module references in the command are accessible from your runtime environment.
Security considerations
Operate the MCP server behind appropriate network controls and apply standard security practices for exposing API-like endpoints. Use least-privilege configurations and rotate any exposed tokens or keys according to your security policy.
Notes on tooling and capabilities
The server exposes a suite of tools to enable comprehensive STAC catalog interaction: get_root, get_conformance, search_collections, get_collection, search_items, get_item, and estimate_data_size. These tools enable capability discovery, adaptive querying, and efficient data size estimation for geospatial datasets.
Examples of practical usage
Use search_items to filter STAC items by collection, spatial bounds, and time range, or retrieve a specific item’s metadata with get_item. Use estimate_data_size to obtain an approximate data footprint for a given item or set of items without downloading the data.
Glossary and references
STAC: SpatioTemporal Asset Catalog. MCP: Model Context Protocol. TextContent: MCP content wrapper used for text responses. JSON envelope: a compact structure for machine-readable data when output_format is json.
Available tools
get_root
Fetch root document containing id, title, description, links, and conformance subset.
get_conformance
List conformance classes; optionally verify specific URIs.
search_collections
List and search available STAC collections.
get_collection
Get detailed information about a specific collection.
search_items
Search for STAC items with spatial, temporal, and attribute filters.
get_item
Get detailed information about a specific STAC item.
estimate_data_size
Estimate data size for STAC items using lazy loading and AOI clipping.