Maps MCP App
Provides tools for searching locations, getting location details, and listing categories using OpenStreetMap data (Nominatim geocoding and Overpass POI queries).
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Maps MCP Appfind coffee shops near Union Square"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Maps MCP App
A ChatGPT App that displays an interactive map powered by OpenStreetMap data. Users can search for locations, businesses, landmarks, and points of interest — all within a ChatGPT conversation.
Architecture
ChatGPT
↓
ChatGPT App (React + MapLibre)
↓
MCP Protocol
↓
MCP Server (Hono + Cloudflare Workers)
↓
OpenStreetMap API (Nominatim + Overpass)Related MCP server: OSM Edit MCP Server
Tech Stack
Layer | Technology |
Frontend | React 19, TypeScript, Vite, MapLibre GL JS |
Backend | Bun, Hono, MCP SDK, Zod |
Data | OpenStreetMap (Nominatim geocoding, Overpass POI queries) |
Deployment | Cloudflare Workers (server) + Cloudflare Pages (frontend) |
Validation | Shared Zod schemas across frontend and backend |
Repository Structure
├── apps/
│ ├── mcp-server/ # MCP protocol server
│ │ └── src/
│ │ ├── routes/ # Hono HTTP routes
│ │ ├── tools/ # MCP tool handlers
│ │ ├── services/ # OSM search service
│ │ └── index.ts # Cloudflare Worker entry
│ └── chatgpt-app/ # React frontend
│ └── src/
│ ├── components/ # React components
│ ├── context/ # State management
│ ├── api/ # MCP client
│ └── main.tsx # App entry
├── packages/
│ ├── shared-types/ # TypeScript types, enums, interfaces
│ └── shared-validation/ # Zod schemas (shared)
└── docs/
├── techspecs.md # Technical specification
├── implementation.md # Implementation guide
└── DEPLOYMENT.md # Deployment instructionsGetting Started
Prerequisites
Bun 1.3+
Node.js 22+ (for tooling)
Install
git clone <repo-url>
cd maps-mcp-app
bun installBuild Shared Packages
bun run --filter @maps-mcp/shared-types build
bun run --filter @maps-mcp/shared-validation buildRun Locally
Terminal 1 — MCP Server:
cd apps/mcp-server
bun run devServer starts on http://localhost:3001
Terminal 2 — Frontend:
cd apps/chatgpt-app
bun run devApp opens at http://localhost:5173
Run Tests
# All tests
bun test
# Or per package
cd packages/shared-validation && bun test
cd apps/mcp-server && bun testMCP Tools
search_locations
Search for nearby points of interest.
Input:
center—{ lat: number, lng: number }radius— meters (250, 500, 1000, 2000, 5000, 10000, 25000)category— single category (optional)categories— multiple categories (optional)text— text search (optional)limit— max results (default 50)
Output: GeoJSON FeatureCollection + list items
get_location
Get detailed information for one location.
categories
List all supported search categories.
Supported Categories
Restaurants, Coffee, Grocery, Parks, Museums
Schools, Hospitals, Hotels, EV Chargers
Features
✅ Interactive MapLibre map with OpenStreetMap tiles
✅ Search by category, text, or both
✅ Adjustable search radius with visual overlay
✅ Pin markers that highlight on click
✅ Interactive results list (click to pan/zoom)
✅ Category filter chips
✅ Light and dark mode support
✅ Responsive layout (desktop + mobile)
✅ Full Zod validation on every request/response
✅ Strict TypeScript throughout
✅ Cloudflare Workers + Pages deployment
Deployment
See Deployment Guide for instructions on deploying to Cloudflare and registering with ChatGPT.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/russianryebread/mcp-mapper'
If you have feedback or need assistance with the MCP directory API, please join our Discord server