Skip to main content
Glama

OpenStreetMap MCP Server

OpenStreetMap (OSM) MCP-Server

Eine OpenStreetMap MCP-Serverimplementierung, die LLM-Funktionen mit standortbasierten Diensten und Geodaten erweitert.

Demo

Treffpunktoptimierung

Anwendungsfall „Treffpunkt“

Nachbarschaftsanalyse

Anwendungsfall Nachbarschaftsanalyse

Parkplatzsuche

Anwendungsfall Parkplatzsuche

Installation

In MCP-Hosts wie Claude Desktop, Cursor, Windsurf usw.

  • osm-mcp-server : Der Hauptserver, der zur öffentlichen Nutzung verfügbar ist.
    "mcpServers": { "osm-mcp-server": { "command": "uvx", "args": [ "osm-mcp-server" ] } }

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 abrufen
  • location://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 Koordinaten
  • reverse_geocode : Konvertieren Sie Koordinaten in für Menschen lesbare Adressen
  • find_nearby_places : Entdecken Sie interessante Orte in der Nähe eines Standorts
  • get_route_directions : Holen Sie sich detaillierte Wegbeschreibungen zwischen Standorten
  • search_category : Finde Orte bestimmter Kategorien in einem Gebiet
  • suggest_meeting_point : Finden Sie optimale Treffpunkte für mehrere Personen
  • explore_area : Erhalten Sie umfassende Daten über eine Nachbarschaft
  • find_schools_nearby : Bildungseinrichtungen in der Nähe eines bestimmten Ortes finden
  • analyze_commute : Vergleichen Sie Transportmöglichkeiten zwischen Wohnort und Arbeit
  • find_ev_charging_stations : Lokalisieren Sie die Ladeinfrastruktur für Elektrofahrzeuge mit Filterung
  • analyze_neighborhood : Bewerten Sie die Lebensqualität in der Nachbarschaft für Immobilien
  • find_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:

  1. Installieren Sie das Paket im Entwicklungsmodus:
pip install -e .
  1. Starten Sie den Server:
osm-mcp-server
  1. 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:

python examples/client.py

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:

python examples/llm_client.py

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:

  1. Importieren Sie den MCP-Client:
from mcp.client import Client
  1. Initialisieren Sie den Client mit Ihrer Server-URL:
client = Client("http://localhost:8000")
  1. Tools aufrufen oder auf Ressourcen zugreifen:
# Example: Geocode an address results = await client.invoke_tool("geocode_address", {"address": "New York City"})
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

"mcpServers": { "osm-mcp-server": { "command": "uv", "args": [ "--directory", "/path/to/osm-mcp-server", "run", "osm-mcp-server" ] } }

Entwicklung

Erstellen und Veröffentlichen

So bereiten Sie das Paket für die Verteilung vor:

  1. Abhängigkeiten synchronisieren und Sperrdatei aktualisieren:
uv sync
  1. Erstellen Sie Paketverteilungen:
uv build

Dadurch werden Quell- und Wheel-Distributionen im Verzeichnis dist/ erstellt.

  1. Auf PyPI veröffentlichen:
uv publish

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:

npx @modelcontextprotocol/inspector uv --directory /path/to/osm-mcp-server run osm-mcp-server

Beim Start zeigt der Inspector eine URL an, auf die Sie in Ihrem Browser zugreifen können, um mit dem Debuggen zu beginnen.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

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.

  1. Demo
    1. Treffpunktoptimierung
    2. Nachbarschaftsanalyse
    3. Parkplatzsuche
  2. Installation
    1. In MCP-Hosts wie Claude Desktop, Cursor, Windsurf usw.
  3. Merkmale
    1. Komponenten
      1. Ressourcen
      2. Werkzeuge
    2. Lokale Tests
      1. Ausführen des Servers
      2. Testen mit Beispielclients
      3. Schreiben Sie Ihren eigenen Client
    3. Entwicklung
      1. Erstellen und Veröffentlichen
      2. Debuggen

    Related MCP Servers

    • -
      security
      A
      license
      -
      quality
      Enables 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 -
      26
      2
      TypeScript
      MIT License
    • A
      security
      A
      license
      A
      quality
      Enables 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 -
      5
      36
      21
      JavaScript
      MIT License
    • -
      security
      F
      license
      -
      quality
      Enables interaction with lightning addresses and common lightning tools via your LLM, providing Lightning Network functionality through natural language.
      Last updated -
      15
      1
      TypeScript
    • -
      security
      F
      license
      -
      quality
      Enables 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,008
      38
      TypeScript

    View all related MCP servers

    MCP directory API

    We provide all the information about MCP servers via our MCP API.

    curl -X GET 'https://glama.ai/api/mcp/v1/servers/jagan-shanmugam/open-streetmap-mcp'

    If you have feedback or need assistance with the MCP directory API, please join our Discord server