关于 myopendata
myopendata 是面向查询马来西亚公共数据的 MCP 服务和命令行工具,涵盖数据集、仪表板、统计、天气、洪水预警和交通数据。它将这些来源整合在一个无需密钥的程序中,但仅实现上游文档工具的部分子集。
主要功能
- 01统一搜索数据集和仪表板
- 02查看数据集和仪表板详情
- 03查询 DOSM 数据集
- 04天气预报和洪水预警
- 05GTFS 路线和站点
- 06命令行与 stdio MCP 服务
适用场景
- 01按主题查找数据集或仪表板
- 02查看马来西亚天气和洪水预警
- 03查询 GTFS 公共交通路线和站点
MCP 相关
它以 stdio MCP 服务运行,向客户端提供搜索和获取数据集、仪表板、DOSM 数据、天气、预警及 GTFS 交通信息的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
16收录的工具列表 · 更新于 5 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | 要返回的最大结果数。 |
| query | string | 是 | 搜索查询文本。 |
详细介绍
myopendata
myopendata 可读取马来西亚的开放数据:跨数据集目录和仪表板的统一搜索、数据集和仪表板详情、马来西亚统计局(DOSM)数据集、天气预报和预警、洪水预警,以及 GTFS 公共交通线路和站点。 一个二进制文件同时提供命令行界面和 stdio MCP 服务。
这是一次从头构建的实现,涵盖有文档说明的核心子集(32 个工具中的 16 个);不包括 parquet、原始 GTFS 解析、到站信息和位置搜索工具。它不是马来西亚政府的官方服务。
无需 API 密钥。此服务不需要密钥,因此无需任何配置即可使用 myopendata。可通过 MYOPENDATA_API_URL 覆盖 API 基础 URL;未设置时,调用将发送到 https://api.data.gov.my。
安装
npx @reneturcios/myopendata list-datasets
也可以运行容器映像:
docker run -i ghcr.io/cloudcorprecords/myopendata
容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。
CLI
myopendata search-all "e-payment statistics" --limit 10
myopendata list-datasets --limit 5
myopendata search-datasets population
myopendata dataset population_malaysia
myopendata list-dashboards
myopendata search-dashboards health
myopendata dashboard kawasanku
myopendata list-dosm
myopendata dosm population
myopendata weather-forecast --location "Kuala Lumpur"
myopendata weather-warnings
myopendata flood-warnings
myopendata transport-agencies
myopendata transit-routes prasarana --category rapid-rail-kl
myopendata transit-stops ktmb
myopendata hello Ada
myopendata --version
命令会输出上游 JSON 负载;hello 会输出问候字符串。退出代码:成功时为 0,调用失败(包括上游 API 错误)时为 1,用法错误时为 2。
MCP 服务
一个二进制文件提供两种用法。mcp 子命令会启动 stdio MCP 服务:
npx -y @reneturcios/myopendata mcp
MCP 客户端配置:
{
"mcpServers": {
"myopendata": {
"command": "npx",
"args": ["-y", "@reneturcios/myopendata", "mcp"]
}
}
}
若要让服务连接到其他兼容主机,请在该服务的客户端 env 中添加 MYOPENDATA_API_URL。
工具
| 工具 | 输入 | 返回内容 |
|---|---|---|
search_all | query(必填)、limit(可选) | 跨数据集和仪表板的统一搜索结果。 |
list_datasets_catalogue | limit(可选) | 数据目录中的数据集。 |
search_datasets_catalogue | query(必填)、limit(可选) | 符合查询条件的目录数据集。 |
get_dataset_details | id(必填) | 单个数据集的详情。 |
list_dashboards | limit(可选) | 可用仪表板。 |
search_dashboards | query(必填)、limit(可选) | 符合查询条件的仪表板。 |
get_dashboard_details | name(必填) | 单个仪表板的详情。 |
list_dosm_datasets | limit(可选) | DOSM 数据集。 |
get_dosm_dataset | id(必填) | 单个 DOSM 数据集。 |
get_weather_forecast | location(可选) | 天气预报负载。 |
get_weather_warnings | (无) | 当前天气预警。 |
get_flood_warnings | (无) | 当前洪水预警。 |
list_transport_agencies | (无) | 提供 GTFS 数据的交通机构。 |
get_transit_routes | provider(必填)、category(可选) | GTFS 服务提供方的公共交通线路。 |
get_transit_stops | provider(必填)、category(可选) | GTFS 服务提供方的公共交通站点。 |
hello | name(可选) | 问候字符串。用于连接测试的健康检查类工具。 |
上游文档中列出的已知 GTFS 服务提供方包括
mybas-johor、ktmb 和 prasarana;常用名称是原始服务的一项功能,本次重建不会对其进行规范化——请直接传入服务提供方 ID。
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。