Routes Mcp Israel — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Routes Mcp Israel (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP (Model Context Protocol) server that provides real-time public transit information for Israel, combining Google Routes API, Google Places API, and GTFS data with curlbus for accurate arrival times.
Enable these APIs in your Google Cloud project:
git clone <your-repo-url>
cd routes_mcpAdd to your Claude Desktop configuration file (claude_desktop_config.json):
{
"mcpServers": {
"routes-israel": {
"command": "uv",
"args": ["--directory", "/path/to/routes_mcp", "run", "server.py"],
"env": {
"GOOGLE_API_KEY": "your_google_api_key_here",
"MAX_ROUTES": "2"
}
}
}
}Add to your Cursor configuration file. The location depends on your OS:
macOS: ~/Library/Application Support/Cursor/User/globalStorage/storage.json Linux: ~/.config/Cursor/User/globalStorage/storage.json Windows: %APPDATA%\Cursor\User\globalStorage\storage.json
Add this configuration:
{
"mcpServers": {
"routes-israel": {
"command": "uv",
"args": ["--directory", "/path/to/routes_mcp", "run", "server.py"],
"env": {
"GOOGLE_API_KEY": "your_google_api_key_here",
"MAX_ROUTES": "2"
}
}
}
}Note: If the file doesn't exist, create it with the above content.
Other MCP clients use the same protocol and similar configuration.
If you prefer traditional pip:
pip install fastmcp httpx pydanticThen use:
{
"mcpServers": {
"routes-israel": {
"command": "python",
"args": ["/path/to/routes_mcp/server.py"],
"env": {
"GOOGLE_API_KEY": "your_google_api_key_here",
"MAX_ROUTES": "2"
}
}
}
}| Variable | Required | Default | Description |
|---|---|---|---|
GOOGLE_API_KEY | ✅ Yes | - | Your Google API key with Routes and Places API enabled |
MAX_ROUTES | No | 2 | Maximum number of routes to return (for performance) |
The server provides one tool: get_route
Get transit routes from "תל אביב" to "ירושלים"{
"routes": [
[
{
"operator": "אגד",
"route_number": "405",
"departure_stop": "תחנה מרכזית תל אביב/קומה 3/רציף 16",
"arrival_stop": "תחנה מרכזית ירושלים/יעקב פת/רציף 15",
"departure_time": "17:16",
"arrival_time": "17:47",
"real_time_data": {
"arrivals": ["13 min", "28 min"],
"next_arrival": "13 min",
"status": "success"
}
}
]
]
}GOOGLE_API_KEY="your_key" uv run server.py# Test Google Routes API
curl -X POST -H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: your_key' \
-H 'X-Goog-FieldMask: routes.legs.steps.transitDetails,routes.geocodingResults' \
-d '{"languageCode":"he-IL","origin":{"address":"address1"},"destination":{"address":"address2"},"travelMode":"TRANSIT"}' \
'https://routes.googleapis.com/directions/v2:computeRoutes'
# Test Google Places API
curl -X GET -H 'X-Goog-Api-Key: your_key' \
-H 'X-Goog-FieldMask: addressComponents' \
'https://places.googleapis.com/v1/places/PLACE_ID?languageCode=he'Monitor logs for debugging:
tail -f /tmp/routes_mcp.logMAX_ROUTES (default: 2) for faster responses~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.