Miklat MCP: Helping AI Agents Find Public Shelters in Israel
An MCP server that enables AI agents to locate public bomb shelters (miklatim) in Israel, starting with 198 shelters in Jerusalem.
The Project
https://github.com/danielrosehill/Miklat-MCP
danielrosehill/Miklat-MCP View on GitHubLiving in Israel means that knowing where your nearest public shelter is can be genuinely important. Miklatim tziburim (public shelters) are scattered throughout cities, but finding the closest one in an emergency isn't always straightforward. I built Miklat MCP to solve this problem by making shelter location data accessible to AI agents through the Model Context Protocol (MCP).
How It Works
Miklat MCP is a Cloudflare Worker that exposes a set of MCP tools for querying shelter data. It's built with TypeScript using the Zod schema validation library and Cloudflare's Wrangler toolchain. The server is live at mcp.jlmshelters.com/mcp and can be connected to any MCP-compatible client — Claude Desktop, Claude Code, Cursor, or even ChatGPT with a bit of extra setup.
The shelter data is stored as GeoJSON, currently covering 198 public shelters in Jerusalem. Each shelter record includes the name, address, neighborhood, shelter type, capacity, accessibility status, and precise GPS coordinates.

Available Tools
The server exposes ten tools that AI agents can call. The core ones include:
find_nearest_shelters— Takes latitude/longitude and returns the closest shelters by distance, calculated using the Haversine formula built into the server code.search_shelters— Free-text search across shelter names, addresses, and neighborhoods.get_directions_link— Generates Google Maps or Waze navigation links directly to a shelter from the user's current position.filter_shelters— Filter by shelter type, minimum capacity, or accessibility status.list_neighborhoods— Lists all neighborhoods with their shelter counts, useful for understanding coverage.

Architecture and Data Pipeline
The shelter geodata is maintained separately in the Miklat-MCP-Data repository, which acts as the upstream data source. The original Jerusalem data was sourced from the JLM-Shelters-Dot-Com project and is licensed under the Open Database License (ODbL). The architecture is designed to be extensible — adding a new city means contributing a GeoJSON file to the data repo and registering it in the server's city registry.
danielrosehill/Miklat-MCP-Data View on GitHub danielrosehill/JLM-Shelters-Dot-Com View on GitHubThe Cloudflare deployment includes a WAF rule that restricts the parent domain jlmshelters.com to Israeli traffic only, while the MCP endpoint at mcp.jlmshelters.com is accessible globally — so AI agents anywhere in the world can query the data on behalf of users.
This is a practical example of how MCP can bridge the gap between public safety data and the AI tools people are already using. If you're in Israel and want to contribute shelter data for additional cities, pull requests to the data repo are welcome.