Connects directly to Israel's official data.gov.il CKAN API, exposing the full suite of government dataset operations through MCP tools. You can search across thousands of public datasets, fetch organization details, pull datastore records, and generate interactive Vega-Lite charts or Leaflet maps from the results. Built on FastMCP with async httpx calls and includes dataset profiling tools that automatically detect field types and generate statistics. Ideal when you need to analyze Israeli government data, create visualizations from public datasets, or build applications that integrate with the national open data portal.
An MCP server for exploring Israeli government open data (data.gov.il) — with built-in interactive visualizations powered by MCP Apps.
Search thousands of public datasets, profile their structure, generate charts, and plot geographic data on maps — all from your AI assistant.
Profile public housing datasets to understand unit sizes, locations, and availability:

See which cities have the most demand in government housing lotteries:

Understand the distribution of apartment sizes across the country:

Track housing unit availability over time:

Visualize education institutions across Israel:

Plot public transport stations:

git clone https://github.com/aviveldan/datagov-mcp.git
cd datagov-mcp
# Create virtual environment and install (requires uv)
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"
fastmcp install claude-desktop server.py
Restart Claude Desktop — you'll see the DataGovIL tools available immediately.
fastmcp dev inspector server.py
This opens a web UI where you can browse tools, test them interactively, and preview MCP App visualizations in the Apps tab.
fastmcp dev appsPreview the interactive visualization apps locally:
fastmcp dev apps server.py
Here's a real workflow for someone exploring the Israeli housing market:
You: "Search for discounted housing lottery datasets"
→ package_search(q="דירה בהנחה")
Found: "נתונים תקופתיים - תכנית דירה בהנחה" (Discounted Housing Program)
Resource ID: 7c8255d0-49ef-49db-8904-4cf917586031
You: "Profile this dataset so I can understand what fields are available"
→ dataset_profile(resource_id="7c8255d0-49ef-49db-8904-4cf917586031")
Shows: LamasName (city), Subscribers, Winners, PriceForMeter,
LotteryHousingUnits, ProjectName, Neighborhood...
You: "Show me which cities have the most subscribers competing for units"
→ chart_generator(
resource_id="7c8255d0-49ef-49db-8904-4cf917586031",
chart_type="bar",
x_field="LamasName",
y_field="Subscribers",
title="Housing Lottery Subscribers by City"
)
→ Interactive bar chart rendered in MCP Apps UI
You: "Now show the public housing units — map them and show me sizes"
→ dataset_profile(resource_id="c3a68837-9b7a-4ee7-bd92-130678dc8ae3")
Shows: CityLmsName, NumOfRooms (avg 2.4), Floor, TotalArea (21-110 m²)...
→ chart_generator(
resource_id="c3a68837-9b7a-4ee7-bd92-130678dc8ae3",
chart_type="histogram",
x_field="TotalArea",
title="Distribution of Housing Unit Sizes (m²)"
)
→ Most units are 48-57 m², with a long tail up to 110 m²
Insight: Cities like Ashkelon and Sderot show 25,000-35,000 subscribers per lottery — that's intense competition. Smaller cities in the periphery (Umm al-Fahm, Nazareth) have far fewer. If you're flexible on location, your odds improve dramatically.
| Tool | Description |
|---|---|
status_show | Get CKAN version and site info |
license_list | List available dataset licenses |
package_list | Get all dataset IDs |
package_search | Search datasets with filters and sorting |
package_show | Get detailed metadata for a specific dataset |
organization_list | List all organizations |
organization_show | Get details of a specific organization |
resource_search | Search for resources within datasets |
datastore_search | Query data within a specific resource |
fetch_data | Convenience tool — find dataset by name and fetch its data |
These tools render interactive UI directly in MCP-compatible clients.
dataset_profileProfile a dataset to understand its structure and quality.
dataset_profile(resource_id="c3a68837-9b7a-4ee7-bd92-130678dc8ae3", sample_size=200)
chart_generatorGenerate interactive charts from any dataset.
| Chart Type | Use Case |
|---|---|
histogram | Distribution of numeric values (e.g., apartment sizes) |
bar | Compare categories (e.g., subscribers per city) |
line | Trends over time (e.g., housing units per lottery) |
scatter | Correlations between two numeric fields |
chart_generator(
resource_id="7c8255d0-49ef-49db-8904-4cf917586031",
chart_type="bar",
x_field="LamasName",
y_field="Subscribers",
title="Housing Lottery Subscribers by City",
limit=50
)
map_generatorPlot geographic data on interactive Leaflet maps.
map_generator(
resource_id="e873e6a2-66c1-494f-a677-f5e77348edb0",
lat_field="Lat",
lon_field="Long",
limit=500
)
Here are some interesting datasets to get started with:
| Dataset | Resource ID | Good For |
|---|---|---|
| ✈️ Flights (טיסות) | e83f763b-b7d7-479e-b172-ae981ddc6de5 | Bar charts by airline |
| 🏠 Public Housing (דיור ציבורי) | c3a68837-9b7a-4ee7-bd92-130678dc8ae3 | Histograms, profiling |
| 🎰 Housing Lotteries (דירה בהנחה) | 7c8255d0-49ef-49db-8904-4cf917586031 | Bar/line charts |
| 🚌 Transport Stations (תחנות) | e873e6a2-66c1-494f-a677-f5e77348edb0 | Maps (has Lat/Long) |
| 🏫 Schools (מוסדות חינוך) | 5c5d6bb0-755d-470d-84b6-d7dd3135ba9c | Maps (UTM_X/UTM_Y) |
Visualization tools use FastMCPApp providers with prefab-ui components:
DataProfile app → DataTable, Metric componentsCharts app → BarChart, LineChart, ScatterChart, HistogramMaps app → Embed with Leaflet HTMLTools registered via @app.ui() automatically get proper MCP Apps metadata and render in compatible clients.
All API calls use httpx.AsyncClient with:
"25" → 25.0)pytest tests/ -v # 39 tests
pytest tests/ --cov=datagov_mcp # With coverage
ruff check . # Lint
ruff format . # Format
datagov-mcp/
├── datagov_mcp/
│ ├── server.py # Core CKAN tools + provider registration
│ ├── apps.py # FastMCPApp definitions (DataProfile, Charts, Maps)
│ ├── visualization.py # Visualization tools (@app.ui entry points)
│ ├── api.py # CKAN API helper
│ └── client.py # HTTP client
├── tests/ # 39 tests with HTTP mocking
│ ├── test_api.py
│ ├── test_contracts.py
│ ├── test_tools.py
│ └── test_visualization.py
├── screenshots/ # Auto-generated demo screenshots
├── server.py # Entrypoint
└── pyproject.toml
We welcome contributions! See CONTRIBUTING.md for guidelines.
pip install nano-dev-utils
python -c "from nano_dev_utils import release_ports; release_ports.PortsRelease().release_all()"
Avoid running installation in OneDrive-synced folders. See uv#7906.
uv pip install -e ".[dev]"
MIT — see LICENSE.
com.mcparmory/google-sheets
domdomegg/google-sheets-mcp
henilcalagiya/google-sheets-mcp
cct15/war-dashboard-data
moooonad/mcp-google-sheets-full
io.github.br0ski777/csv-to-json