mcpField
M
Mapsi Mcp

Mapsi Mcp

Local
github.com/algolayertechnologiesMedia & Design0Updated 21w ago

About Mapsi Mcp

Mapsi Mcp is an MCP server that gives AI coding assistants access to Mapsi’s OpenStreetMap-based geospatial APIs. Its 18 tools cover address lookup, routing, spatial analysis and map outputs, including batch operations.

Key features

  1. 01Geocoding and address normalization
  2. 02Routing and reachability areas
  3. 03Travel matrices and GPS map matching
  4. 04Places, elevation and timezone lookup
  5. 05H3 cells and polygon queries
  6. 06Batch geocoding and map URLs

Use cases

  1. 01Add coordinates to address datasets
  2. 02Find nearby places or route options
  3. 03Analyze service areas around a location
  4. 04Display Mapsi tiles or static maps

MCP support

Exposes 18 Mapsi geospatial tools to MCP-compatible clients. The server authenticates API calls using the configured Mapsi API key.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"mapsi": {
"command": "npx",
"args": [
"-y",
"mapsi-mcp"
],
"env": {
"MAPSI_API_KEY": "<MAPSI_API_KEY>"
}
}
}
}
Run commandnpx -y mapsi-mcp
Environment variables to set
MAPSI_API_KEYSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmmapsi-mcp

Tools

18

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
qstringYesFull address or place name to geocode.
countriesstringNoISO 3166-1 alpha-2 country codes to bias results. Comma-separated, max 4. Pass this whenever the user's country is known.
limitintegerNoMax results to return. Default 5, max 25. Use 1 when you need a single best match.
langstringNoResponse language code (BCP 47). Default: en.
focus.latnumberNoLatitude to bias results toward (e.g. user's current location). Range: -90 to 90.
focus.lonnumberNoLongitude to bias results toward. Range: -180 to 180.

Details

From the project README

mapsi-mcp

MCP server for Mapsi — 18 geospatial tools for AI coding assistants. Connect Claude Code, Cursor, Windsurf, or any MCP-compatible IDE directly to Mapsi APIs.

OpenStreetMap-based · Self-hosted infrastructure · No Google Maps vendor lock-in

Quick Start

1. Get your API key at mapsi.dev/console/api-keys (free tier: 1,000 calls/day, no credit card)

2. Add the config to your IDE:

Claude Code / Claude Desktop

Add to ~/.claude.json (or .mcp.json in your project root):

{
  "mcpServers": {
    "mapsi": {
      "command": "npx",
      "args": ["-y", "mapsi-mcp"],
      "env": { "MAPSI_API_KEY": "msk_your_key_here" }
    }
  }
}
Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "mapsi": {
      "command": "npx",
      "args": ["-y", "mapsi-mcp"],
      "env": { "MAPSI_API_KEY": "msk_your_key_here" }
    }
  }
}
Windsurf

Add to ~/.codeium/windsurf/mcp_config.json — same JSON format as Cursor above.

VS Code + Cline

Open Cline settings → MCP Servers → Add server → paste:

{
  "mapsi": {
    "command": "npx",
    "args": ["-y", "mapsi-mcp"],
    "env": { "MAPSI_API_KEY": "msk_your_key_here" }
  }
}
Zed

Add to your Zed settings under "context_servers":

{
  "mapsi-mcp": {
    "command": { "path": "npx", "args": ["-y", "mapsi-mcp"] },
    "env": { "MAPSI_API_KEY": "msk_your_key_here" }
  }
}

3. Restart your IDE — then ask your AI in plain English.


What You Can Ask Your AI

Geocode all addresses in my CSV and add lat/lon columns
Build an address autocomplete input for this React form using Mapsi
Draw a 20-minute drive isochrone from our warehouse at this coordinate
Find the 5 nearest hospitals to this coordinate
Migrate this Google Maps geocoding call to Mapsi
Add a MapLibre map with Mapsi light tiles and drop markers from this array
Calculate a distance matrix between 10 warehouses and 50 delivery stops
Snap this GPS trace to the road network and calculate total distance

Available Tools (18)

Geocoding
ToolDescription
geocodeAddress or place name → lat/lon. Returns confidence score (0–1); treat scores below 0.6 as ambiguous.
reverse_geocodelat/lon → formatted address, street, city, postcode, country.
autocompleteReal-time address suggestions as user types (min 2 chars). For UI input fields.
normalize_addressStandardize messy/inconsistent addresses. Returns structured fields + coordinates.
timezoneIANA timezone name + UTC offset + DST status for any coordinate.
elevationAltitude in metres for any coordinate (~30m resolution globally).
Routing
ToolDescription
routeTurn-by-turn directions. Modes: auto, truck, bicycle, pedestrian, motor_scooter.
isochroneReachability polygon within N minutes or N metres. Returns GeoJSON for MapLibre/Leaflet.
matrixTravel time + distance matrix for up to 50×50 origin-destination pairs in one call.
map_matchSnap a GPS trace to the road network. Coordinates are [lon, lat] order (GeoJSON).
nearest_roadFind nearest routable road point. Call this if route returns "no route found".
Places
ToolDescription
places_searchFind nearby POIs by category (restaurant, hospital, pharmacy, ATM…). Returns name, coords, categories.
Spatial
ToolDescription
point_in_polygonAdmin hierarchy for a coordinate: country, region, city, neighbourhood.
h3_indexConvert coordinate to H3 hexagonal grid cell at resolution 0–15.
Batch
ToolDescription
batch_geocodeGeocode up to 30,000 addresses in a single call. Never loop geocode for bulk data.
batch_reverse_geocodeReverse geocode multiple coordinates in one call.
Tiles
ToolDescription
get_tile_style_urlMapLibre GL style URL. Styles: light, dark, streets, topo, grayscale, black, white, liberty.
get_static_map_urlStatic PNG map URL for use in <img> tags, emails, and PDFs.

Auth

  • API calls: X-API-Key header (handled automatically by the MCP server)
  • Tile URLs: ?key= query param (browser-safe; returned by get_tile_style_url)

Common Patterns for Agents

Geocode once, reuse the result:

Don't re-geocode the same address twice within a session. Cache the lat/lon and pass it directly to route, isochrone, and places_search.

Bulk data → batch tools:

For more than 1 address or coordinate pair, always use batch_geocode / batch_reverse_geocode.

Route fails → nearest_road first:

If route returns an error near the origin or destination, call nearest_road to snap the point to a routable road, then retry route with the snapped coordinates.

Isochrone — time vs distance:

Use contours_minutes for time-based reachability (delivery ETAs, commute zones).
Use contours_meters for fixed-radius circles on the road network.
Provide only one, not both.

Pricing

PlanCalls/dayBatch size
Free1,00010
Growth50,0005,000
BusinessUnlimited30,000

Full pricing at mapsi.dev/pricing


Links


License

MIT — algolayer.com

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.