MCP-сервер OpenStreetMap (OSM)
Реализация сервера OpenStreetMap MCP, которая расширяет возможности LLM с помощью сервисов на основе определения местоположения и геопространственных данных.
Демо
Оптимизация точки встречи
Анализ соседства
Поиск парковки
Установка
В хостах MCP, таких как Claude Desktop, Cursor, Windsurf и т. д.
osm-mcp-server
: Основной сервер, доступный для публичного использования.
Функции
Этот сервер предоставляет LLM-специалистам инструменты для взаимодействия с данными OpenStreetMap, позволяя приложениям на основе определения местоположения:
- Геокодирование адресов и названий мест в координаты
- Обратное геокодирование координат в адреса
- Найти ближайшие интересные места
- Получить указания маршрута между локациями
- Поиск мест по категории в пределах ограничивающей рамки
- Предложите оптимальные места встречи для нескольких человек
- Исследуйте районы и получайте исчерпывающую информацию о местоположении
- Найти школы и учебные заведения рядом с местом
- Проанализируйте варианты поездок из дома на работу и обратно
- Найдите станции зарядки электромобилей с разъемом и фильтрацией питания
- Проведение анализа пригодности для проживания в районе недвижимости
- Найдите парковочные места с информацией о наличии мест и стоимости
Компоненты
Ресурсы
Сервер реализует ресурсы, основанные на местоположении:
location://place/{query}
: Получить информацию о местах по названию или адресуlocation://map/{style}/{z}/{x}/{y}
: Получить стилизованные фрагменты карты по указанным координатам
Инструменты
На сервере реализовано несколько геопространственных инструментов:
geocode_address
: Преобразование текста в географические координатыreverse_geocode
: Преобразование координат в понятные человеку адресаfind_nearby_places
: Найдите интересные места рядом с определенным местоположениемget_route_directions
: Получить пошаговые инструкции между локациямиsearch_category
: Поиск мест определенных категорий в определенном районеsuggest_meeting_point
: Найдите оптимальные места для встреч нескольких человекexplore_area
: Получите исчерпывающие данные о районеfind_schools_nearby
: Найти учебные заведения рядом с определенным местомanalyze_commute
: Сравните варианты передвижения между домом и работойfind_ev_charging_stations
: поиск инфраструктуры зарядки электромобилей с помощью фильтрацииanalyze_neighborhood
: Оцените пригодность района для проживания в сфере недвижимостиfind_parking_facilities
: Найдите варианты парковки рядом с местом назначения
Локальное тестирование
Запуск сервера
Чтобы запустить сервер локально:
- Установите пакет в режиме разработки:
- Запустите сервер:
- Сервер запустится и будет прослушивать запросы MCP на стандартном вводе/выводе.
Тестирование с использованием примеров клиентов
Репозиторий включает два примера клиентов в каталоге examples/
:
Пример базового клиента
client.py
демонстрирует базовое использование сервера OSM MCP:
Это позволит:
- Подключитесь к локально работающему серверу
- Получить информацию о Сан-Франциско
- Поиск ресторанов в этом районе
- Получайте комплексные картографические данные с отслеживанием прогресса
Пример интеграции LLM
llm_client.py
предоставляет вспомогательный класс, предназначенный для интеграции LLM:
В этом примере показано, как магистр права может использовать помощника по местоположению для:
- Получайте информацию о местоположении из текстовых запросов
- Найти ближайшие интересные места
- Прокладывайте маршруты между локациями
- Найдите оптимальные места встречи
- Исследуйте окрестности
Написание собственного клиента
Чтобы создать собственного клиента:
- Импортируйте клиент MCP:
- Инициализируйте клиент с URL-адресом вашего сервера:
- Вызов инструментов или доступ к ресурсам:
Конфигурация Claude Desktop для локального сервера
В MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
В Windows: %APPDATA%/Claude/claude_desktop_config.json
Разработка
Строительство и издательское дело
Чтобы подготовить пакет к распространению:
- Синхронизируем зависимости и обновляем файл блокировки:
- Сборка дистрибутивов пакетов:
Это создаст исходный код и дистрибутивы wheel в каталоге dist/
.
- Опубликовать в PyPI:
Примечание: вам необходимо будет задать учетные данные PyPI с помощью переменных среды или флагов команд.
Отладка
Поскольку серверы MCP работают через stdio, отладка может быть сложной. Для лучшего опыта отладки мы настоятельно рекомендуем использовать MCP Inspector .
Вы можете запустить MCP Inspector через npm
с помощью этой команды:
После запуска Инспектор отобразит URL-адрес, к которому вы можете перейти в своем браузере, чтобы начать отладку.
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Расширяет возможности LLM с помощью сервисов на основе определения местоположения и геопространственных данных, позволяя пользователям геокодировать адреса, находить близлежащие объекты интереса, получать маршруты, оптимизировать места встреч и анализировать окрестности.
Related MCP Servers
- AsecurityAlicenseAqualityEnables LLMs to perform travel-related tasks by interacting with Google Maps and travel planning services including location search, place details, and travel time calculations.Last updated -53621JavaScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that provides Google Maps API integration, allowing users to search locations, get place details, geocode addresses, calculate distances, obtain directions, and retrieve elevation data through LLM processing capabilities.Last updated -74315TypeScriptMIT License
- -security-license-qualityEnables large language models to access user geolocation information through EdgeOne Pages Functions using the Model Context Protocol.Last updated -TypeScriptMIT License
- AsecurityAlicenseAqualityAn MCP server that gives LLMs access to geographic data conversion tools, enabling transformations between different formats like WKT, GeoJSON, CSV, TopoJSON, and KML, as well as performing reverse geocoding.Last updated -9232JavaScriptMIT License