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-адрес, к которому вы можете перейти в своем браузере, чтобы начать отладку.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Расширяет возможности LLM с помощью сервисов на основе определения местоположения и геопространственных данных, позволяя пользователям геокодировать адреса, находить близлежащие объекты интереса, получать маршруты, оптимизировать места встреч и анализировать окрестности.
Related MCP Servers
- -securityAlicense-qualityEnables integration with DuckDuckGo search capabilities for LLMs, supporting comprehensive web search, regional filtering, result types, and safe browsing with caching and customizable search parameters.Last updated -262TypeScriptMIT License
- 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
- -securityFlicense-qualityEnables interaction with lightning addresses and common lightning tools via your LLM, providing Lightning Network functionality through natural language.Last updated -151TypeScript
- -securityFlicense-qualityEnables LLMs to interact with DataForSEO and other SEO APIs through natural language, allowing for keyword research, SERP analysis, backlink analysis, and local SEO tasks.Last updated -1,00838TypeScript