Module: OvertureMaps::MCPServer

Defined in:
lib/overture_maps/mcp_server.rb

Overview

A read-only MCP (Model Context Protocol) server over Overture's public GeoParquet — no Rails app, no database. Queries stream through DuckDB with bbox pushdown, so nothing is bulk-downloaded.

overture-maps-mcp    # speaks MCP over stdio

Claude Desktop config:

{ "mcpServers": { "overture-maps": { "command": "overture-maps-mcp" } } }

Defined Under Namespace

Modules: Helpers Classes: CountFeaturesTool, ExportGeojsonTool, GeocodeTool, GersLookupTool, ListReleasesTool, QueryFeaturesTool

Constant Summary collapse

MAX_FEATURES =
100
TOOLS =
[
  GeocodeTool, QueryFeaturesTool, CountFeaturesTool,
  ExportGeojsonTool, GersLookupTool, ListReleasesTool
].freeze

Class Method Summary collapse

Class Method Details

.startObject



210
211
212
213
214
215
216
217
218
219
220
# File 'lib/overture_maps/mcp_server.rb', line 210

def self.start
  server = MCP::Server.new(
    name: "overture-maps",
    version: OvertureMaps::VERSION,
    instructions: "Query Overture Maps open geospatial data: geocode place names, fetch and " \
                  "count features (places, buildings, roads, ...), export GeoJSON, and look " \
                  "up GERS ids. Read-only; data streams from Overture's public bucket.",
    tools: TOOLS
  )
  MCP::Server::Transports::StdioTransport.new(server).open
end