mcpField
M
myopendata

myopendata

ローカル
github.com/CloudCorpRecords法務・行政15 日前に更新

myopendata について

myopendataは、マレーシアの公開データを調べるためのMCPサーバー兼コマンドラインツールです。データセット、ダッシュボード、統計、天気、洪水警報、交通データをキー不要で扱い、上流ツールの一部を実装しています。

主な機能

  1. 01データセットとダッシュボードの横断検索
  2. 02データセットとダッシュボードの詳細表示
  3. 03DOSMデータセットの取得
  4. 04天気予報と洪水警報
  5. 05GTFSの路線と停留所
  6. 06コマンドラインとstdio MCPサーバー

活用シーン

  1. 01テーマに合うデータセットやダッシュボードの検索
  2. 02マレーシアの天気や洪水警報の確認
  3. 03GTFSの公共交通路線や停留所の照会

MCP 対応

stdio MCPサーバーとして動作し、データセット、ダッシュボード、DOSMデータ、天気、警報、GTFS交通情報の検索・取得ツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-myopendata": {
"command": "npx",
"args": [
"-y",
"@reneturcios/myopendata"
]
}
}
}
起動コマンドnpx -y @reneturcios/myopendata

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/myopendata0.1.0
ocighcr.io/cloudcorprecords/myopendata:0.1.0

ツール

16

掲載時のツール一覧 · 5 日前に更新

パラメーター型必須説明
limitintegerいいえ返す結果の最大数。
querystringはい検索クエリのテキスト。

詳細

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_allquery(必須)、limit(省略可)データセットとダッシュボードを横断した統合検索結果。
list_datasets_cataloguelimit(省略可)データカタログ内のデータセット。
search_datasets_cataloguequery(必須)、limit(省略可)クエリに一致するカタログ内のデータセット。
get_dataset_detailsid(必須)1 つのデータセットの詳細。
list_dashboardslimit(省略可)利用可能なダッシュボード。
search_dashboardsquery(必須)、limit(省略可)クエリに一致するダッシュボード。
get_dashboard_detailsname(必須)1 つのダッシュボードの詳細。
list_dosm_datasetslimit(省略可)DOSM のデータセット。
get_dosm_datasetid(必須)1 つの DOSM データセット。
get_weather_forecastlocation(省略可)天気予報のペイロード。
get_weather_warnings(なし)現在の気象警報。
get_flood_warnings(なし)現在の洪水警報。
list_transport_agencies(なし)GTFS データを提供する交通機関。
get_transit_routesprovider(必須)、category(省略可)GTFS プロバイダーの交通路線。
get_transit_stopsprovider(必須)、category(省略可)GTFS プロバイダーの停留所。
helloname(省略可)挨拶の文字列。接続テスト用のヘルスチェック形式のツールです。

上流のドキュメントに記載されている既知の 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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。