🌍 Geospatial MCP Server & AI Assistant

CI

Author: Glenn Mossy | LinkedInLicense: MIT

Tech Stack:Python 3.11Gradio 6.0FastAPIDockerHuggingFaceLLMsMCP

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 UIThe 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

MCP Server · Populars

MCP Server · New

    campfirein

    ByteRover CLI

    ByteRover CLI (brv) - The portable memory layer for autonomous coding agents (formerly Cipher)

    Community campfirein
    cafeTechne

    Antigravity Link (VS Code Extension)

    VS Code extension that bridges Antigravity sessions to mobile for uploads and voice-to-text

    Community cafeTechne
    cookjohn

    TeamMCP

    MCP-native collaboration server for AI agent teams — real-time messaging, task management, and web dashboard with just 1 npm dependency

    Community cookjohn
    NameetP

    pdfmux

    PDF extraction that checks its own work. #2 reading order accuracy — zero AI, zero GPU, zero cost.

    Community NameetP
    node9-ai

    🛡️ Node9 Proxy

    The Execution Security Layer for the Agentic Era. Providing deterministic "Sudo" governance and audit logs for autonomous AI agents.

    Community node9-ai