myopendata について
myopendataは、マレーシアの公開データを調べるためのMCPサーバー兼コマンドラインツールです。データセット、ダッシュボード、統計、天気、洪水警報、交通データをキー不要で扱い、上流ツールの一部を実装しています。
主な機能
- 01データセットとダッシュボードの横断検索
- 02データセットとダッシュボードの詳細表示
- 03DOSMデータセットの取得
- 04天気予報と洪水警報
- 05GTFSの路線と停留所
- 06コマンドラインとstdio MCPサーバー
活用シーン
- 01テーマに合うデータセットやダッシュボードの検索
- 02マレーシアの天気や洪水警報の確認
- 03GTFSの公共交通路線や停留所の照会
MCP 対応
stdio MCPサーバーとして動作し、データセット、ダッシュボード、DOSMデータ、天気、警報、GTFS交通情報の検索・取得ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
16掲載時のツール一覧 · 5 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 返す結果の最大数。 |
| query | string | はい | 検索クエリのテキスト。 |
詳細
myopendata
myopendata は、マレーシアのオープンデータを読み取ります。データセットカタログとダッシュボードの統合検索、データセットとダッシュボードの詳細、マレーシア統計局(DOSM)のデータセット、天気予報と警報、洪水警報、GTFS の路線と停留所を利用できます。 1 つのバイナリで、コマンドラインインターフェースと stdio MCP サーバーの両方を提供します。
これは、文書化されたツールのうち、ラベル付きの中核サブセット(32 個中 16 個)を対象とした、クリーンルームでの再構築です。parquet、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 引数を渡してください。
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 サーバー
1 つのバイナリで両方のインターフェースを提供します。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(必須) | 1 つのデータセットの詳細。 |
list_dashboards | limit(省略可) | 利用可能なダッシュボード。 |
search_dashboards | query(必須)、limit(省略可) | クエリに一致するダッシュボード。 |
get_dashboard_details | name(必須) | 1 つのダッシュボードの詳細。 |
list_dosm_datasets | limit(省略可) | DOSM のデータセット。 |
get_dosm_dataset | id(必須) | 1 つの 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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。