ГИС MCP Сервер
Реализация сервера Model Context Protocol (MCP), которая подключает большие языковые модели (LLM) к операциям ГИС с использованием библиотек ГИС (в настоящее время поддерживаются Shapely и PyProj), позволяя помощникам ИИ выполнять геопространственные операции и преобразования.
Альфа
Версия 0.2.0 (Альфа) находится в стадии активной разработки. Мы приветствуем вклады и разработчиков, которые присоединятся к нам в создании этого проекта.
🎥 Демо
Related MCP server: Math-MCP
📋 Содержание
🚀 Особенности
🔍 Комплексные геометрические операции (пересечение, объединение, буферизация и т. д.)
🌐 Расширенные преобразования координат и проекции
📏 Точные расчеты расстояния и площади
🗺️ Пространственный анализ и проверка
🛠️ Простая интеграция с MCP-совместимыми клиентами
📋 Предварительные условия
Python 3.10 или выше
MCP-совместимый клиент (например, Claude Desktop или Cursor)
Интернет-соединение для установки пакета
🛠️ Установка
Выберите наиболее подходящий для ваших нужд способ установки:
📦 Установка пипа
Установка pip рекомендуется для большинства пользователей:
Установите менеджер пакетов UV:
Создание виртуальной среды (Python 3.10+):
Установите пакет:
Запустите сервер:
Конфигурация pip
Чтобы использовать установку pip с Claude или Cursor, добавьте следующую конфигурацию:
Клод Десктоп:
Окна:
Linux/Mac:
Курсор IDE (создать .cursor/mcp.json ):
Окна:
Linux/Mac:
После настройки:
Обязательно замените
YourUsernameна свое фактическое имя пользователя.Для установки в режиме разработки замените
/path/to/gis-mcpна фактический путь к вашему проекту.Перезапустите IDE, чтобы применить изменения.
Теперь вы можете использовать все операции ГИС через Клода или Курсор!
🛠️ Разработка Установка
Для участников и разработчиков:
Установите менеджер пакетов UV:
Создайте виртуальную среду:
Установите пакет в режиме разработки:
Запустите сервер:
Конфигурация разработки
Чтобы использовать установку разработки с Claude или Cursor, добавьте следующую конфигурацию:
Клод Десктоп:
Окна:
Linux/Mac:
Курсор IDE (создать .cursor/mcp.json ):
Окна:
Linux/Mac:
После настройки:
Обязательно замените
YourUsernameна свое фактическое имя пользователя.Для установки в режиме разработки замените
/path/to/gis-mcpна фактический путь к вашему проекту.Перезапустите IDE, чтобы применить изменения.
Теперь вы можете использовать все операции ГИС через Клода или Курсор!
🛠️ Доступные инструменты
Операции Shapely
Основные операции
Инструмент | Описание |
| Создайте буфер вокруг геометрических объектов с настраиваемыми параметрами |
| Найти пересечение двух геометрий |
| Объединить две геометрии |
| Найдите разницу между геометриями |
| Найдите симметричную разницу между геометриями |
Геометрические свойства
Инструмент | Описание |
| Вычислить выпуклую оболочку геометрии |
| Получить ограничивающую рамку геометрии |
| Получить минимальный повернутый прямоугольник геометрии |
| Получить центроид геометрии |
| Получить границы геометрии |
| Получить координаты геометрии |
| Получить тип геометрии |
Трансформации
Инструмент | Описание |
| Поворот геометрии на заданный угол и начало координат |
| Масштабировать геометрию с помощью коэффициентов x и y |
| Перемещение геометрии со смещениями по осям x, y и z |
Расширенные операции
Инструмент | Описание |
| Создать триангуляцию геометрии |
| Построить диаграмму Вороного из точек |
| Создать объединение нескольких геометрий |
Измерения
Инструмент | Описание |
| Получить длину геометрии |
| Получить площадь геометрии |
Проверка и упрощение
Инструмент | Описание |
| Проверьте правильность геометрии |
| Сделать геометрию допустимой |
| Упростить геометрию с заданным допуском |
Операции PyProj
Преобразования координат
Инструмент | Описание |
| Преобразование координат между CRS |
| Проецирование геометрии между CRS |
Информация CRS
Инструмент | Описание |
| Получите подробную информацию о CRS |
| Получить список всех доступных CRS |
| Получить зону UTM для заданных координат |
| Получить UTM CRS для заданных координат |
| Получить геоцентрическую систему отсчета координат для заданных координат |
Геодезические расчеты
Инструмент | Описание |
| Получить информацию о геодезическом расчете |
| Рассчитать геодезическое расстояние между точками |
| Вычислить точку на заданном расстоянии и азимуте |
| Вычислить площадь многоугольника с помощью геодезических расчетов |
🛠️ Развитие клиентов
Пример использования инструментов:
Буферная операция
Преобразование координат
Геодезическое расстояние
🔮 Планируемые функции
Добавить поддержку большего количества библиотек ГИС — GDAL/OGR
Внедрить расширенную пространственную индексацию
Добавить поддержку растровых операций
Реализовать возможности сетевого анализа
Добавить поддержку 3D-геометрии
Реализовать оптимизацию производительности
🤝 Вклад
Мы приветствуем ваши вклады! Вот как вы можете помочь:
Форк репозитория
Создайте ветку функций (
git checkout -b feature/AmazingFeature)Зафиксируйте ваши изменения (
git commit -m 'Add some AmazingFeature')Отправка в ветку (
git push origin feature/AmazingFeature)Открыть запрос на извлечение
Убедитесь, что описание вашего PR четко описывает проблему и ее решение. Включите соответствующий номер проблемы, если применимо.
📄 Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE.
🔗 Связанные проекты
Модель контекстного протокола — основная реализация MCP
Shapely — пакет Python для манипулирования и анализа геометрических объектов
PyProj — интерфейс Python к библиотеке PROJ
📞 Поддержка
Для получения поддержки, пожалуйста, создайте запрос в репозитории GitHub.