Geospatial MCP Server

Geospatial MCP Server

Enables advanced geospatial analysis including elevation queries, line-of-sight calculations, terrain visualization, and autonomous drone mission planning with real-time safety analysis and 3D visualization capabilities.

Category
Visit Server

README

🌍 Geospatial MCP Server & AI Assistant

CI

Author: Glenn Mossy | LinkedIn License: MIT

Tech Stack: Python 3.11 Gradio 6.0 FastAPI Docker HuggingFace LLMs MCP

A powerful Model Context Protocol (MCP) server designed for advanced geospatial analysis, 3D terrain visualization, and autonomous drone mission planning. This project integrates real-time geospatial tools with an AI Assistant powered by open-source LLMs.

Drone Mission Visualization (Above: 3D Visualization of a Drone Flight Path over Terrain)

✨ Key Features

🎮 Mission Control Center

  • Rim Survey – High‑altitude canyon rim survey.
  • Grand Canyon Tour – Scenic route through the canyon.
  • River Run – Low‑altitude river‑following flight.
  • Drone Speed – Adjustable speed slider with flight‑time estimate.
  • Line of Sight – Connectivity checks for towers and observation posts.
  • 3D Visualization – Interactive terrain and path rendering.

🚀 Proposed UI Upgrade

  • Mission Control – A future enhancement that will provide an intuitive dashboard for planning, visualizing, and analyzing drone missions (Rim Survey, Grand Canyon Tour, River Run, etc.). This upgrade will include speed controls, flight‑time estimates, and richer 3D visualizations.

🤖 AI Geospatial Assistant

  • Natural Language Interface: Chat with your geospatial data using models like Qwen/Qwen2.5-72B-Instruct (via Hugging Face).
  • Tool Use: The AI can autonomously call tools to answer complex questions:
    • "Can a tower at A see a rover at B?"
    • "Generate a heatmap for this area."
    • "Plan a route from X to Y."
  • Visual Responses: The assistant can generate and display terrain heatmaps directly in the chat.

🛠️ Geospatial Tool Suite

  • Elevation: Query high-resolution elevation data (DTED/SRTM) for any coordinate.
  • Line of Sight: Calculate visibility between any two points on the globe.
  • Heatmaps: Render visual elevation gradients for situational awareness.
  • Distance & MGRS: Utilities for distance calculation and coordinate conversion (Lat/Lon <-> MGRS).

🚀 Getting Started

Prerequisites

  • Docker (Recommended) OR Python 3.11+
  • Hugging Face API Token (Free) for the AI Assistant.

Quick Start (Docker)

  1. Clone the Repository:

    git clone https://github.com/gmossy/geo-mcp-server.git
    cd geo-mcp-server
    
  2. Configure Environment: Create a .env file in the root directory (this file is ignored by Git). Add your Hugging Face API token:

    HF_TOKEN=hf_YourHuggingFaceTokenHere
    

    The .env file allows the application to load the token at runtime without hard‑coding credentials.

  3. Build and Run:

    make build
    make run
    
  4. Access the Dashboard: Open http://localhost:7860 in your browser.

Local Development

Option A: Standard Pip

  1. Install Dependencies:

    pip install -r requirements.txt
    
  2. Run Server:

    ./start.sh
    

Option B: Using uv (Recommended for Speed)

uv is an extremely fast Python package installer and resolver.

  1. Install uv (if not installed):

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. Create a Virtual Environment:

    uv venv
    source .venv/bin/activate
    
  3. Install Dependencies:

    uv pip install -r requirements.txt
    
  4. Run Server:

    ./start.sh
    

đź“‚ Project Structure

  • gradio_dashboard.py: The main UI application (Gradio) featuring the Dashboard, AI Assistant, and Mission Control.
  • server.py: The core FastAPI server implementing the MCP protocol and geospatial logic.
  • bridge.py: An adapter to connect this server to Claude Desktop or other MCP clients.
  • dted/: Directory for storing elevation data tiles (DTED/SRTM).
  • sample_routes/: GeoJSON files defining mission paths.
  • scripts/: Helper utilities for data downloading and testing.

🔌 Connecting to Claude Desktop

You can use this server as a tool provider for Claude Desktop.

  1. Ensure the server is running.
  2. Configure Claude Desktop to use bridge.py:
    "geo-server": {
      "command": "python",
      "args": ["/absolute/path/to/geo-mcp-server/bridge.py"]
    }
    

📸 Screenshots

Mission Control

Rim Survey UI The Mission Control tab showing the Rim Survey mission visualization and report.

AI Assistant

(Placeholder: Screenshot of the AI Assistant generating a heatmap)

đź“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

🛠️ Build Information

  • Google Antigravity Version: 1.11.5
  • VSCode OSS Version: 1.104.0
  • Commit: afdb915a7890576374cec17dccf6d91249170a86
  • Date: 2025-11-20T07:11:11.677Z
  • Electron: 37.3.1
  • Chromium: 138.0.7204.235
  • Node.js: 22.18.0
  • V8: 13.8.258.31-electron.0
  • OS: Darwin x64 24.6.0
  • Language Server CL: 834602842

Created by Glenn Mossy

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured