- Go 95.2%
- Dockerfile 4.8%
| config | ||
| handler | ||
| middleware | ||
| .dockerignore | ||
| .gitignore | ||
| .woodpecker.yml | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| README.md | ||
MCP Nominatim
MCP Nominatim — это сервер геокодирования, реализованный с использованием протокола Model Context Protocol (MCP), который предоставляет инструменты для поиска местоположений, обратного геокодирования и получения деталей из Nominatim.
Описание
MCP Nominatim предоставляет HTTP-интерфейс, совместимый с MCP, для взаимодействия с Nominatim — поисковой системой для OpenStreetMap. Сервер предоставляет инструменты для поиска адресов, обратного геокодирования и получения подробной информации о местоположениях.
Функциональность
- search: Поиск местоположений по текстовому описанию или адресу.
- reverse: Обратное геокодирование — получение адреса по координатам (широта/долгота).
- lookup: Запрос адреса и других деталей для одного или нескольких объектов OSM (node, way, relation).
- details: Отображение всех деталей о конкретном месте, сохраненном в базе данных.
Дополнительный функционал
- DMSToDD: Преобразовать координаты в строке из формы DMS в десятичную
- DDToDMS: Преобразование десятичных координат из десятичных в DMS
- calculateAzimuth: Вычисляет новые координаты по азимуту и расстоянию
- haversineDistance: Вычисляет расстояние между двумя точками по формуле гаверсина в метрах.
Зависимости
- modelcontextprotocol/go-sdk — реализация SDK для MCP.
- Nominatim — API для геокодирования.
Установка и запуск
- Убедитесь, что у вас установлен Go.
- Склонируйте репозиторий:
git clone https://git.ymnuktech.ru/ymnuk/mcp-nominatim.git cd mcp-nominatim - Установите зависимости:
go mod tidy - Настройте конфигурацию (порт и другие параметры) в файле конфигурации.
- Запустите сервер:
go run main.go
Сервер будет запущен на адресе 0.0.0.0 и порту, указанном в конфигурации (по умолчанию 8080).
Использование
Сервер предоставляет MCP-инструменты по адресу /mcp. Для взаимодействия с сервером используйте MCP-совместимый клиент.
Лицензия
Этот проект лицензирован по лицензии MIT — смотрите файл LICENSE для получения подробной информации.