Datagov Israel MCP
The DataGov Israel MCP server provides programmatic access to Israel's open government data portal (data.gov.il) with built-in analysis and visualization capabilities.
Core Capabilities:
Search & Discovery: Search thousands of public datasets by keyword with filters, sorting, and pagination; browse organizations and licenses; retrieve detailed metadata for datasets and organizations
Data Retrieval: Fetch raw data from dataset resources with pagination support, full-text search, and filtering via datastore operations
Data Analysis: Profile datasets to understand field types, identify missing values, and get statistical summaries (min, max, mean for numeric fields; top values for categorical fields)
Visualization: Generate interactive charts (histograms, bar, line, scatter plots) as Vega-Lite specifications and self-contained HTML; create geographic maps from lat/long data as GeoJSON and Leaflet HTML
Full CKAN API Coverage: Access all standard endpoints including package, organization, resource, and datastore operations; check system status and extensions
Key Features:
Async I/O with proper error handling, retries, and connection pooling
Full type safety and validation
Integration with Claude Desktop and MCP Inspector for testing and development
Support for large datasets with pagination
Allows cloning of the repository to access the MCP server code.
References GitHub for examples of other MCP servers and implementation patterns.
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., "@Datagov Israel MCPshow me the latest population statistics dataset"
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.
DataGov Israel MCP Server
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.
What Can You Do With This?
π Explore the Housing Market
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:

πΊοΈ Map Public Infrastructure
Visualize education institutions across Israel:

Plot public transport stations:

Related MCP server: Oracle MCP Server by CData
Quick Start
Installation
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]"Using with Claude Desktop
fastmcp install claude-desktop server.pyRestart Claude Desktop β you'll see the DataGovIL tools available immediately.
Try It with the MCP Inspector
fastmcp dev inspector server.pyThis opens a web UI where you can browse tools, test them interactively, and preview MCP App visualizations in the Apps tab.
Using with fastmcp dev apps
Preview the interactive visualization apps locally:
fastmcp dev apps server.pyExample: Finding Real Estate Opportunities
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.
Available Tools
Core Data Tools
Tool | Description |
| Get CKAN version and site info |
| List available dataset licenses |
| Get all dataset IDs |
| Search datasets with filters and sorting |
| Get detailed metadata for a specific dataset |
| List all organizations |
| Get details of a specific organization |
| Search for resources within datasets |
| Query data within a specific resource |
| Convenience tool β find dataset by name and fetch its data |
Visualization Tools (MCP Apps) π
These tools render interactive UI directly in MCP-compatible clients.
dataset_profile
Profile a dataset to understand its structure and quality.
Fields detected: integer, number, string, coordinate
Statistics: min, max, mean, null count, unique values
Output: Interactive DataTable with search/filter
dataset_profile(resource_id="c3a68837-9b7a-4ee7-bd92-130678dc8ae3", sample_size=200)chart_generator
Generate interactive charts from any dataset.
Chart Type | Use Case |
| Distribution of numeric values (e.g., apartment sizes) |
| Compare categories (e.g., subscribers per city) |
| Trends over time (e.g., housing units per lottery) |
| 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_generator
Plot geographic data on interactive Leaflet maps.
map_generator(
resource_id="e873e6a2-66c1-494f-a677-f5e77348edb0",
lat_field="Lat",
lon_field="Long",
limit=500
)Useful Resource IDs
Here are some interesting datasets to get started with:
Dataset | Resource ID | Good For |
βοΈ Flights (ΧΧΧ‘ΧΧͺ) |
| Bar charts by airline |
π Public Housing (ΧΧΧΧ¨ Χ¦ΧΧΧΧ¨Χ) |
| Histograms, profiling |
π° Housing Lotteries (ΧΧΧ¨Χ ΧΧΧ ΧΧ) |
| Bar/line charts |
π Transport Stations (ΧͺΧΧ ΧΧͺ) |
| Maps (has Lat/Long) |
π« Schools (ΧΧΧ‘ΧΧΧͺ ΧΧΧ ΧΧ) |
| Maps (UTM_X/UTM_Y) |
Architecture
MCP Apps
Visualization tools use FastMCPApp providers with prefab-ui components:
DataProfileapp βDataTable,MetriccomponentsChartsapp βBarChart,LineChart,ScatterChart,HistogramMapsapp βEmbedwith Leaflet HTML
Tools registered via @app.ui() automatically get proper MCP Apps metadata and render in compatible clients.
Async HTTP Layer
All API calls use httpx.AsyncClient with:
30-second timeout
Automatic retries for 5xx errors
Connection pooling
Data Safety
Numeric values from CKAN are coerced (handles
"25"β25.0)Map popup content is HTML-escaped to prevent XSS
Line charts are sorted by x-axis for correct rendering
Development
Running Tests
pytest tests/ -v # 39 tests
pytest tests/ --cov=datagov_mcp # With coverageCode Style
ruff check . # Lint
ruff format . # FormatProject Structure
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.tomlContributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
Fork the repository
Create a feature branch
Make changes with tests
Submit a pull request
Troubleshooting
Port Conflicts with MCP Inspector
pip install nano-dev-utils
python -c "from nano_dev_utils import release_ports; release_ports.PortsRelease().release_all()"Windows + OneDrive
Avoid running installation in OneDrive-synced folders. See uv#7906.
Import Errors
uv pip install -e ".[dev]"License
MIT β see LICENSE.
Acknowledgments
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
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/aviveldan/datagov-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server