Skip to main content
Glama

🌍 Geospatial MCP Server & AI Assistant

Author: Glenn Mossy
License: MIT

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

  • Autonomous Mission Planning: Select from pre-defined scenarios like "Rim Survey", "Grand Canyon Tour", and "River Run".

  • Safety Analysis: Automatically calculates route distance, checks for terrain collisions, and verifies safe altitude margins.

  • Line of Sight (LOS): Simulates connectivity from Comms Towers and visibility from Observation Posts.

  • 3D Visualization: Interactive 3D plots of the drone's flight path relative to the terrain.

🤖 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:

    HF_TOKEN=hf_YourHuggingFaceTokenHere
  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

(Placeholder: Screenshot of the Mission Control tab showing the 3D plot and analysis 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.


Created by Glenn Mossy

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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/gmossy/geospatial_mcp_server_experiments'

If you have feedback or need assistance with the MCP directory API, please join our Discord server