OpenStreetMap (OSM) MCP-Server
Eine OpenStreetMap MCP-Serverimplementierung, die LLM-Funktionen mit standortbasierten Diensten und Geodaten erweitert.
Demo
Treffpunktoptimierung
Nachbarschaftsanalyse
Parkplatzsuche
Installation
In MCP-Hosts wie Claude Desktop, Cursor, Windsurf usw.
osm-mcp-server
: Der Hauptserver, der zur öffentlichen Nutzung verfügbar ist.
Merkmale
Dieser Server stellt LLMs Tools zur Interaktion mit OpenStreetMap-Daten zur Verfügung und ermöglicht standortbasierten Anwendungen Folgendes:
- Geokodieren Sie Adressen und Ortsnamen zu Koordinaten
- Geokodieren Sie Koordinaten umkehrend in Adressen
- Suchen Sie nach interessanten Orten in der Nähe
- Erhalten Sie Wegbeschreibungen zwischen Standorten
- Suchen Sie nach Orten nach Kategorie innerhalb eines Begrenzungsrahmens
- Schlagen Sie optimale Treffpunkte für mehrere Personen vor
- Erkunden Sie Gebiete und erhalten Sie umfassende Standortinformationen
- Schulen und Bildungseinrichtungen in der Nähe eines Standorts finden
- Analysieren Sie Pendelmöglichkeiten zwischen Wohnort und Arbeit
- Lokalisieren Sie EV-Ladestationen mit Anschluss und Stromfilterung
- Führen Sie eine Analyse der Lebensqualität in der Nachbarschaft für Immobilien durch
- Finden Sie Parkplätze mit Verfügbarkeits- und Gebühreninformationen
Komponenten
Ressourcen
Der Server implementiert standortbasierte Ressourcen:
location://place/{query}
: Informationen zu Orten nach Name oder Adresse abrufenlocation://map/{style}/{z}/{x}/{y}
: Holen Sie sich gestaltete Kartenkacheln an angegebenen Koordinaten
Werkzeuge
Der Server implementiert mehrere Geodatentools:
geocode_address
: Konvertiert Text in geografische Koordinatenreverse_geocode
: Konvertieren Sie Koordinaten in für Menschen lesbare Adressenfind_nearby_places
: Entdecken Sie interessante Orte in der Nähe eines Standortsget_route_directions
: Holen Sie sich detaillierte Wegbeschreibungen zwischen Standortensearch_category
: Finde Orte bestimmter Kategorien in einem Gebietsuggest_meeting_point
: Finden Sie optimale Treffpunkte für mehrere Personenexplore_area
: Erhalten Sie umfassende Daten über eine Nachbarschaftfind_schools_nearby
: Bildungseinrichtungen in der Nähe eines bestimmten Ortes findenanalyze_commute
: Vergleichen Sie Transportmöglichkeiten zwischen Wohnort und Arbeitfind_ev_charging_stations
: Lokalisieren Sie die Ladeinfrastruktur für Elektrofahrzeuge mit Filterunganalyze_neighborhood
: Bewerten Sie die Lebensqualität in der Nachbarschaft für Immobilienfind_parking_facilities
: Suchen Sie nach Parkmöglichkeiten in der Nähe eines Ziels
Lokale Tests
Ausführen des Servers
So führen Sie den Server lokal aus:
- Installieren Sie das Paket im Entwicklungsmodus:
- Starten Sie den Server:
- Der Server wird gestartet und wartet auf MCP-Anfragen auf der Standardeingabe/-ausgabe.
Testen mit Beispielclients
Das Repository enthält zwei Beispielclients im Verzeichnis examples/
:
Einfaches Clientbeispiel
client.py
demonstriert die grundlegende Verwendung des OSM MCP-Servers:
Dies wird:
- Verbindung zum lokal laufenden Server herstellen
- Informieren Sie sich über San Francisco
- Suche nach Restaurants in der Umgebung
- Abrufen umfassender Kartendaten mit Fortschrittsverfolgung
Beispiel für eine LLM-Integration
llm_client.py
bietet eine Hilfsklasse für die LLM-Integration:
Dieses Beispiel zeigt, wie ein LLM den Location Assistant für Folgendes verwenden kann:
- Abrufen von Standortinformationen aus Textabfragen
- Suchen Sie nach interessanten Orten in der Nähe
- Wegbeschreibungen zwischen Standorten abrufen
- Finden Sie optimale Treffpunkte
- Erkunden Sie Nachbarschaften
Schreiben Sie Ihren eigenen Client
So erstellen Sie Ihren eigenen Client:
- Importieren Sie den MCP-Client:
- Initialisieren Sie den Client mit Ihrer Server-URL:
- Tools aufrufen oder auf Ressourcen zugreifen:
Claude Desktop-Konfiguration für lokalen Server
Unter MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Unter Windows: %APPDATA%/Claude/claude_desktop_config.json
Entwicklung
Erstellen und Veröffentlichen
So bereiten Sie das Paket für die Verteilung vor:
- Abhängigkeiten synchronisieren und Sperrdatei aktualisieren:
- Erstellen Sie Paketverteilungen:
Dadurch werden Quell- und Wheel-Distributionen im Verzeichnis dist/
erstellt.
- Auf PyPI veröffentlichen:
Hinweis: Sie müssen PyPI-Anmeldeinformationen über Umgebungsvariablen oder Befehlsflags festlegen.
Debuggen
Da MCP-Server über stdio laufen, kann das Debuggen eine Herausforderung darstellen. Für ein optimales Debugging empfehlen wir dringend die Verwendung des MCP Inspector .
Sie können den MCP Inspector über npm
mit diesem Befehl starten:
Beim Start zeigt der Inspector eine URL an, auf die Sie in Ihrem Browser zugreifen können, um mit dem Debuggen zu beginnen.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Erweitert die LLM-Funktionen mit standortbasierten Diensten und Geodaten und ermöglicht Benutzern, Adressen zu geokodieren, nahegelegene Sehenswürdigkeiten zu finden, Wegbeschreibungen abzurufen, Treffpunkte zu optimieren und Nachbarschaften zu analysieren.
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