Israel Hiking MCP
An unofficial, read-only MCP server exposing Israel Hiking Map data, currently in early scaffolding with only a placeholder ping tool.
README
Israel Hiking MCP
An unofficial, non-commercial, read-only MCP server exposing Israel Hiking Map / Mapeak hiking data to LLM hosts.
Status: early scaffolding (PR 2 of 9). The server speaks MCP over stdio and has its HTTP foundation — settings, typed errors, a cached and rate-capped upstream client — but still exposes only a placeholder
pingtool. Place search, route search, route details, POIs along a route, and routing all land in later PRs.
See LICENSE-NOTICE.md before using any output — the upstream data is CC BY-NC-SA 3.0 (non-commercial, share-alike) and ODbL.
Requirements
- Python 3.11+
uv
Setup
uv sync
Run
uv run israel-hiking-mcp
The server communicates over stdio and produces no stdout output of its own —
stdout is reserved for the JSON-RPC message stream. Logs go to stderr; set
IHM_LOG_LEVEL=DEBUG for verbose output.
Tests
uv run pytest
The suite runs fully offline.
Try it with MCP Inspector
npx @modelcontextprotocol/inspector uv run israel-hiking-mcp
Set the working directory to this repository, connect, open the Tools tab,
and call ping.
Use from an MCP host
Claude Desktop (claude_desktop_config.json) or any generic MCP client:
{
"mcpServers": {
"israel-hiking": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/israel-hiking-mcp", "run", "israel-hiking-mcp"]
}
}
}
Tools
| Tool | Description |
|---|---|
ping |
Liveness check returning the server version and data attribution. Placeholder; removed once real tools exist. |
Configuration
All settings are environment variables, read once at startup — an invalid value stops the server with a message naming the variable, rather than failing later inside a tool call.
| Variable | Default | Range | Purpose |
|---|---|---|---|
IHM_BASE_URL |
https://mapeak.com |
http(s) URL | API and tile host |
IHM_REQUEST_TIMEOUT_SECONDS |
10 |
0 < x ≤ 60 | Applied to connect, read, write and pool |
IHM_USER_AGENT |
israel-hiking-mcp/<version> (+repo url) |
non-empty | Sent on every request |
IHM_CACHE_TTL_SECONDS |
300 |
0–86400 | 0 disables caching |
IHM_CACHE_MAX_ENTRIES |
512 |
≥ 1 | Bounds the in-memory response cache |
IHM_MAX_CONCURRENT_REQUESTS |
4 |
1–16 | Simultaneous upstream connections |
IHM_MAX_TILES_PER_TOOL_CALL |
100 |
1–500 | Tile budget for area searches |
IHM_LOG_LEVEL |
INFO |
log level | Logs go to stderr only |
Request behaviour
Every upstream request is a GET with a timeout, capped concurrency, and a short-lived in-memory cache. A request is retried once, and only after a timeout, a connection failure, or a 5xx; 4xx responses are never retried and failures are never cached. This is a personal-scale tool pointed at a volunteer-run service — please keep it that way.
Error codes
Tool failures arrive as MCP errors whose text begins with a stable code:
invalid_input · place_not_found · route_not_found · unsupported_source ·
search_area_too_large · geometry_too_large · upstream_timeout ·
upstream_unavailable · upstream_schema_changed · rate_limited
upstream_timeout, upstream_unavailable and rate_limited are transient; the
rest will not be fixed by retrying. Upstream response bodies, URLs and
tracebacks are never included in the message — those go to the stderr log.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.