以色列数据政府MCP服务器
用于探索以色列政府开放数据的MCP服务器(数据.gov.il)--内置交互式可视化功能,由 MCP应用程序.
搜索数千个公共数据集,分析它们的结构,生成图表,并在地图上绘制地理数据——所有这些都可以通过你的人工智能助手完成。
  
______________________________________________________________________
你能用这个做什么?
🏠 探索住房市场
分析公共住房数据集,了解单元大小、位置和可用性:
Dataset Profile — Public Housing
看看哪些城市对政府住房彩票的需求最大:
Housing Lottery Subscribers by City
了解全国公寓面积的分布情况:
Distribution of Public Housing Unit Sizes
跟踪住房单元随时间的可用性:
Housing Units Available per Lottery
🗺️ 地图公共基础设施
想象一下以色列各地的教育机构:
规划公共交通站点:
______________________________________________________________________
快速开始
安装
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]"与Claude Desktop一起使用
fastmcp install claude-desktop server.py重新启动Claude Desktop——您将立即看到DataGovIL工具可用。
用MCP检查器试试
fastmcp dev inspector server.py这将打开一个web UI,您可以在其中浏览工具、交互式测试它们,并在 应用 选项卡。
与一起使用 fastmcp dev apps
在本地预览交互式可视化应用程序:
fastmcp dev apps server.py______________________________________________________________________
示例:寻找房地产机会
以下是探索以色列住房市场的人的真实工作流程:
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²洞察: 像阿什凯隆和斯德洛特这样的城市每彩票有25000-35000名订阅者,这是一场激烈的竞争。外围的小城市(Umm al-Fahm、Nazareth)要少得多。如果你在位置上灵活,你的几率会大大提高。
______________________________________________________________________
可用工具
核心数据工具
| 工具 | 说明 |
|---|---|
status_show | 获取CKAN版本和站点信息 |
license_list | 列出可用的数据集许可证 |
package_list | 获取所有数据集ID |
package_search | 使用过滤器和排序搜索数据集 |
package_show | 获取特定数据集的详细元数据 |
organization_list | 列出所有组织 |
organization_show | 获取特定组织的详细信息 |
resource_search | 在数据集中搜索资源 |
datastore_search | 查询特定资源中的数据 |
fetch_data | 便利工具——按名称查找数据集并获取其数据 |
可视化工具(MCP应用程序)📊
这些工具直接在MCP兼容客户端中呈现交互式UI。
dataset_profile
分析数据集以了解其结构和质量。
- 检测到字段:整数、数字、字符串、坐标
- 统计:最小值、最大值、平均值、空计数、唯一值
- 输出:具有搜索/筛选功能的交互式DataTable
dataset_profile(resource_id="c3a68837-9b7a-4ee7-bd92-130678dc8ae3", sample_size=200)chart_generator
从任何数据集生成交互式图表。
| 图表类型 | 用例 |
|---|---|
histogram | 数值分布(例如公寓面积) |
bar | 比较类别(例如,每个城市的订户) |
line | 随时间变化的趋势(例如,每次抽奖的住房单位) |
scatter | 两个数值字段之间的相关性 |
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
在交互式传单地图上绘制地理数据。
map_generator(
resource_id="e873e6a2-66c1-494f-a677-f5e77348edb0",
lat_field="Lat",
lon_field="Long",
limit=500
)______________________________________________________________________
有用的资源ID
以下是一些有趣的数据集:
| 数据集 | 资源ID | 适用 |
|---|---|---|
✈️ 航班(Flights) e83f763b-b7d7-479e-b172-ae981ddc6de5 | 航空公司柱状图 | |
🏠 公共住房(Public Housing) c3a68837-9b7a-4ee7-bd92-130678dc8ae3 | 柱状图、剖面图 | |
🎰 Housing Lotteries (公寓) 7c8255d0-49ef-49db-8904-4cf917586031 | 条形图/折线图 | |
🚌 交通站(Stations) e873e6a2-66c1-494f-a677-f5e77348edb0 | 地图(有纬度/经度) | |
🏫 学校(Schools) 5c5d6bb0-755d-470d-84b6-d7dd3135ba9c | 地图(UTM_X/UTM_Y) |
______________________________________________________________________
建筑
MCP应用程序
DataProfile应用 →DataTable,Metric组件Charts应用 →BarChart,LineChart,ScatterChart,HistogramMaps应用 →Embed带HTML传单
通过注册的工具 @app.ui() 自动获取正确的MCP Apps元数据并在兼容的客户端中呈现。
异步HTTP层
所有API调用都使用 httpx.AsyncClient 与:
- 30秒超时
- 自动重试5xx错误
- 连接池
数据安全
- CKAN中的数值被强制(句柄
"25"→25.0) - 地图弹出内容是HTML转义的,以防止XSS
- 折线图按x轴排序,以便正确渲染
______________________________________________________________________
发展
运行测试
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______________________________________________________________________
贡献
我们欢迎捐款!看 贡献.md 作为指导方针。
- 分叉存储库
- 创建要素分支
- 通过测试进行更改
- 提交拉取请求
______________________________________________________________________
故障排除
与MCP检查员的端口冲突
pip install nano-dev-utils
python -c "from nano_dev_utils import release_ports; release_ports.PortsRelease().release_all()"Windows+OneDrive
避免在OneDrive同步文件夹中运行安装。看 紫外线#7906.
导入错误
uv pip install -e ".[dev]"______________________________________________________________________
许可证
麻省理工学院——见 许可证.

