home / mcp / geosight mcp server

GeoSight MCP Server

Provides satellite imagery analysis via MCP with data sources, indices, change detection, object detection, and reporting.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "armaasinghn-geosight-mcp": {
      "command": "python",
      "args": [
        "-m",
        "geosight.server"
      ],
      "env": {
        "SENTINEL_HUB_CLIENT_ID": "YOUR_CLIENT_ID",
        "SENTINEL_HUB_CLIENT_SECRET": "YOUR_CLIENT_SECRET"
      }
    }
  }
}

GeoSight MCP Server enables you to run a production-ready satellite imagery analysis platform that responds to natural language queries. You can search for imagery, compute vegetation and water indices, classify land cover, detect changes and objects, and generate comprehensive reports from Earth observation data. This MCP server is designed to work with MCP clients to execute processing pipelines, manage data, and deliver actionable insights.

How to use

You interact with the GeoSight MCP Server through an MCP client. Start the local MCP server, connect your client, and issue high-level analytical requests like finding imagery for a location and date range, computing NDVI maps, detecting water bodies, or generating a formal environmental report. The server handles data fetching, model inference, visualization, and report creation, returning results such as maps, statistics, object detections, and downloadable reports.

How to install

Prerequisites: Python 3.11 or later, Docker and Docker Compose, and a Sentinel Hub account (free tier is fine). Ensure you have a Python virtual environment ready if you prefer isolating dependencies.

Step 1: Set up the project locally. Run these commands to clone and prepare the environment, then install dependencies.

# Clone the repository
git clone https://github.com/yourusername/geosight-mcp.git
cd geosight-mcp

# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate  # macOS/Linux
# Windows: venv\Scripts\activate

# Install dependencies
pip install -e ".[dev]"

Configuration and starting the server

Configure environment variables and run the MCP server. You will typically start the local Python MCP server and optionally use Docker to bring up supporting services.

{
  "mcpServers": {
    "geosight": {
      "command": "python",
      "args": ["-m", "geosight.server"],
      "cwd": "/path/to/geosight-mcp",
      "env": {
        "SENTINEL_HUB_CLIENT_ID": "your-client-id",
        "SENTINEL_HUB_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Start supporting services (redis, postgres, minio) in development mode if needed.

# Development mode
docker-compose up -d redis postgres minio

# Start the MCP server directly
python -m geosight.server

# Or start everything with Docker
docker-compose up -d

Available tools

search_imagery

Find available satellite imagery for a location and date range.

calculate_ndvi

Calculate vegetation index to assess plant health and crop status.

calculate_ndwi

Calculate water index to detect water bodies and floods.

detect_land_cover

Classify land into categories such as forest, water, urban, and agriculture.

detect_changes

Compare imagery across two time periods to identify changes.

detect_objects

Identify and locate objects like ships, planes, or buildings in imagery.

generate_report

Create comprehensive PDF/HTML reports with maps and analyses.