myopendata
myopendata读取马来西亚的开放数据:一个跨马来西亚的统一搜索 数据集目录和仪表板,数据集和仪表板细节, 马来西亚统计局(DOSM)数据集,天气预报 警报,洪水警报,GTFS过境路线和站点。 其中一个二进制文件提供命令行接口和stdio MCP服务器。
这是一个洁净室重建,覆盖了标记的核心子集 文档化工具(32个中的16个);拼花,原始GTFS解析,到达和 不包括位置搜索工具。它不是官方的 马来西亚政府服务器。
不需要API密钥。该服务是无密钥的,所以myopendata可以工作
没有任何配置。API基URL可以被覆盖
MYOPENDATA_API_URL;未设置时,呼叫转到
https://api.data.gov.my.
安装
npx @reneturcios/myopendata list-datasets
或者运行容器镜像:
docker run -i ghcr.io/cloudcorprecords/myopendata
容器默认为MCP服务器(见下文)。通过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 成功, 1 呼叫失败时(包括
上游API错误), 2 使用错误。
MCP服务器
一个箱子能同时满足两个人的需要。这个 mcp subcommand启动stdio MCP
服务器:
npx -y @reneturcios/myopendata mcp
MCP客户端配置:
{
"mcpServers": {
"myopendata": {
"command": "npx",
"args": ["-y", "@reneturcios/myopendata", "mcp"]
}
}
}
要将服务器指向不同的兼容主机,请添加
MYOPENDATA_API_URL 给客户 env 对于这个服务器。
工具
| 工具 | 输入 | 它返回什么 |
|---|---|---|
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 (可选) | 宣传资料的数据集。 |
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.