关于 hithereiamaliff-mcp-datagovmy
hithereiamaliff-mcp-datagovmy 是用于访问马来西亚开放数据 API 的 MCP 服务,整合数据集与仪表板检索、Parquet、天气、洪水及公共交通工具;它并非马来西亚政府官方服务。
主要功能
- 01搜索数据集与仪表板
- 02获取数据集和仪表板详情
- 03解析 Parquet 文件
- 04天气、地震与洪水预警
- 05GTFS 公交数据与地点搜索
适用场景
- 01查找马来西亚政府数据集
- 02检查 Parquet 数据及相关仪表板
- 03查询天气或洪水信息
- 04查找公交线路、站点和到站信息
MCP 相关
该服务通过 MCP 端点提供马来西亚开放数据工具,包括数据集、仪表板、天气、洪水和 GTFS 操作。托管的 Streamable HTTP 端点无需 API 密钥或地理编码凭据即可使用。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://server.smithery.ai/@hithereiamaliff/mcp-datagovmy/mcpclaude mcp add --transport http ai-smithery-hithereiamaliff-mcp-datagovmy https://server.smithery.ai/@hithereiamaliff/mcp-datagovmy/mcp{"mcpServers":{"ai-smithery-hithereiamaliff-mcp-datagovmy":{"type":"http","url":"https://server.smithery.ai/@hithereiamaliff/mcp-datagovmy/mcp"}}}在 Cursor 中打开{"servers":{"ai-smithery-hithereiamaliff-mcp-datagovmy":{"type":"http","url":"https://server.smithery.ai/@hithereiamaliff/mcp-datagovmy/mcp"}}}在 VS Code 中打开{"mcpServers":{"ai-smithery-hithereiamaliff-mcp-datagovmy":{"type":"http","url":"https://server.smithery.ai/@hithereiamaliff/mcp-datagovmy/mcp"}}}{"mcpServers":{"ai-smithery-hithereiamaliff-mcp-datagovmy":{"serverUrl":"https://server.smithery.ai/@hithereiamaliff/mcp-datagovmy/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://server.smithery.ai/@hithereiamaliff/mcp-datagovmy/mcp需要授权工具
详细介绍
马来西亚开放数据 MCP
MCP 端点: https://mcp.techmavie.digital/datagovmy/mcp
分析仪表板: https://mcp.techmavie.digital/datagovmy/analytics/dashboard
用于马来西亚开放数据 API 的 MCP(模型上下文协议)服务,提供数据集、仪表板、DOSM、天气、洪水、parquet 文件和 GTFS 公共交通数据相关工具。
这不是马来西亚政府、Jabatan Digital Negara 或 Ministry of Digital 的官方 MCP 服务。
功能
- 跨数据集和仪表板统一搜索
- 从
data-gov-my/datagovmy-meta实时获取元数据 - 纯 JavaScript parquet 解析,支持原始、摘要和最新时期模式
- GTFS 静态和实时公共交通工具
- 无需凭据即可对 GTFS 位置进行地理编码
- 内置分析端点和仪表板
地理编码
GTFS 位置搜索现在仅使用 Nominatim(OpenStreetMap)。
- 无需 Google Maps、GrabMaps 或 AWS 凭据
- 托管 MCP URL 可直接使用,无需任何凭据
- 请求会受到限流并缓存,以减少对公共 Nominatim 服务的影响
- 可自托管的运营者可以选择设置
NOMINATIM_CONTACT_EMAIL
快速开始
托管服务
直接使用托管端点:
https://mcp.techmavie.digital/datagovmy/mcp
MCP 客户端配置示例:
{
"mcpServers": {
"malaysia-opendata": {
"transport": "streamable-http",
"url": "https://mcp.techmavie.digital/datagovmy/mcp"
}
}
}
无需 API 密钥或地理编码凭据。
自托管
详细的 VPS 说明请参阅 deploy/DEPLOYMENT.md。
npm install
npm run build
npm run start:http
工具概览
搜索和元数据
search_alllist_datasets_cataloguesearch_datasets_cataloguefilter_datasets_catalogueget_dataset_filtersget_dataset_detailslist_dashboardssearch_dashboardsget_dashboard_detailsget_dashboard_chartslist_dosm_datasetsget_dosm_dataset
文件和仪表板
parse_parquet_fileget_parquet_infofind_dashboard_for_parquet
天气和洪水
get_weather_forecastget_weather_warningsget_earthquake_warningsget_flood_warnings
交通和 GTFS
list_transport_agenciesget_transport_dataget_gtfs_staticget_gtfs_realtime_vehicle_positionparse_gtfs_staticparse_gtfs_realtimeget_transit_routesget_transit_stopsget_transit_arrivalssearch_transit_stops_by_locationfind_nearest_transit_stops
其他
hello
更多详情和使用指南请参阅 TOOLS.md 和 PROMPT.md。
本地开发
# Install dependencies
npm install
# Run the HTTP server in development mode
npm run dev:http
# Build and run the production server locally
npm run build
npm run start:http
# Verify the server
curl http://localhost:8080/health
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
分析
托管服务提供以下端点:
/analytics用于获取 JSON 统计数据/analytics/tools用于获取工具使用统计数据/analytics/dashboard用于访问 HTML 仪表板
配置
核心环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
PORT | 8080 | HTTP 服务端口 |
HOST | 0.0.0.0 | 绑定地址 |
API_BASE_URL | https://api.data.gov.my | 马来西亚开放数据 API 基础 URL |
CACHE_TTL | 3600000 | 元数据缓存 TTL,单位为毫秒 |
AXIOS_TIMEOUT | 30000 | HTTP 超时时间,单位为毫秒 |
GITHUB_FETCH_BATCH_SIZE | 20 | 并发获取 GitHub 元数据的数量 |
GH_PAT | empty | 可选的 GitHub 令牌,用于提高 GitHub API 速率限制 |
ANALYTICS_RESET_KEY | empty | 用于分析重置/导入端点的密钥 |
ANALYTICS_DIR | /app/data | 分析数据存储目录 |
FIREBASE_DATABASE_URL | empty | 用于持久化分析数据的 Firebase Realtime Database URL |
FIREBASE_CREDENTIALS_PATH | .credentials/firebase-service-account.json | Firebase 服务账号路径 |
NOMINATIM_CONTACT_EMAIL | empty | 可选的联系邮箱,自托管部署时会附加到 Nominatim 查询中 |
.env 示例:
GH_PAT=your_github_pat_here
[email protected]
ANALYTICS_RESET_KEY=your_analytics_reset_key_here
ANALYTICS_DIR=/app/data
FIREBASE_DATABASE_URL=your_firebase_database_url_here
FIREBASE_CREDENTIALS_PATH=.credentials/firebase-service-account.json
Nominatim 说明
该服务现在依赖公共 Nominatim 来搜索 GTFS 位置名称。代码包含:
- 自定义
User-Agent - 通过
NOMINATIM_CONTACT_EMAIL提供可选的email支持 - 串行发送请求,最低间隔为 1 秒
- 正向和负向结果缓存
如果预计地理编码请求量会持续较高,请考虑自托管兼容的地理编码服务,或通过自己获准使用的服务进行路由。
项目结构
src/
index.ts
http-server.ts
config.ts
datacatalogue.tools.ts
dashboards.tools.ts
dosm.tools.ts
flood.tools.ts
gtfs.tools.ts
parquet.tools.ts
transport.tools.ts
unified-search.tools.ts
weather.tools.ts
firebase-analytics.ts
utils/
deploy/
DEPLOYMENT.md
nginx-mcp.conf
故障排除
# Docker logs
docker compose logs -f
# Local health check
curl http://localhost:8080/health
# Hosted MCP tool list
curl -X POST https://mcp.techmavie.digital/datagovmy/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
许可证
MIT。请参阅 LICENSE。
致谢
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。