Skip to main content
Glama
aviveldan

Datagov Israel MCP

by aviveldan

Servidor MCP de DataGov Israel

Un servidor MCP para explorar los datos abiertos del gobierno israelí (data.gov.il), con visualizaciones interactivas integradas impulsadas por MCP Apps.

Busque en miles de conjuntos de datos públicos, analice su estructura, genere gráficos y represente datos geográficos en mapas, todo desde su asistente de IA.

Tests Python 3.10+ License: MIT


¿Qué puede hacer con esto?

🏠 Explore el mercado inmobiliario

Analice conjuntos de datos de vivienda pública para comprender los tamaños de las unidades, las ubicaciones y la disponibilidad:

Perfil del conjunto de datos — Vivienda pública

Vea qué ciudades tienen mayor demanda en los sorteos de vivienda del gobierno:

Suscriptores de sorteos de vivienda por ciudad

Comprenda la distribución de los tamaños de los apartamentos en todo el país:

Distribución de tamaños de unidades de vivienda pública

Realice un seguimiento de la disponibilidad de unidades de vivienda a lo largo del tiempo:

Unidades de vivienda disponibles por sorteo

🗺️ Mapee la infraestructura pública

Visualice las instituciones educativas en todo Israel:

Mapa de instituciones educativas

Represente las estaciones de transporte público:

Estaciones de transporte público


Related MCP server: senado-br-mcp

Inicio rápido

Instalación

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]"

Uso con Claude Desktop

fastmcp install claude-desktop server.py

Reinicie Claude Desktop: verá las herramientas de DataGovIL disponibles de inmediato.

Pruébelo con el Inspector MCP

fastmcp dev inspector server.py

Esto abre una interfaz web donde puede explorar herramientas, probarlas de forma interactiva y obtener una vista previa de las visualizaciones de MCP App en la pestaña Apps.

Uso con fastmcp dev apps

Obtenga una vista previa de las aplicaciones de visualización interactiva localmente:

fastmcp dev apps server.py

Ejemplo: Encontrar oportunidades inmobiliarias

Aquí hay un flujo de trabajo real para alguien que explora el mercado inmobiliario israelí:

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²

Perspectiva: Ciudades como Ascalón y Sederot muestran entre 25.000 y 35.000 suscriptores por sorteo; es una competencia intensa. Las ciudades más pequeñas en la periferia (Umm al-Fahm, Nazaret) tienen muchas menos. Si es flexible con la ubicación, sus probabilidades mejoran drásticamente.


Herramientas disponibles

Herramientas de datos principales

Herramienta

Descripción

status_show

Obtener la versión de CKAN e información del sitio

license_list

Listar licencias de conjuntos de datos disponibles

package_list

Obtener todos los ID de conjuntos de datos

package_search

Buscar conjuntos de datos con filtros y ordenamiento

package_show

Obtener metadatos detallados para un conjunto de datos específico

organization_list

Listar todas las organizaciones

organization_show

Obtener detalles de una organización específica

resource_search

Buscar recursos dentro de los conjuntos de datos

datastore_search

Consultar datos dentro de un recurso específico

fetch_data

Herramienta de conveniencia: encontrar conjunto de datos por nombre y obtener sus datos

Herramientas de visualización (MCP Apps) 📊

Estas herramientas renderizan una interfaz de usuario interactiva directamente en clientes compatibles con MCP.

dataset_profile

Analice un conjunto de datos para comprender su estructura y calidad.

  • Campos detectados: entero, número, cadena, coordenada

  • Estadísticas: mín, máx, media, recuento de nulos, valores únicos

  • Salida: DataTable interactiva con búsqueda/filtro

dataset_profile(resource_id="c3a68837-9b7a-4ee7-bd92-130678dc8ae3", sample_size=200)

chart_generator

Genere gráficos interactivos a partir de cualquier conjunto de datos.

Tipo de gráfico

Caso de uso

histogram

Distribución de valores numéricos (p. ej., tamaños de apartamentos)

bar

Comparar categorías (p. ej., suscriptores por ciudad)

line

Tendencias a lo largo del tiempo (p. ej., unidades de vivienda por sorteo)

scatter

Correlaciones entre dos campos numéricos

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

Represente datos geográficos en mapas interactivos de Leaflet.

map_generator(
  resource_id="e873e6a2-66c1-494f-a677-f5e77348edb0",
  lat_field="Lat",
  lon_field="Long",
  limit=500
)

ID de recursos útiles

Aquí hay algunos conjuntos de datos interesantes para comenzar:

Conjunto de datos

ID de recurso

Útil para

✈️ Vuelos (טיסות)

e83f763b-b7d7-479e-b172-ae981ddc6de5

Gráficos de barras por aerolínea

🏠 Vivienda pública (דיור ציבורי)

c3a68837-9b7a-4ee7-bd92-130678dc8ae3

Histogramas, perfiles

🎰 Sorteos de vivienda (דירה בהנחה)

7c8255d0-49ef-49db-8904-4cf917586031

Gráficos de barras/líneas

🚌 Estaciones de transporte (תחנות)

e873e6a2-66c1-494f-a677-f5e77348edb0

Mapas (tiene Lat/Long)

🏫 Escuelas (מוסדות חינוך)

5c5d6bb0-755d-470d-84b6-d7dd3135ba9c

Mapas (UTM_X/UTM_Y)


Arquitectura

MCP Apps

Las herramientas de visualización utilizan proveedores de FastMCPApp con componentes de prefab-ui:

  • App DataProfile → Componentes DataTable, Metric

  • App ChartsBarChart, LineChart, ScatterChart, Histogram

  • App MapsEmbed con HTML de Leaflet

Las herramientas registradas a través de @app.ui() obtienen automáticamente los metadatos adecuados de MCP Apps y se renderizan en clientes compatibles.

Capa HTTP asíncrona

Todas las llamadas a la API utilizan httpx.AsyncClient con:

  • Tiempo de espera de 30 segundos

  • Reintentos automáticos para errores 5xx

  • Agrupación de conexiones (connection pooling)

Seguridad de los datos

  • Los valores numéricos de CKAN se fuerzan (maneja "25"25.0)

  • El contenido emergente del mapa se escapa en HTML para evitar XSS

  • Los gráficos de líneas se ordenan por el eje x para una representación correcta


Desarrollo

Ejecución de pruebas

pytest tests/ -v          # 39 tests
pytest tests/ --cov=datagov_mcp  # With coverage

Estilo de código

ruff check .   # Lint
ruff format .  # Format

Estructura del proyecto

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

Contribución

¡Agradecemos las contribuciones! Consulte CONTRIBUTING.md para conocer las pautas.

  1. Bifurque (fork) el repositorio

  2. Cree una rama de características

  3. Realice cambios con pruebas

  4. Envíe una solicitud de extracción (pull request)


Solución de problemas

Conflictos de puertos con el Inspector MCP

pip install nano-dev-utils
python -c "from nano_dev_utils import release_ports; release_ports.PortsRelease().release_all()"

Windows + OneDrive

Evite ejecutar la instalación en carpetas sincronizadas con OneDrive. Consulte uv#7906.

Errores de importación

uv pip install -e ".[dev]"

Licencia

MIT: consulte LICENSE.

Reconocimientos

Install Server
A
license - permissive license
B
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • data.gov.il MCP — Israel national open-data portal (CKAN API).

  • Israel Government Procurement MCP — public tenders & exemption contracts (keyless).

  • Israel Central Bureau of Statistics (CBS / הלשכה המרכזית לסטטיסטיקה) MCP.

View all MCP Connectors

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